:root{
  --bg:#f4f7fb;
  --sidebar:#101828;
  --card:#ffffff;
  --border:#e5e7eb;
}
body{background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#111827}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:260px;background:linear-gradient(180deg,#111827,#0f172a);color:#fff;padding:24px;position:sticky;top:0;height:100vh}
.sidebar .brand{font-size:1.5rem;font-weight:800;letter-spacing:.06em;margin-bottom:24px}
.sidebar .nav-link{color:rgba(255,255,255,.85);padding:10px 12px;border-radius:12px}
.sidebar .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.main-content{flex:1;padding:28px}
.main-content.no-sidebar{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#eef4ff,#f7f9fc)}
.topbar{background:#fff;border:1px solid var(--border);padding:18px 20px;border-radius:18px;box-shadow:0 8px 30px rgba(15,23,42,.05)}
.card{border-radius:18px;border:1px solid var(--border)}
.stat-card{box-shadow:0 8px 28px rgba(15,23,42,.05)}
.stat-label{color:#6b7280;font-size:.9rem}
.stat-value{font-size:2rem;font-weight:800}
.login-wrap{width:100%;max-width:460px;padding:24px}
.login-card{border-radius:24px}
.code-area{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;min-height:260px}
.table> :not(caption)>*>*{padding:1rem .9rem}
@media (max-width:992px){.sidebar{width:88px;padding:18px}.sidebar .brand{font-size:1rem}.sidebar .nav-link{font-size:0}.sidebar .nav-link::first-letter{font-size:1rem}}
@media (max-width:768px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:relative}.main-content{padding:16px}.topbar{padding:14px}}
