:root{--bg: #121714;--bg-inset: #0D110E;--bg-raised: #1B211C;--bg-hover: #232A25;--border: #2A322C;--border-strong: #3A443C;--text: #EDEBE4;--text-dim: #A9B1A9;--text-faint: #7E877F;--accent: #4FA383;--accent-strong: #6FBF9F;--on-accent: #0D110E;--red: #D66161;--red-muted: rgba(214, 97, 97, .13);--amber: #C98F2E;--radius: 10px;--radius-sm: 8px;color-scheme:dark}:root[data-theme=light]{--bg: #F7F5F0;--bg-inset: #EFECE4;--bg-raised: #FFFFFF;--bg-hover: #EFECE4;--border: #E4E0D5;--border-strong: #C9C4B6;--text: #191C1A;--text-dim: #5C635C;--text-faint: #8A9089;--accent: #1E6B54;--accent-strong: #14503E;--on-accent: #F7F5F0;--red: #C24141;--red-muted: rgba(194, 65, 65, .1);--amber: #A76B0B;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5}h1{font-size:20px;margin:0}h1 .accent{color:var(--accent-strong);font-weight:600}h3.group-title{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:26px 0 10px}h4{color:var(--text-dim);font-size:13px;margin:18px 0 6px}.muted{color:var(--text-dim)}.error{color:var(--red)}.btn{background:var(--bg-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:8px 14px;font-size:14px;cursor:pointer}.btn:hover{background:var(--bg-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.active,.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.active:hover,.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn-sm{padding:5px 11px;font-size:13px;border-radius:var(--radius-sm)}.btn-danger{color:var(--red)}.btn-danger:hover{background:var(--red-muted);border-color:var(--red)}.btn-icon{padding:8px 11px;font-size:15px;line-height:1}input,textarea,select{background:var(--bg-inset);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;font-size:14px;width:100%;font-family:inherit}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}.auth-theme-toggle{position:absolute;top:20px;right:24px}.auth-card{width:380px;max-width:100%;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:32px 28px;text-align:center}.auth-form{display:flex;flex-direction:column;gap:14px;text-align:left;margin-top:20px}.auth-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px}.google-signin{display:flex;justify-content:center}.shell{max-width:1040px;margin:0 auto;padding:20px 24px 60px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.header-right{display:flex;align-items:center;gap:12px}.tabs{display:flex;gap:2px;background:var(--bg-inset);border-radius:var(--radius);padding:3px;margin-bottom:22px;width:fit-content}.tab{background:none;border:none;color:var(--text-dim);padding:8px 18px;border-radius:8px;font-size:14px;cursor:pointer}.tab:hover{color:var(--text)}.tab.active{color:var(--text);background:var(--bg-hover);font-weight:600}.stat-row{display:flex;gap:12px;flex-wrap:wrap}.stat{flex:1 1 140px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat-label{color:var(--text-dim);font-size:12px}.stat-value{font-size:26px;font-weight:650;margin-top:2px;font-variant-numeric:tabular-nums}.chart{margin:22px 0 0;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 8px;position:relative}.chart figcaption{color:var(--text-dim);font-size:13px;margin-bottom:6px}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--border);stroke-dasharray:2 4}.chart-axis{stroke:var(--border-strong)}.chart-tick{fill:var(--text-faint);font-size:10px}.chart-value{fill:var(--text);font-size:11px;font-weight:600}.chart-tooltip{position:absolute;top:10px;right:14px;background:var(--bg-inset);border:1px solid var(--border-strong);border-radius:8px;padding:4px 10px;font-size:12px;color:var(--text-dim)}.chart-tooltip strong{color:var(--text)}.filter-row{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.filter-row input{width:260px}.actions-cell{display:flex;flex-direction:column;gap:8px;min-width:340px}.action-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.action-label{flex:0 0 54px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.action-group input[type=number]{width:66px}.reset-options{flex-basis:100%;display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:10px 12px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.reset-options label{display:flex;align-items:center;gap:8px;font-size:13px}.reset-options .btn{align-self:flex-start;margin-top:2px}.notice{color:var(--text-faint);font-size:12px}.identity{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;overflow:hidden}.identity-head{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;background:none;border:none;color:var(--text);padding:12px 16px;font-size:14px;cursor:pointer;text-align:left}.identity-head:hover{background:var(--bg-hover)}.identity-email{font-weight:600;overflow-wrap:anywhere}.identity-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.badge{background:var(--bg-inset);border:1px solid var(--border);color:var(--text-dim);border-radius:999px;padding:1px 9px;font-size:11.5px;white-space:nowrap}.badge-owner{color:var(--accent-strong);border-color:var(--accent)}.badge-warn{color:var(--amber);border-color:var(--amber)}.badge-active{color:var(--accent-strong);border-color:var(--accent)}.identity-body{padding:0 16px 14px;border-top:1px solid var(--border)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--text-faint);font-weight:500;padding:6px 10px 4px 0;border-bottom:1px solid var(--border)}td{padding:8px 10px 8px 0;border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:top}td:first-child{color:var(--text)}.table-view{margin-top:18px}.table-view summary{color:var(--text-dim);cursor:pointer;margin-bottom:8px}
