@charset "UTF-8";:root{--accent: #ec5e29;--accent-hover: #d94f1f;--accent-soft: rgba(236, 94, 41, .12);--brand-navy: #244a73;--sidebar-bg: #0c0c0e;--sidebar-border: #1d1d20;--sidebar-hover: #1a1a1d;--sidebar-active: #201d1a;--sidebar-text: #d3d4d8;--sidebar-text-dim: #6c6e74;--sidebar-section: #5a5c62;--bg: #ffffff;--bg-subtle: #fafafa;--panel: #ffffff;--text: #14151a;--text-muted: #6b7280;--text-faint: #9ca3af;--border: #ececef;--border-strong: #dcdce0;--green: #16a34a;--green-bg: #e8f6ec;--red: #c0392b;--red-bg: #fdecec;--amber: #b45309;--amber-bg: #fef3e2;--blue: #2563eb;--blue-bg: #e8f0fe;--gray-bg: #f1f2f4;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);--shadow-lg: 0 10px 30px rgba(16, 24, 40, .12);--sidebar-w: 232px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em}button{font-family:inherit;cursor:pointer}.page{max-width:1180px;margin:0 auto;padding:8px 4px 64px}.page-title{font-size:34px;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.page-subtitle{color:var(--text-muted);margin:0 0 22px;max-width:760px}.btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-strong);background:var(--panel);color:var(--text);border-radius:var(--radius-sm);padding:9px 15px;font-size:14px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}.btn:hover{background:var(--bg-subtle)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{font-weight:700;font-size:15px;padding:16px 20px;border-bottom:1px solid var(--border)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kv{display:flex;flex-direction:column;gap:3px}.kv .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);font-weight:600}.kv .v{font-size:14px}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}table.tbl{width:100%;border-collapse:collapse}table.tbl thead th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);font-weight:600;padding:14px 18px;border-bottom:1px solid var(--border);white-space:nowrap}table.tbl tbody td{padding:15px 18px;border-bottom:1px solid var(--border);font-size:14px;vertical-align:middle}table.tbl tbody tr:last-child td{border-bottom:none}.td-strong{font-weight:600}.td-muted{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.badge.green{background:var(--green-bg);color:var(--green)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.gray{background:var(--gray-bg);color:var(--text-muted)}.muted{color:var(--text-muted)}.mono{font-family:SFMono-Regular,ui-monospace,Menlo,monospace}.empty{padding:60px 20px;text-align:center;color:var(--text-faint)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.stat .label{font-size:12px;color:var(--text-muted);font-weight:600}.stat .num{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-top:6px}.stat .sub{font-size:12px;color:var(--text-faint);margin-top:2px}.layout{display:flex;min-height:100vh;min-height:100dvh}.topbar{display:none}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);color:var(--sidebar-text);display:flex;flex-direction:column;padding:20px 12px;flex:none}.sidebar .brand{font-weight:800;font-size:20px;letter-spacing:-.02em;color:#fff;padding:6px 10px 20px;background:none;border:0;text-align:left}.sidebar .brand .dot{color:var(--accent)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar .nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:40px;border-radius:var(--radius-sm);color:var(--sidebar-text);font-weight:500;transition:background .12s,color .12s;border:0;background:none;text-align:left;font-family:inherit;font-size:inherit;cursor:pointer}.sidebar .nav-item:hover{background:var(--sidebar-hover);color:#fff}.sidebar .nav-item.active{background:var(--sidebar-active);color:var(--accent)}.sidebar .section-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-section);margin:18px 12px 6px;font-weight:700}.sidebar-footer{margin-top:auto;padding-top:20px}.sidebar-footer .user-info{padding:8px 12px;color:var(--sidebar-text-dim);font-size:12px}.sidebar-footer .user-info .user-email{color:var(--sidebar-section)}.sidebar-footer .logout{width:100%}.main{flex:1;min-width:0;padding:32px 40px}@media(max-width:860px){.layout{display:block;padding-top:56px;padding-top:calc(56px + env(safe-area-inset-top,0px))}.topbar{display:flex;align-items:center;gap:10px;position:fixed;top:0;left:0;right:0;height:56px;padding:0 12px;padding-top:env(safe-area-inset-top,0px);height:calc(56px + env(safe-area-inset-top,0px));background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);color:#fff;z-index:40}.topbar .hamburger{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#fff;border-radius:var(--radius-sm);cursor:pointer}.topbar .hamburger:active{background:var(--sidebar-hover)}.topbar-brand{font-weight:800;font-size:18px;letter-spacing:-.02em}.topbar-brand .dot{color:var(--accent)}.topbar-spacer{flex:1}.backdrop{position:fixed;inset:0;background:#0006;z-index:45;border:0;padding:0;cursor:pointer}.sidebar{position:fixed;top:0;bottom:0;left:0;width:min(300px,82vw);z-index:50;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-100%);transition:transform .22s ease;box-shadow:0 20px 40px #0000004d}.sidebar.open{transform:translate(0)}.sidebar .nav-item{padding:12px 14px;min-height:46px}.main{padding:16px;padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.grid-2,.grid-3,.stat-grid{grid-template-columns:1fr;gap:12px}.page-title{font-size:26px;margin-bottom:6px}.page-subtitle{margin-bottom:16px;font-size:14px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.btn{min-height:40px}}@media(max-width:520px){.stat-grid{grid-template-columns:1fr}.stat .num{font-size:24px}.main{padding:12px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}
