:root{--gb-dark: #16130f;--gb-cream: #e8e2d6;--gb-amber: oklch(72% .16 55);--gb-amber-deep: oklch(58% .17 55);--gb-cream-25: rgba(232, 226, 214, .25);--gb-cream-45: rgba(232, 226, 214, .45);--gb-cream-60: rgba(232, 226, 214, .6);--gb-cream-85: rgba(232, 226, 214, .85);--gb-dark-30: rgba(22, 19, 15, .3);--gb-dark-60: rgba(22, 19, 15, .6);--gb-dark-75: rgba(22, 19, 15, .75);--gb-font-display: "Archivo Black", sans-serif;--gb-font-body: "Poppins", sans-serif;--gb-font-mono: "Space Mono", monospace;--gb-text-label: 13px;--gb-text-body: 15px;--gb-text-lead: 17px;--gb-text-h2: 36px;--gb-text-hero: clamp(56px, 9.5vw, 176px);--gb-gutter: 40px;--gb-rail: 220px;--gb-border: 1px solid var(--gb-cream-25);--gb-border-heavy: 1.5px;--gb-shadow-pop: 10px 10px 0 var(--gb-amber)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--gb-dark);color:var(--gb-cream-85);font-family:var(--gb-font-body);font-size:var(--gb-text-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.shell{display:flex;min-height:100vh}.sidebar{width:var(--gb-rail);flex-shrink:0;border-right:var(--gb-border);padding:28px 20px;display:flex;flex-direction:column;gap:36px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px}.hex{width:34px;height:34px;background:var(--gb-amber);clip-path:polygon(50% 2%,94% 26%,94% 74%,50% 98%,6% 74%,6% 26%);flex-shrink:0}.brand-name{font-family:var(--gb-font-display);font-size:15px;line-height:1.15;color:var(--gb-cream);text-transform:uppercase}.nav{display:flex;flex-direction:column;gap:4px}.nav a{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.09em;text-transform:uppercase;color:var(--gb-cream-60);padding:10px 12px;border-left:2px solid transparent}.nav a:hover{color:var(--gb-cream)}.nav a.active{color:var(--gb-amber);border-left-color:var(--gb-amber)}.sidebar-foot{margin-top:auto;font-family:var(--gb-font-mono);font-size:11px;letter-spacing:.08em;color:var(--gb-cream-45);text-transform:uppercase}.main{flex:1;padding:36px var(--gb-gutter) 64px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px;padding-bottom:18px;border-bottom:var(--gb-border)}.page-title{font-family:var(--gb-font-display);font-size:var(--gb-text-h2);color:var(--gb-cream);text-transform:uppercase;line-height:1}.mono-label{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.09em;text-transform:uppercase;color:var(--gb-cream-60)}.mock-pill{font-family:var(--gb-font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--gb-dark);background:var(--gb-amber);padding:4px 10px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:32px}.tile{border:var(--gb-border);padding:18px 20px}.tile .mono-label{display:block;margin-bottom:10px}.tile-value{font-family:var(--gb-font-display);font-size:30px;color:var(--gb-cream);line-height:1}.tile-sub{font-family:var(--gb-font-mono);font-size:12px;color:var(--gb-cream-45);margin-top:8px}.table-wrap{overflow-x:auto;border:var(--gb-border)}table{width:100%;border-collapse:collapse}th{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--gb-cream-60);text-align:left;padding:12px 16px;border-bottom:var(--gb-border);white-space:nowrap}td{padding:12px 16px;border-bottom:1px solid var(--gb-cream-25);color:var(--gb-cream-85);white-space:nowrap}tr:last-child td{border-bottom:none}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.status{display:inline-flex;align-items:center;gap:7px;font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.status .dot{width:7px;height:7px;border-radius:50%}.status-active{color:#9fd98f}.status-active .dot{background:#9fd98f}.status-paused{color:var(--gb-cream-60)}.status-paused .dot{background:var(--gb-cream-60)}.status-pending{color:var(--gb-amber)}.status-pending .dot{background:var(--gb-amber)}.btn{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.08em;text-transform:uppercase;border:var(--gb-border-heavy) solid var(--gb-cream-45);background:transparent;color:var(--gb-cream);padding:9px 18px;cursor:pointer}.btn:hover{border-color:var(--gb-cream)}.btn-primary{background:var(--gb-amber);border-color:var(--gb-amber);color:var(--gb-dark);font-weight:700}.btn-primary:hover{box-shadow:6px 6px 0 var(--gb-cream-25)}.btn-small{padding:5px 12px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}label.field{display:block;margin-bottom:18px}label.field .mono-label{display:block;margin-bottom:8px}input[type=text],input[type=number],input[type=date],select{width:100%;background:transparent;border:var(--gb-border-heavy) solid var(--gb-cream-45);color:var(--gb-cream);font-family:var(--gb-font-mono);font-size:14px;padding:10px 12px;color-scheme:dark}input:focus,select:focus{outline:none;border-color:var(--gb-amber)}.field-hint{font-family:var(--gb-font-mono);font-size:12px;color:var(--gb-amber);margin-top:6px}.error-box{border:var(--gb-border-heavy) solid var(--gb-amber);color:var(--gb-cream);font-family:var(--gb-font-mono);font-size:13px;padding:12px 16px;margin-bottom:20px}.empty{font-family:var(--gb-font-mono);font-size:13px;color:var(--gb-cream-45);padding:40px;text-align:center}.zone-row{cursor:pointer}.zone-row:hover td{background:#e8e2d60a}.zone-row.selected td{background:#e8e2d612}.filters{display:flex;gap:12px;align-items:flex-end;margin-bottom:24px;flex-wrap:wrap}.filters label.field{margin-bottom:0;width:170px}.chart-card{border:var(--gb-border);padding:20px;margin-bottom:28px}.chart-title{margin-bottom:16px}.tooltip{position:fixed;pointer-events:none;background:var(--gb-dark);border:var(--gb-border-heavy) solid var(--gb-amber);padding:8px 12px;font-family:var(--gb-font-mono);font-size:12px;color:var(--gb-cream);z-index:10;white-space:nowrap}.inv-hero{margin:8px 0 32px}.inv-hero .hero-kicker{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--gb-amber);margin-bottom:18px}.inv-hero .hero-title{font-family:var(--gb-font-display);font-size:clamp(44px,6vw,84px);line-height:.95;text-transform:uppercase;color:var(--gb-cream)}.inv-hero .hero-title .hl{display:inline-block;background:var(--gb-amber);color:var(--gb-dark);padding:0 14px 4px}.inv-hero .hero-sub{margin-top:22px;max-width:620px;color:var(--gb-cream-85);font-size:var(--gb-text-lead);line-height:1.55}.stat-band{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:var(--gb-border);border-bottom:var(--gb-border);margin-bottom:40px}.stat-band .stat{padding:26px 28px;border-right:var(--gb-border)}.stat-band .stat:last-child{border-right:none}.stat-band .stat-value{font-family:var(--gb-font-display);font-size:40px;line-height:1;color:var(--gb-cream);margin-bottom:10px}.stat-band .stat-value.amber{color:var(--gb-amber)}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.section-head .section-title{display:flex;align-items:baseline;gap:18px;font-family:var(--gb-font-display);font-size:28px;text-transform:uppercase;color:var(--gb-cream)}.section-head .section-num{font-family:var(--gb-font-mono);font-size:14px;color:var(--gb-amber)}.count-pill{font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gb-amber);border:1px solid var(--gb-amber);padding:5px 12px}.filter-panel{border:var(--gb-border);padding:22px 24px;margin-bottom:26px}.filter-panel .filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.filter-panel .filter-status{font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gb-cream-45);margin:16px 0;padding-bottom:16px;border-bottom:var(--gb-border)}.filter-hint{font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--gb-cream-45)}.geo-chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--gb-font-mono);font-size:12px;color:var(--gb-dark);background:var(--gb-amber);padding:4px 10px;cursor:pointer;font-weight:700}.badge{display:inline-block;font-family:var(--gb-font-mono);font-size:11.5px;letter-spacing:.03em;border:1px solid var(--gb-cream-45);padding:3px 9px;white-space:nowrap}.badge-amber{border-color:var(--gb-amber);color:var(--gb-amber)}.inv-table th{padding:10px;font-size:12px}.inv-table td{padding:10px;font-size:13.5px}.inv-table .badge{font-size:11px;padding:2px 7px}.inv-table tbody tr:hover td{background:var(--gb-amber);color:var(--gb-dark)}.inv-table tbody tr:hover td .badge{border-color:var(--gb-dark);color:var(--gb-dark)}.inv-table tbody tr:hover td .zone-id{color:var(--gb-dark)}.zone-id{font-family:var(--gb-font-mono);font-weight:700;color:var(--gb-amber)}.geo-flags{font-family:var(--gb-font-mono);font-size:12px;white-space:nowrap}.section-title:not(.section-head *){font-family:var(--gb-font-display);font-size:20px;text-transform:uppercase;color:var(--gb-cream);margin:30px 0 16px}.section-title.sub{font-family:var(--gb-font-mono);font-size:13px;letter-spacing:.09em;color:var(--gb-cream-60);margin:26px 0 12px}.kv{border:var(--gb-border);margin-bottom:20px}.kv-row{display:flex;gap:16px;padding:9px 16px;border-bottom:var(--gb-border)}.kv-row:last-child{border-bottom:none}.kv-row .mono-label{flex:0 0 280px}.kv-value{font-family:var(--gb-font-mono);font-size:13px;color:var(--gb-cream);word-break:break-word}.digest{font-family:var(--gb-font-mono);font-size:12.5px;color:var(--gb-amber)}.dim{color:var(--gb-cream-45)}.actions{display:flex;gap:12px;margin:18px 0 30px}.notice{border-left:3px solid var(--gb-cream-45);padding:10px 16px;margin-bottom:20px;font-family:var(--gb-font-mono);font-size:13px;color:var(--gb-cream-60)}.confirm-panel{border:var(--gb-border-heavy) solid var(--gb-amber);padding:20px 22px;margin-bottom:30px}.confirm-panel p{font-family:var(--gb-font-mono);font-size:13px;color:var(--gb-cream);margin-bottom:16px}.result-ok{border:var(--gb-border-heavy) solid var(--gb-cream-45);padding:20px 22px;margin-bottom:30px}.warn-list{list-style:none;font-family:var(--gb-font-mono);font-size:12.5px;color:var(--gb-cream-60)}.warn-list li{padding:4px 0;border-bottom:var(--gb-border)}.warn-list li:last-child{border-bottom:none}.history-notes{border-top:var(--gb-border);padding:12px 16px;font-family:var(--gb-font-mono);font-size:12.5px;color:var(--gb-cream-60)}.history-notes>div{padding:3px 0}input[type=file]{font-family:var(--gb-font-mono);font-size:13px;color:var(--gb-cream)}input[type=file]::file-selector-button{font-family:var(--gb-font-mono);font-size:var(--gb-text-label);letter-spacing:.08em;text-transform:uppercase;border:var(--gb-border-heavy) solid var(--gb-cream-45);background:transparent;color:var(--gb-cream);padding:8px 16px;margin-right:14px;cursor:pointer}.btn-link{display:block;width:100%;margin-top:12px;background:none;border:none;padding:4px 0;font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.06em;color:var(--gb-cream-60);text-decoration:underline;cursor:pointer}.btn-link:hover{color:var(--gb-amber)}.auth-page{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;padding:32px 16px;overflow-y:auto}.auth-card{width:100%;max-width:480px;background:#121212;border:1px solid rgba(232,226,214,.1);padding:54px 52px 46px}.auth-brand{font-family:var(--gb-font-display);font-size:40px;line-height:1.05;font-weight:700;letter-spacing:.06em;color:var(--gb-cream);margin:0 0 12px}.auth-kicker{display:flex;align-items:center;gap:10px;font-family:var(--gb-font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gb-cream-45);margin-bottom:34px}.auth-dot{width:7px;height:7px;border-radius:50%;background:var(--gb-amber);flex:none}.auth-copy{color:var(--gb-cream-85);font-size:14px;line-height:1.55;margin-bottom:24px}.auth-copy-quiet{color:var(--gb-cream-45);font-size:13px}.auth-input{display:block;width:100%;background:#1b1b1b;border:1px solid rgba(232,226,214,.1);color:var(--gb-cream);font-family:var(--gb-font-body);font-size:15px;padding:15px 16px;margin-bottom:12px;color-scheme:dark}.auth-input::placeholder{color:var(--gb-cream-45)}.auth-input:focus{outline:none;border-color:var(--gb-amber)}.auth-hint{font-family:var(--gb-font-mono);font-size:11.5px;color:var(--gb-cream-45);margin:2px 0 14px}.auth-submit{width:100%;margin-top:8px;padding:16px 18px;font-size:12px;letter-spacing:.14em;box-shadow:none}.auth-submit:hover{box-shadow:none}.auth-submit-link{display:block;text-align:center;text-decoration:none}.auth-links{margin-top:26px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.auth-links .btn-link,.auth-aside{width:auto;margin:0;padding:0;background:none;border:none;font-family:var(--gb-font-body);font-size:14px;letter-spacing:0;text-transform:none;text-decoration:none;color:var(--gb-cream-60);cursor:pointer}.auth-links .btn-link:hover{color:var(--gb-cream)}.auth-aside a{color:var(--gb-cream-60);text-decoration:none}.auth-aside a:hover{color:var(--gb-amber)}.auth-aside-quiet,.auth-aside-quiet a{color:var(--gb-cream-45)}.auth-card .error-box{margin-bottom:18px}@media (max-width: 520px){.auth-card{padding:40px 28px 34px}.auth-brand{font-size:32px}}.auth-divider{border-top:var(--gb-border);margin:26px 0 22px}.boundary{padding:60px 0;max-width:520px}.boundary-copy{color:var(--gb-cream-60);font-family:var(--gb-font-mono);font-size:13px;line-height:1.6;margin:16px 0 0}
