@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600;700&display=swap";:root{--bg: #0a0d12;--bg2: #0f1318;--bg3: #161c24;--bg4: #1e2733;--border: rgba(255,255,255,.07);--border2: rgba(255,255,255,.12);--text: #e2e8f0;--text2: #94a3b8;--text3: #64748b;--accent: #22c55e;--red: #ef4444;--yellow: #facc15;--blue: #3b82f6;--purple: #a855f7;--orange: #f97316;--font-body: "Space Grotesk", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 10px;--radius-lg: 16px;--sidebar-width: 220px;--scrollbar-track: var(--bg2);--scrollbar-thumb: color-mix(in srgb, var(--text3) 55%, var(--bg4));--scrollbar-thumb-hover: var(--text3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;border:2px solid var(--scrollbar-track)}*::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}#root{height:100%;min-height:100vh;display:flex;flex-direction:column}.admin-shell{display:flex;height:100vh;overflow:hidden}.admin-sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.admin-main{flex:1;min-width:0;overflow-y:auto;background:var(--bg);display:flex;flex-direction:column}.sidebar-logo{padding:20px 16px 16px;border-bottom:1px solid var(--border)}.sidebar-logo-title{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:2px;color:var(--accent)}.sidebar-logo-sub{font-size:10px;color:var(--text3);letter-spacing:1px;text-transform:uppercase;margin-top:2px}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:12px 8px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);border:none;background:transparent;color:var(--text3);font-family:var(--font-body);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;text-align:left;width:100%}.sidebar-item:hover{background:var(--bg3);color:var(--text2)}.sidebar-item.active{background:#22c55e1a;color:var(--accent)}.sidebar-item.active .sidebar-icon{color:var(--accent)}.sidebar-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.sidebar-footer{padding:12px 8px;border-top:1px solid var(--border)}.sidebar-user{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius);font-size:12px}.sidebar-user-email{color:var(--text3);font-size:11px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text3);font-size:11px;padding:4px 10px;cursor:pointer;transition:all .15s;white-space:nowrap}.sidebar-logout:hover{border-color:var(--red);color:var(--red)}.screen-header{padding:20px 24px 16px;border-bottom:1px solid var(--border);background:var(--bg2)}.screen-header h1{font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--accent);letter-spacing:1px}.screen-header p{font-size:12px;color:var(--text3);margin-top:4px}.screen-body{padding:20px 24px;flex:1}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{background:var(--bg3);padding:10px 14px;text-align:left;font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;border-bottom:1px solid var(--border);white-space:nowrap}.admin-table td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text2);vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--bg3)}.admin-table td.mono{font-family:var(--font-mono);font-size:12px}.admin-table td.uid{font-family:var(--font-mono);font-size:10px;color:var(--text3);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:600;font-family:var(--font-mono)}.badge-green{background:#22c55e1f;color:var(--accent)}.badge-blue{background:#3b82f61f;color:var(--blue)}.badge-yellow{background:#facc151f;color:var(--yellow)}.badge-red{background:#ef44441f;color:var(--red)}.badge-gray{background:var(--bg4);color:var(--text3)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:20px}.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.stat-card-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;font-family:var(--font-mono)}.stat-card-value{font-size:24px;font-weight:700;font-family:var(--font-mono);color:var(--text);margin-top:6px}.stat-card-value.accent{color:var(--accent)}.search-bar{display:flex;align-items:center;gap:8px;margin-bottom:16px}.search-input{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text);font-family:var(--font-body);font-size:13px;width:280px;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--accent)}.search-input::placeholder{color:var(--text3)}.tab-bar{display:flex;gap:4px;margin-bottom:20px;background:var(--bg2);border-radius:8px;padding:4px;width:fit-content;border:1px solid var(--border)}.tab-btn{padding:6px 16px;border:none;background:transparent;color:var(--text3);font-family:var(--font-mono);font-size:11px;font-weight:600;cursor:pointer;border-radius:6px;transition:all .15s;letter-spacing:.5px}.tab-btn.active{background:var(--accent);color:#000}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal-box{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius-lg);padding:24px;max-width:560px;width:100%;max-height:80vh;overflow-y:auto}.modal-title{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--accent);margin-bottom:16px}.modal-close{float:right;background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer}.modal-row{display:flex;gap:8px;margin-bottom:10px;font-size:13px}.modal-row .label{color:var(--text3);min-width:110px;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-mono);padding-top:1px}.modal-row .value{color:var(--text);flex:1;word-break:break-all}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text3);font-family:var(--font-mono);font-size:13px}.spinner{width:18px;height:18px;border:2px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{padding:40px;text-align:center;color:var(--text3);font-size:13px}.bar-chart{display:flex;flex-direction:column;gap:8px}.bar-row{display:flex;align-items:center;gap:10px;font-size:12px}.bar-label{width:140px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.bar-track{flex:1;background:var(--bg3);border-radius:4px;height:10px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .4s ease;min-width:2px}.bar-val{width:60px;text-align:right;color:var(--text3);font-family:var(--font-mono);font-size:11px}.filter-select{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:7px 12px;color:var(--text2);font-family:var(--font-mono);font-size:11px;cursor:pointer}.filter-select:focus{outline:none;border-color:var(--accent)}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;text-align:center;padding:24px}.access-denied h2{font-family:var(--font-mono);font-size:20px;color:var(--red)}.access-denied p{color:var(--text3);font-size:14px}.access-denied button{margin-top:8px;padding:10px 24px;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;color:var(--text2);font-size:13px;cursor:pointer}.access-denied button:hover{border-color:var(--accent);color:var(--accent)}
