:root{--ink:#171512;--muted:#6f6860;--line:#ded8cf;--paper:#fbfaf7;--panel:#fff;--teal:#226e66;--gold:#b7791f;--danger:#a43d33;--shadow:0 16px 48px #17151224}*{box-sizing:border-box}html,body{background:var(--paper);min-height:100%;color:var(--ink);margin:0;font-family:Geist,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}a{color:inherit;text-decoration:none}.auth-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--panel);width:min(420px,100%);box-shadow:var(--shadow);padding:32px}.brand-mark{width:54px;height:48px;color:var(--teal)}.eyebrow{color:var(--gold);letter-spacing:0;text-transform:uppercase;margin:18px 0 8px;font-size:.78rem;font-weight:700}.auth-panel h1{margin:0 0 10px;font-size:2rem;line-height:1.05}.auth-panel p{color:var(--muted);line-height:1.5}.error-text{color:var(--danger)!important}.primary-link,.secondary-link{border:1px solid var(--ink);justify-content:center;align-items:center;min-height:42px;margin-top:12px;padding:0 16px;font-weight:700;display:inline-flex}.primary-link{background:var(--ink);color:#fff}.secondary-link{background:#fff}.compact-link{min-height:34px;margin-top:0;padding:0 12px;font-size:.88rem}.manager-header{border-bottom:1px solid var(--line);background:var(--panel);justify-content:space-between;align-items:center;min-height:58px;padding:0 18px;display:flex}.manager-brand{align-items:center;gap:10px;font-weight:800;display:inline-flex}.manager-brand-mark{width:34px;height:30px;color:var(--teal)}.header-controls{align-items:center;gap:12px;display:inline-flex}.city-select{border:1px solid var(--line);background:var(--panel);color:inherit;cursor:pointer;border-radius:8px;padding:6px 10px;font-size:.9rem}.header-tag{color:var(--muted);font-size:.9rem}.manager-shell{grid-template-columns:360px minmax(0,1fr);height:calc(100dvh - 58px);display:grid}.analytics-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:32px 0 48px}.analytics-heading{margin-bottom:22px}.analytics-subtitle{color:var(--muted);margin:10px 0 0}.analytics-heading h1{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0;display:grid}.analytics-grid div,.empty-analytics,.suggestion-row{border:1px solid var(--line);background:var(--panel);padding:18px}.analytics-grid dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.analytics-grid dd{overflow-wrap:anywhere;margin:8px 0 0;font-size:1.08rem;font-weight:700}.suggestions-list{gap:10px;margin-top:18px;display:grid}.suggestion-row span{color:var(--teal);text-transform:uppercase;font-size:.78rem;font-weight:800}.suggestion-row strong,.suggestion-row p{margin-top:6px;display:block}.suggestion-row p{color:var(--muted);margin-bottom:0;line-height:1.5}.suggestion-apply{grid-template-columns:minmax(220px,1fr) auto;gap:10px;margin-top:14px;display:grid}.suggestion-apply label{gap:5px;display:grid}.suggestion-apply label span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.suggestion-apply select{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--ink);padding:0 10px}.suggestion-apply button{border:1px solid var(--teal);background:var(--teal);color:#fff;align-self:end;min-height:38px;padding:0 12px;font-weight:800}.empty-analytics{color:var(--muted)}.usage-range-nav{gap:8px;margin:0 0 18px;display:inline-flex}.usage-range-nav a{border:1px solid var(--line);background:var(--panel);min-height:34px;color:var(--muted);align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.usage-range-nav a[aria-current=page]{border-color:var(--teal);color:var(--teal);background:#e8f1ef}.usage-section{margin-top:28px}.usage-section h2{margin:0 0 10px;font-size:1.12rem}.usage-table-wrap{border:1px solid var(--line);background:var(--panel);overflow-x:auto}.usage-table{border-collapse:collapse;width:100%;font-size:.92rem}.usage-table th,.usage-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:10px 12px}.usage-table th{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.usage-table tr:last-child td{border-bottom:0}.manager-sidebar{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;display:flex}.collection-switch{border:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:12px 14px;display:grid}.collection-switch legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.collection-switch button{border:1px solid var(--line);background:var(--panel);min-height:38px;color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:700}.collection-switch button[aria-pressed=true]{color:#37308f;background:#eeedfa;border-color:#4f46a5}.collection-switch button:not([aria-pressed=true]):hover{color:var(--ink);background:#f2eee8;border-color:#8a8178}.collection-switch button:not([aria-pressed=true]):active{color:var(--ink);background:#e4ded5;border-color:#4f4943}.collection-switch button[aria-pressed=true]:hover{color:#2d277b;background:#e1def6;border-color:#3f378d}.collection-switch button[aria-pressed=true]:active{color:#211b60;background:#d3cfef;border-color:#302969}.toolbar-row{padding:14px}.search-box{border:1px solid var(--line);align-items:center;gap:8px;height:40px;padding:0 11px;display:flex}.search-box input{border:0;outline:0;flex:1;min-width:0}.segmented{border:0;grid-template-columns:repeat(3,1fr);gap:6px;margin:0;padding:0 14px 14px;display:grid}.segmented legend{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.segmented button,.actions button{border:1px solid var(--line);cursor:pointer;background:#fff;min-height:36px}.segmented button[aria-pressed=true]{border-color:var(--teal);color:var(--teal);background:#e8f1ef;font-weight:700}.area-list{min-height:0;padding:0 8px 12px;overflow:auto}.urban-unit-browser{flex-direction:column;flex:1;min-height:0;display:flex}.urban-unit-search{flex:none;margin:14px}.urban-unit-search:focus-within{outline-offset:2px;border-color:#4f46a5;outline:2px solid #4f46a5}.urban-unit-list{flex:1;min-height:0;margin:0;padding:0 8px 12px;list-style:none;overflow:auto}.urban-unit-list>li{content-visibility:auto;contain-intrinsic-size:auto 61px}.urban-unit-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:4px;width:100%;padding:10px 8px;display:grid}.urban-unit-row[aria-current=true]{background:#eeedfa;border-color:#aaa5d6}.urban-unit-row:not([aria-current=true]):hover{color:var(--ink);background:#f2eee8;border-color:#8a8178}.urban-unit-row:not([aria-current=true]):active{color:var(--ink);background:#e4ded5;border-color:#4f4943}.urban-unit-row[aria-current=true]:hover{color:#2d277b;background:#e1def6;border-color:#7b75bd}.urban-unit-row[aria-current=true]:active{color:#211b60;background:#d3cfef;border-color:#4f46a5}.urban-unit-row strong{overflow-wrap:anywhere}.urban-unit-row small,.urban-unit-details p{color:var(--muted)}.urban-unit-details{border-top:1px solid var(--line);flex:none;padding:12px 14px}.urban-unit-details dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.urban-unit-details dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:700}.urban-unit-details dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.82rem;font-weight:700}.urban-unit-details p{margin:10px 0 0;font-size:.78rem;line-height:1.4}.urban-unit-attribution a{color:#37308f;text-underline-offset:2px;text-decoration:underline}.urban-unit-state,.urban-unit-search-empty{color:var(--muted);margin:14px;line-height:1.5}.urban-unit-state button,.urban-unit-search-empty button,.urban-unit-refresh{color:#37308f;cursor:pointer;background:#eeedfa;border:1px solid #4f46a5;align-items:center;gap:6px;min-height:36px;padding:0 12px;font-weight:700;display:inline-flex}.urban-unit-state button:hover,.urban-unit-search-empty button:hover,.urban-unit-refresh:hover{color:#241d76;background:#dedbf4;border-color:#37308f}.urban-unit-state button:active,.urban-unit-search-empty button:active,.urban-unit-refresh:active{color:#17134f;background:#cbc7eb;border-color:#272168}.comparison-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:.84rem;font-weight:700;display:inline-flex}.comparison-toggle input{accent-color:#4f46a5;width:16px;height:16px}.collection-switch button:focus-visible,.urban-unit-row:focus-visible,.urban-unit-state button:focus-visible,.urban-unit-search-empty button:focus-visible,.urban-unit-refresh:focus-visible,.urban-unit-attribution a:focus-visible,.comparison-toggle input:focus-visible{outline-offset:2px;outline:2px solid #4f46a5}.area-row{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 8px;display:flex}.area-row[aria-current=true]{border-color:var(--line);background:#f5f2ec}.area-row strong,.area-row small{display:block}.area-row strong{overflow-wrap:anywhere}.area-row small{color:var(--muted);margin-top:3px}.map-workspace{min-width:0;position:relative}.map-toolbar{z-index:5;background:#fffffff0;border:1px solid #ded8cfe6;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex;position:absolute;top:14px;left:14px;right:14px;box-shadow:0 10px 30px #1715121f}.map-toolbar p,.map-toolbar h1{margin:0}.map-toolbar p{color:var(--muted);text-transform:uppercase;font-size:.78rem}.map-toolbar h1{font-size:clamp(1rem,2vw,1.25rem)}.actions{align-items:center;gap:8px;display:flex}.actions button{justify-content:center;align-items:center;gap:8px;min-width:38px;padding:0 10px;display:inline-flex}.save-button{color:#fff;font-weight:700;border-color:var(--teal)!important;background:var(--teal)!important}.save-button:disabled{cursor:not-allowed;opacity:.55}.status-pill{z-index:6;border:1px solid var(--line);max-width:min(420px,100% - 36px);box-shadow:var(--shadow);background:#fff;padding:10px 12px;position:absolute;bottom:18px;right:18px}.map-canvas{width:100%;height:100%;min-height:480px}@media (max-width:860px){.manager-header{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px}.manager-shell{grid-template-columns:1fr;height:auto;min-height:calc(100dvh - 76px)}.manager-sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:42dvh}.map-workspace{min-height:58dvh}.map-toolbar{flex-direction:column;align-items:stretch}.actions{flex-wrap:wrap}}.toolbar-row{flex-direction:column;gap:8px;display:flex}.new-zone-button{border:1px solid var(--teal);min-height:38px;color:var(--teal);cursor:pointer;background:#e8f1ef;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.new-zone-form{border:1px solid var(--line);background:#f7f5f0;flex-direction:column;gap:10px;margin:0 14px 12px;padding:12px;display:flex}.new-zone-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.new-zone-form input,.new-zone-form select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;padding:0 10px}.new-zone-form .save-button{border:1px solid var(--teal);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:40px;display:inline-flex}.area-tag{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:2px 8px;font-size:.7rem}.map-toolbar-title{min-width:0}.draft-info{color:var(--gold);align-items:center;gap:6px;margin-top:4px;font-size:.78rem;font-weight:600;display:inline-flex}.unsaved-dot{background:var(--gold);border-radius:50%;width:8px;height:8px;display:inline-block}.manager-nav{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.manager-nav a[aria-current=page]{color:var(--teal);text-underline-offset:4px;font-weight:700;text-decoration:underline}.promo-counts-group{border:0;min-inline-size:0;margin:0;padding:0}.promo-counts{margin-bottom:22px}.promo-proof-figure{gap:8px;margin:12px 0;display:grid}.promo-proof-image{object-fit:contain;border:1px solid var(--line,#d8d8d2);background:#fff;border-radius:8px;justify-self:start;max-width:min(100%,420px);max-height:560px}.promo-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:22px;display:flex}.promo-filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.promo-filters input,.promo-filters select{border:1px solid var(--line);background:var(--panel);min-width:160px;min-height:38px;color:var(--ink);border-radius:8px;padding:0 10px}.promo-filters button,.promo-action-controls button{border:1px solid var(--teal);background:var(--teal);color:#fff;cursor:pointer;border-radius:8px;min-height:40px;padding:0 16px;font-weight:700}.promo-filters button:disabled,.promo-action-controls button:disabled{cursor:not-allowed;opacity:.55}.promo-row-attention td{background:#fbf1ee}.promo-attention-flag{background:var(--danger);color:#fff;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.68rem;font-weight:700;display:inline-block}.promo-pagination{margin-top:12px}.promo-section{margin-top:22px}.promo-drift-warning{border:1px solid var(--gold);color:var(--ink);background:#fdf6e7;border-radius:8px;padding:10px 12px;font-weight:600}.promo-operation-warning{border:1px solid var(--gold);color:var(--ink);background:#fdf6e7;border-radius:8px;margin:12px 0;padding:10px 12px;font-weight:600}.promo-failure-alert{border:1px solid var(--danger);color:var(--ink);background:#fbecea;border-radius:8px;padding:10px 12px;font-weight:600}.promo-action-form fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;margin:12px 0 0;padding:14px;display:flex}.promo-action-form legend{padding:0 6px;font-weight:700}.promo-action-form label,.promo-tier-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:.85rem;display:flex}.promo-action-form .promo-action-confirmation{border:1px solid var(--gold);color:var(--ink);background:#fdf6e7;border-radius:8px;flex-direction:row;align-items:flex-start;gap:8px;padding:10px 12px;font-weight:600}.promo-action-confirmation input{flex:none;margin-top:2px}.promo-action-form input,.promo-action-form textarea,.promo-action-form select,.promo-tier-form input,.promo-tier-form textarea{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:8px 10px}.promo-action-form input:focus-visible,.promo-action-form textarea:focus-visible,.promo-action-form select:focus-visible,.promo-tier-form input:focus-visible,.promo-tier-form textarea:focus-visible,.promo-filters input:focus-visible,.promo-filters select:focus-visible,.promo-action-controls button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.promo-verify-grid,.promo-external-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.promo-declared{border:1px solid var(--line);background:#f7f5f0;border-radius:8px;padding:10px 12px;font-size:.85rem}.promo-ai-assessment{border:1px solid var(--line);background:#f7f5f0;border-radius:10px;padding:14px 16px}.promo-ai-assessment h2{margin:0 0 10px;font-size:1.05rem}.promo-ai-badge{margin:0 0 10px;font-size:.95rem}.promo-ai-badge--pass strong{color:var(--teal)}.promo-ai-badge--needs_review strong{color:var(--gold)}.promo-ai-badge--error strong{color:var(--danger)}.promo-ai-reasons{color:var(--muted);margin:10px 0 0;padding-left:18px;font-size:.85rem}.promo-declared h3,.promo-ledger h3{margin:0 0 8px;font-size:.9rem}.promo-ledger{flex-direction:column;gap:10px;display:flex}.promo-hint{color:var(--muted);font-size:.78rem}.promo-success{color:var(--teal);font-weight:600}.promo-timeline{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.promo-timeline li{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:10px;padding-bottom:8px;font-size:.85rem;display:flex}.promo-timeline-time{color:var(--muted);min-width:120px}.promo-tier-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.promo-tier-form fieldset{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.promo-tier-active,.promo-tier-confirm{align-items:center;gap:8px;flex-direction:row!important}.promo-tier-confirm{color:var(--danger);font-weight:600}.promo-tier-total strong{color:var(--ink)}@media (max-width:860px){.promo-filters{flex-direction:column;align-items:stretch}.promo-filters input,.promo-filters select{min-width:0}.promo-verify-grid,.promo-external-grid,.promo-tier-grid{grid-template-columns:1fr}}
