:root{color:#1d2433;background:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:1120px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}table{width:100%;border-collapse:collapse}th,td{padding:13px 14px;border-bottom:1px solid #edf1f7;text-align:left;vertical-align:middle}th{color:#6d7788;font-size:12px;font-weight:700;background:#fafbfd}td{color:#283244;font-size:13px}td p{max-width:360px;margin:4px 0 0;overflow:hidden;color:#7b8494;font-size:12px;text-overflow:ellipsis;white-space:nowrap}tbody tr{transition:background .16s ease}tbody tr:hover{background:#f7fbff}.boot-screen,.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#eaf4ff,#f8fafc 52%,#eef2f7)}.login-card{width:420px;padding:34px;border:1px solid #e6edf7;border-radius:12px;background:#fffffff0;box-shadow:0 20px 50px #1f2a3d1f}.login-card h1,.content h1{margin:0;color:#111827;font-size:24px;line-height:1.25}.login-card label{margin-top:18px;display:flex;flex-direction:column;gap:8px;color:#4b5563;font-size:13px;font-weight:700}.login-card input,.toolbar input,.toolbar select{height:40px;padding:0 12px;border:1px solid #d8e0eb;border-radius:8px;background:#fff;color:#111827;outline:none}.login-card input:focus,.toolbar input:focus,.toolbar select:focus{border-color:#0a84ff;box-shadow:0 0 0 3px #0a84ff1f}.primary-button,.toolbar button,.topbar-actions button,.drawer-actions button,.pagination button{height:40px;padding:0 15px;border:0;border-radius:8px;background:#0a84ff;color:#fff;font-weight:800}.admin-shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;border-right:1px solid #e5edf7;background:#fff}.brand{padding:0 8px 22px;display:flex;flex-direction:column;gap:3px}.brand span{color:#111827;font-size:18px;font-weight:900}.brand strong,.eyebrow{margin:0 0 6px;color:#0a84ff;font-size:12px;font-weight:800;letter-spacing:0}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{height:42px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#566174;text-align:left}.sidebar nav button.active{background:#eef6ff;color:#0a66c2;font-weight:800}.content{min-width:0;padding:24px}.topbar{margin-bottom:22px;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;align-items:center;gap:12px;color:#697386;font-size:13px}.topbar-actions button,.pagination button,.drawer-actions button{background:#eef4fb;color:#1f2937}.page-stack{display:flex;flex-direction:column;gap:16px}.content-head h1{margin:0;font-size:20px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat-card,.panel{border:1px solid #e5edf7;border-radius:10px;background:#fff;box-shadow:0 8px 20px #1f2a3d0a}.stat-card{padding:17px;display:flex;flex-direction:column;gap:8px}.stat-card span{color:#697386;font-size:13px}.stat-card strong{color:#111827;font-size:26px}.panel{overflow:hidden}.panel h2,.panel h3,.drawer h3{margin:0;padding:16px 18px 12px;color:#111827;font-size:16px}.panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.status-list{padding:0 18px 18px;display:flex;flex-direction:column;gap:10px}.status-list div{display:flex;align-items:center;justify-content:space-between;color:#697386}.badge{display:inline-flex;align-items:center;height:24px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.success{background:#e8f7ee;color:#1f7a42}.badge.warning{background:#fff5df;color:#9a5a00}.badge.danger{background:#fff0f1;color:#c62828}.badge.muted{background:#edf2f7;color:#64748b}.toolbar{padding:12px;display:flex;gap:10px;border:1px solid #e5edf7;border-radius:10px;background:#fff}.toolbar input{width:320px}.toolbar select{width:150px}.empty-state{padding:36px;color:#8a94a3;text-align:center}.error-box{margin:12px 0;padding:12px 14px;border:1px solid #ffd4d8;border-radius:8px;background:#fff5f6;color:#c62828}.pagination{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;color:#697386;font-size:13px}.pagination-actions{display:flex;gap:8px}.truncate{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-backdrop{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end;background:#0f172a47}.drawer{width:720px;height:100vh;overflow:auto;background:#fff;box-shadow:-18px 0 40px #1f2a3d2e}.drawer-head{position:sticky;top:0;z-index:2;padding:20px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e5edf7;background:#fffffff5}.drawer-head h2{margin:0;font-size:20px}.icon-button{width:36px;height:36px;border:0;border-radius:50%;background:#f2f5f9;color:#64748b;font-size:22px}.drawer-body{padding:18px 20px 28px;display:flex;flex-direction:column;gap:18px}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.detail-grid div{padding:12px;border:1px solid #e5edf7;border-radius:8px;background:#fafbfd}.detail-grid span{display:block;margin-bottom:6px;color:#7b8494;font-size:12px}.detail-grid strong{color:#1f2937;font-size:13px;word-break:break-all}.drawer-actions{display:flex;gap:10px}.stack-list{display:flex;flex-direction:column;gap:10px}.stack-item{padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;border:1px solid #e5edf7;border-radius:8px;background:#fff}.stack-item strong{color:#1f2937}.stack-item p{max-width:420px;margin:5px 0 0;overflow:hidden;color:#7b8494;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stack-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;color:#697386;font-size:12px}
