*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080808;--surface:#111;--surface2:#1a1a1a;--border:#252525;--accent:#fff;--accent-dim:#a0a0a0;--text:#f0f0f0;--muted:#555;--danger:#ef4444;--success:#22c55e;--info:#3b82f6;--radius:12px;--sidebar-w:240px}:root[data-theme=light]{--bg:#f5f5f5;--surface:#fff;--surface2:#eee;--border:#e0e0e0;--accent:#111;--accent-dim:#555;--text:#111;--muted:#888}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:sans-serif;font-size:14px;line-height:1.6}h1,h2,h3,h4,h5{font-family:sans-serif}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.app-layout{height:100vh;display:flex;overflow:hidden}.app-main{background:var(--bg);flex:1;padding:32px 36px;overflow:auto}.sidebar-overlay{z-index:40;background:#00000080;display:none;position:fixed;inset:0}.mobile-topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:30;justify-content:space-between;align-items:center;padding:14px 20px;display:none;position:sticky;top:0}.grid-4{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-2-col{grid-template-columns:380px 1fr;gap:24px;display:grid}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-wrap table{width:100%;min-width:600px}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.app-main{padding:24px 20px}}@media (width<=768px){.sidebar-close-btn{display:flex!important}.app-layout{flex-direction:column}.app-sidebar{z-index:50;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.mobile-topbar{display:flex}.app-main{padding:20px 16px}.grid-4{grid-template-columns:repeat(2,1fr);gap:12px}.grid-3,.grid-2,.grid-2-col{grid-template-columns:1fr}}@media (width<=480px){.grid-4{grid-template-columns:1fr}.app-main{padding:16px 12px}}
