:root{--bg:#F7F8FA;--surface:#FFFFFF;--surface-2:#F1F3F6;--line:#E2E6EC;--line-strong:#CBD2DC;--ink:#101828;--ink-2:#344054;--muted:#667085;--muted-2:#98A2B3;--accent:#2E5BFF;--accent-ink:#FFFFFF;--accent-soft:#EAF0FF;--ok:#067647;--ok-soft:#E6F4EA;--warn:#B54708;--warn-soft:#FEF3E7;--err:#B42318;--err-soft:#FEECEB;--radius:8px;--radius-sm:6px;--shadow-1:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.10);--shadow-2:0 4px 12px rgba(16,24,40,.08);--sidebar-w:244px;--header-h:56px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.ms-shell{display:flex;min-height:100vh}.ms-sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto}.ms-brand{height:var(--header-h);display:flex;align-items:center;gap:8px;padding:0 16px;border-bottom:1px solid var(--line);font-weight:700;letter-spacing:-.01em}.ms-brand-mark{width:22px;height:22px;border-radius:5px;background:var(--accent);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}.ms-nav{padding:10px 8px;display:flex;flex-direction:column;gap:1px}.ms-nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-2);padding:12px 8px 4px;font-weight:600}.ms-nav a{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--radius-sm);color:var(--ink-2);font-weight:500}.ms-nav a:hover{background:var(--surface-2);text-decoration:none}.ms-nav a[data-active=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.ms-nav .ms-count{font-size:11px;color:var(--muted);background:var(--surface-2);padding:1px 6px;border-radius:999px}.ms-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.ms-header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:10}.ms-header h1{font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.ms-content{padding:20px;flex:1 1}.ms-content-narrow{max-width:880px}.ms-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1)}.ms-card-head{padding:13px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.ms-card-head h2{font-size:14px;font-weight:600;margin:0}.ms-card-body{padding:16px}.ms-grid{display:grid;grid-gap:14px;gap:14px}.ms-grid-4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.ms-grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.ms-stat{padding:14px 16px}.ms-stat-label{font-size:12px;color:var(--muted);font-weight:500}.ms-stat-value{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:3px}.ms-stat-sub{font-size:12px;color:var(--muted-2);margin-top:2px}.ms-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font:inherit;font-weight:500;cursor:pointer}.ms-btn:hover:not(:disabled){background:var(--surface-2)}.ms-btn:disabled{opacity:.5;cursor:not-allowed}.ms-btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ms-btn-primary:hover:not(:disabled){background:#2549D6}.ms-btn-danger{color:var(--err);border-color:#F3C2BE}.ms-btn-danger:hover:not(:disabled){background:var(--err-soft)}.ms-btn-sm{padding:4px 9px;font-size:13px}.ms-input,.ms-select,.ms-textarea{width:100%;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit}.ms-input:focus,.ms-select:focus,.ms-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ms-field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}.ms-field label{font-size:13px;font-weight:500;color:var(--ink-2)}.ms-hint{font-size:12px;color:var(--muted)}.ms-error{font-size:12px;color:var(--err)}.ms-table{width:100%;border-collapse:collapse;font-size:13px}.ms-table th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.03em;padding:9px 14px;background:var(--surface-2)}.ms-table td,.ms-table th{border-bottom:1px solid var(--line)}.ms-table td{padding:10px 14px;vertical-align:middle}.ms-table tr:last-child td{border-bottom:none}.ms-table tr:hover td{background:#FCFCFD}.ms-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ms-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.ms-badge-ok{background:var(--ok-soft);color:var(--ok)}.ms-badge-warn{background:var(--warn-soft);color:var(--warn)}.ms-badge-err{background:var(--err-soft);color:var(--err)}.ms-badge-mute{background:var(--surface-2);color:var(--muted)}.ms-empty{padding:40px 16px;text-align:center;color:var(--muted)}.ms-empty h3{font-size:14px;color:var(--ink-2);margin:0 0 4px}.ms-skel{background:linear-gradient(90deg,var(--surface-2) 25%,#E9ECF1 50%,var(--surface-2) 75%);background-size:200% 100%;animation:ms-shimmer 1.3s infinite;border-radius:4px;height:14px}@keyframes ms-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ms-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ms-toolbar .ms-input{width:auto;min-width:200px}.ms-spacer{flex:1 1}.ms-toast-wrap{position:fixed;right:16px;bottom:16px;z-index:100;display:flex;flex-direction:column;gap:8px}.ms-toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:13px;max-width:380px}.ms-toast-err{background:var(--err)}.ms-login{min-height:100vh;display:grid;place-items:center;padding:20px}.ms-login-card{width:100%;max-width:380px}@media (max-width:820px){.ms-shell{flex-direction:column}.ms-sidebar{width:100%;flex:none;height:auto;position:static;border-right:none;border-bottom:1px solid var(--line)}.ms-nav{flex-direction:row;overflow-x:auto;padding:8px}.ms-nav a{white-space:nowrap}.ms-nav-label{display:none}.ms-content{padding:14px}}