body{margin:0;font-family:Geist,system-ui,sans-serif;--bg: #f6f7f9;--surface: #ffffff;--surface2: #f1f2f5;--border: #e5e7eb;--border2: #d8dbe0;--text: #111318;--muted: #6b7280;--faint: #9ca3af;--accent: #4353ff;--green: #0d9f6e;--red: #dc2f45;--amber: #c77b14;--shadow: 0 1px 2px rgba(16, 20, 28, .06);--shadowL: 0 12px 40px rgba(16, 20, 28, .16)}body.dark{--bg: #0b0c0f;--surface: #131519;--surface2: #1a1d23;--border: #23262e;--border2: #2e323c;--text: #eceef2;--muted: #8f96a3;--faint: #5c6370;--accent: #6673ff;--green: #2fbf8f;--red: #ff5a6e;--amber: #e6a23c;--shadow: 0 1px 2px rgba(0, 0, 0, .4);--shadowL: 0 16px 48px rgba(0, 0, 0, .55)}*{box-sizing:border-box}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}input,select,button,textarea{font-family:inherit}button{cursor:pointer}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in oklab,var(--accent) 40%,transparent);outline-offset:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}[contenteditable]:focus{outline:none}.mono{font-family:Geist Mono,monospace}.fade{animation:fadeUp .2s ease}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.card-pad{padding:16px 18px}.card-head{padding:14px 18px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.h1{margin:0;font-size:20px;font-weight:650;letter-spacing:-.01em}.sub{font-size:13px;color:var(--muted)}.btn{padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px;font-weight:600}.btn:hover{background:var(--surface2)}.btn-sm{padding:6px 11px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600}.btn-sm:hover{background:var(--surface2)}.btn-primary{padding:8px 14px;border:none;border-radius:9px;background:var(--accent);color:#fff;font-size:13px;font-weight:600}.btn-primary:hover{filter:brightness(1.1)}.btn-green{padding:8px 14px;border:none;border-radius:9px;background:var(--green);color:#fff;font-size:13px;font-weight:600}.btn-green:hover{filter:brightness(1.08)}.btn-amber{padding:8px 18px;border:none;border-radius:9px;background:var(--amber);color:#fff;font-size:13px;font-weight:600}.btn-red{padding:8px 18px;border:none;border-radius:9px;background:var(--red);color:#fff;font-size:13px;font-weight:600}.btn-red-ghost{padding:7px 13px;border:1px solid var(--red);border-radius:8px;background:transparent;color:var(--red);font-size:12px;font-weight:600}.btn-red-ghost:hover{background:color-mix(in oklab,var(--red) 10%,transparent)}.input{padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px}.select{padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:13px}.pill{display:inline-block;font-size:11px;font-weight:600;padding:3px 9px;border-radius:99px;white-space:nowrap}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.tbl td{padding:11px 16px;border-bottom:1px solid var(--border);font-size:12px}.tbl tbody tr:hover{background:var(--surface2)}.row-click{cursor:pointer}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:8px;font-size:13px;font-weight:500;text-align:left;background:transparent;color:var(--muted);width:100%}.nav-item:hover{background:var(--surface2)}.nav-item.active{background:color-mix(in oklab,var(--accent) 11%,transparent);color:var(--accent)}.toggle{width:40px;height:22px;border-radius:99px;border:none;position:relative;transition:background .15s;flex-shrink:0;background:var(--border2)}.toggle.on{background:var(--accent)}.toggle .knob{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .15s}.toggle.on .knob{left:20px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0e80;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadowL);animation:fadeUp .18s ease}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 18px;border-radius:10px;font-size:13px;font-weight:600;box-shadow:var(--shadowL);z-index:60;animation:fadeUp .2s ease}.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.kpi-label{font-size:12px;font-weight:500;color:var(--muted);margin-bottom:8px}.kpi-value{font-size:24px;font-weight:650;letter-spacing:-.02em;font-family:Geist Mono,monospace}.empty-card{max-width:520px;margin:60px auto;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:36px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-box{width:360px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadowL);padding:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.blog-preview h1{font-size:22px;line-height:1.25}.blog-preview h2{font-size:17px;margin-top:1.6em}.blog-preview h3{font-size:15px}.blog-preview table{border-collapse:collapse;display:block;overflow-x:auto}.blog-preview th,.blog-preview td{border:1px solid var(--border);padding:6px 9px}.blog-preview img{max-width:100%}button:disabled{opacity:.5;cursor:not-allowed;filter:none}.shell{display:flex;height:100vh;background:var(--bg);color:var(--text);font-size:14px;overflow:hidden}.shell-body{flex:1;display:flex;flex-direction:column;min-width:0}.shell-main{flex:1;overflow-y:auto;padding:24px 28px 48px}.shell-sidebar{width:232px;flex-shrink:0;border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column}.shell-topbar{height:56px;flex-shrink:0;border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:12px;padding:0 20px;position:relative;z-index:30}.shell-menu-btn{display:none;width:34px;height:34px;padding:0;align-items:center;justify-content:center;color:var(--muted)}.shell-backdrop{display:none}.split-side{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.split-side-280{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:14px;align-items:start}.split-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.split-3-2{display:grid;grid-template-columns:3fr 2fr;gap:14px}.split-2-1{display:grid;grid-template-columns:2fr 1fr;gap:14px}.modal{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}.login-box{max-width:calc(100vw - 32px)}@media (max-width: 900px){.shell-menu-btn{display:inline-flex}.shell-crumb{display:none}.shell-topbar{padding:0 12px;gap:8px}.shell-main{padding:16px 16px 40px}.shell-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:70;transform:translate(-100%);transition:transform .18s ease;box-shadow:var(--shadowL)}.shell-sidebar.open{transform:none}.shell-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#080a0e73;z-index:65}.split-side,.split-side-280,.split-2,.split-3-2,.split-2-1{grid-template-columns:minmax(0,1fr)}.split-side>:last-child,.split-side-280>:last-child{position:static!important}.g3,.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g2{grid-template-columns:minmax(0,1fr)}.card{overflow-x:auto}.empty-card{margin:24px auto;padding:24px 18px}}@media (max-width: 560px){.g3{grid-template-columns:minmax(0,1fr)}.g4{gap:10px}.h1{font-size:18px}}@media (prefers-reduced-motion: reduce){.shell-sidebar{transition:none}}
