:root{font-family:Inter,system-ui,sans-serif;color:#171712;background:#f3e7ce;--ink: #171712;--parchment: #f3e7ce;--ocean: #315a5d;--gold: #b99255;--panel-border: #b99255;--focus: #315a5d}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{margin:0;line-height:1.5}a{color:var(--ocean)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}main{max-width:760px;margin:auto;padding:24px 24px 72px}.main-roadmap{max-width:1120px}.main-territory-lab{max-width:none;width:min(100%,1920px);margin:0 auto;padding:24px 32px 72px;box-sizing:border-box}.admin-topbar{border-bottom:1px solid var(--panel-border);padding:16px 24px;background:#efe2c7}.admin-topbar-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.admin-session-bar{display:flex;align-items:center;gap:12px}.admin-session-label{font-size:.875rem;color:var(--ocean)}.admin-logout-button{border:1px solid var(--panel-border);background:#fff8ea;color:var(--ink);border-radius:999px;padding:8px 12px;cursor:pointer;font:inherit}.admin-auth-shell{max-width:520px;margin:48px auto;padding:24px}.admin-auth-panel{margin-top:16px}.admin-auth-form{margin-top:24px}.admin-auth-error{color:#7f1d1d;margin:0}.admin-mfa-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}.admin-mfa-qr{display:block;width:min(100%,240px);height:auto;margin:16px 0;border:1px solid var(--panel-border);background:#fff}.admin-security-note{font-size:.9rem;color:var(--ocean)}.admin-nav{list-style:none;display:flex;gap:12px;margin:8px 0 0;padding:0;flex-wrap:wrap}.nav-link{display:inline-block;padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--ink);border:1px solid transparent}.nav-link.active{background:#fff8ea;border-color:var(--panel-border);font-weight:600}.eyebrow{letter-spacing:.16em;font-size:12px;margin:0}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,6vw,56px);margin:8px 0 16px;line-height:1.1}h2{font-size:1.25rem;margin:0 0 12px}h3,h4{margin:0 0 8px}.panel,section{margin-top:24px;padding:20px;border:1px solid var(--panel-border);border-radius:14px;background:#fff8ea}.roadmap-dashboard .panel{margin-top:20px}.roadmap-header h1{font-size:clamp(28px,5vw,42px)}.roadmap-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.95rem}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.85rem;border:1px solid var(--panel-border)}.badge-readonly{background:#efe2c7;font-weight:600}.badge-tcc{background:#d4e8ef;border-color:var(--ocean);color:#1a4a5c;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-geo{background:#e8efd4;border-color:#6b7a3d;color:#3d4a1a;font-size:.75rem;font-weight:600;letter-spacing:.02em}.badge-taxonomy{background:#ede7f6;border-color:#6a4c93;color:#4a2c6a;font-size:.75rem;font-weight:600;letter-spacing:.02em}.tree-overlay-summary{margin:0 0 .75rem;font-size:.9rem}.progress-value{font-size:2rem;font-weight:700;margin:0 0 8px;font-variant-numeric:tabular-nums}.muted{color:#4b4638;margin:0}.legend-text,.calc-legend{margin-top:12px}.calc-legend{padding-left:1.2rem}.segmented-bar{display:flex;width:100%;min-height:2rem;border:1px solid var(--panel-border);border-radius:8px;overflow:hidden;background:#efe2c7}.segment{display:flex;align-items:center;justify-content:center;min-width:0;padding:4px}.segment-label{font-size:.75rem;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.status-card{border:1px solid var(--panel-border);border-radius:10px;padding:12px;background:#fff}.status-card-symbol{font-size:1.25rem}.status-card-label{margin:4px 0;font-size:.9rem}.status-card-count{margin:0;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.metric-pending{color:var(--muted, #6b7280);font-size:1.1rem;font-weight:600}.metric-hint{margin:4px 0 0;font-size:.75rem;line-height:1.3}.dashboard-progress-panel{display:grid;gap:12px}.dashboard-progress-bar{height:20px;background:#efe2c7;border-radius:999px;overflow:hidden}.dashboard-progress-fill{height:100%;background:var(--ocean, #1a5f7a);border-radius:999px;transition:width .3s ease}.dashboard-progress-percent{margin:0;font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-headline-stats{margin:0;padding-left:1.2rem;display:grid;gap:4px}.dashboard-sections{display:grid;gap:16px}.dashboard-section-intro{margin-top:-4px}.country-completion-list{margin:0;padding:0;list-style:none;columns:2;column-gap:24px}.country-completion-list li{break-inside:avoid;padding:2px 0}@media(max-width:720px){.country-completion-list{columns:1}}.category-progress-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.category-card{border:1px solid var(--panel-border);border-radius:10px;padding:14px;background:#fff}.category-card-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.category-card-head .progress-value{font-size:1.25rem;margin:0}.mini-bar{height:8px;background:#efe2c7;border-radius:999px;overflow:hidden;margin:8px 0}.mini-bar-fill{display:block;height:100%;background:var(--ocean)}.filter-row{display:grid;gap:12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn,.text-btn{font:inherit;cursor:pointer;border-radius:999px;border:1px solid var(--panel-border);background:#fff;padding:8px 12px}.filter-btn.active{background:var(--ocean);color:#fff;border-color:var(--ocean)}.text-btn{background:transparent;width:fit-content}.search-field input{width:100%;max-width:100%;font:inherit;padding:10px 12px;border:1px solid var(--panel-border);border-radius:8px;background:#fff}.next-step-content p{margin:0 0 8px}.category-details{display:grid;gap:12px}.category-panel{border:1px solid var(--panel-border);border-radius:10px;overflow:hidden;background:#fff}.collapse-trigger{width:100%;text-align:left;font:inherit;background:#efe2c7;border:0;padding:14px 16px;cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}.collapse-meta{font-size:.85rem;color:#4b4638;white-space:nowrap}.category-body{padding:12px 16px 16px}.section-detail{margin-top:12px}.section-detail h4{font-size:1rem;color:var(--ocean)}.section-desc,.task-desc{margin:4px 0 8px;padding-left:1.2rem;color:#4b4638;font-size:.92rem}.task-list{list-style:none;margin:0;padding:0}.task-item{display:flex;gap:10px;padding:8px 0;border-top:1px solid #efe2c7}.task-symbol{flex:0 0 auto;width:1.5rem;text-align:center}.task-text{margin:0;font-weight:500}.task-meta{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:#4b4638}.status-pill{display:inline-block;padding:1px 8px;border-radius:999px;border:1px solid var(--panel-border);background:#fff8ea;font-weight:600}.task-path{font-style:italic}.warning-panel{border-color:#d97706;background:#fff7ed}.state-panel{background:#fff7ed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.collapse-trigger{flex-direction:column;align-items:flex-start}.segment-label{font-size:.65rem}}.badge-experimental{background:#7f1d1d;color:#fff;border-color:#7f1d1d;font-weight:700}.lab-banner{border-color:#7f1d1d;background:#fff1f2}.lab-toolbar{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:12px}.table-panel{padding:0}.table-scroll{overflow-x:auto;max-width:100%}.reference-entries-scroll{max-height:min(60vh,640px);overflow-y:auto;margin-bottom:20px}.taxonomy-tree{list-style:none;padding-left:0;margin:0 0 20px}.taxonomy-tree .taxonomy-tree{padding-left:.75rem;margin-top:.35rem}.taxonomy-node{margin:.25rem 0;line-height:1.45}.tags-references-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1.4fr);gap:1.5rem;align-items:start}@media(max-width:960px){.tags-references-layout{grid-template-columns:1fr}}.lab-table{width:max(100%,1200px);border-collapse:collapse;font-size:.9rem}.lab-table th,.lab-table td{border-bottom:1px solid #efe2c7;padding:10px 12px;text-align:left;vertical-align:top;white-space:nowrap}.lab-table .col-name,.lab-table .col-atlas-key{white-space:normal;min-width:10rem}.lab-table .col-atlas-key{min-width:14rem}.lab-table .col-notes{white-space:normal;min-width:12rem;max-width:24rem}.lab-table .col-iso{min-width:4rem}.lab-table th{background:#efe2c7;position:sticky;top:0;z-index:1}.row-selected{background:#fffdf7}.row-flagged{box-shadow:inset 3px 0 #d97706}.checkbox-inline{display:inline-flex;align-items:center;gap:6px}.lab-hint{color:#4b4638;font-style:italic}.compare-panel{border-color:var(--ocean)}.tree-list{list-style:none;margin:0;padding:0}.tree-node-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:4px 0}.tree-toggle,.tree-label{font:inherit;background:transparent;border:0;cursor:pointer;padding:0}.tree-toggle{width:1.5rem;text-align:center;border:1px solid var(--panel-border);border-radius:4px}.tree-toggle-spacer{display:inline-block;width:1.5rem}.tree-meta{font-size:.85rem;color:#4b4638}.dialog-backdrop{position:fixed;inset:0;background:#17171273;display:grid;place-items:center;padding:24px;z-index:20}.dialog{width:min(720px,100%);max-height:90vh;overflow:auto}.lab-form{display:grid;gap:12px}.lab-form label{display:grid;gap:4px}.lab-form input,.lab-form select,.lab-form textarea{font:inherit;padding:8px 10px;border:1px solid var(--panel-border);border-radius:8px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.gw-inventory,.gw-editor{width:100%}.gw-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:16px}.gw-lead{max-width:56rem}.gw-summary-cards{display:flex;gap:12px;margin:0}.gw-summary-cards div{border:1px solid var(--panel-border);border-radius:8px;padding:8px 12px;min-width:72px;text-align:center;background:#faf3e4}.gw-summary-cards dt{font-size:.75rem;margin:0}.gw-summary-cards dd{margin:4px 0 0;font-size:1.25rem;font-weight:700}.gw-filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:16px}.gw-filters label{display:grid;gap:4px;font-size:.9rem}.gw-filters input,.gw-filters select{font:inherit;padding:8px 10px;border:1px solid var(--panel-border);border-radius:8px;min-width:160px}.gw-checkbox{display:flex!important;align-items:center;gap:8px}.gw-table-wrap{overflow:auto;border:1px solid var(--panel-border);border-radius:8px;background:#faf3e4}.gw-table-wrap-refreshing{opacity:.72;transition:opacity .15s ease}.gw-hierarchy-wrap{border:1px solid var(--panel-border);border-radius:8px;background:#faf3e4;padding:12px 16px}.gw-hierarchy-summary{margin:0 0 12px;font-size:.9rem}.gw-tree-list{margin:0}.gw-tree-row{align-items:flex-start}.gw-tree-row-context{opacity:.82}.gw-tree-row-orphan-group{border-left:3px solid #c4a574;padding-left:8px}.gw-tree-main{display:grid;gap:2px;min-width:12rem}.gw-tree-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gw-tree-context-badge{font-size:.75rem;padding:2px 6px;border-radius:4px;background:#e8dfd0;color:#4b4638}.gw-tree-muted{opacity:.7}.gw-tree-pipeline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gw-tree-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.85rem}.gw-tree-child-count{margin-inline-start:auto}.gw-tree-row-tcc{opacity:.92}.gw-table{width:100%;border-collapse:collapse;font-size:.92rem}.gw-table th,.gw-table td{padding:10px 12px;border-bottom:1px solid #dcc9a5;vertical-align:top;text-align:left}.gw-table th{background:#efe2c7;position:sticky;top:0}.gw-code{font-size:.78rem;word-break:break-all}.gw-btn{display:inline-block;font:inherit;padding:8px 12px;border-radius:999px;border:1px solid var(--panel-border);background:#faf3e4;color:var(--ink);cursor:pointer;text-decoration:none}.gw-btn:disabled{opacity:.5;cursor:not-allowed}.gw-btn-primary{background:var(--ocean);color:#fff;border-color:var(--ocean)}.gw-btn-accent{background:var(--gold);color:#fff;border-color:var(--gold)}.gw-btn-danger{background:#8b3a34;color:#fff;border-color:#8b3a34}.gw-btn-success{background:#3d6b4f;color:#fff;border-color:#3d6b4f}.gw-btn-active{outline:2px solid var(--ocean)}.gw-status-pill{display:inline-block;margin-left:8px;font-size:.75rem;padding:2px 8px;border-radius:999px;background:#efe2c7}.gw-badge-warn{display:inline-block;margin-top:4px;font-size:.75rem;color:#9a5b00}.gw-metric{display:block;font-size:.78rem;color:#4b4638;margin-top:4px}.gw-provenance{max-width:14rem;font-size:.82rem}.gw-error{color:#8b3a34;background:#fdecea;padding:10px 12px;border-radius:8px}.gw-message{background:#e8f4ea;padding:10px 12px;border-radius:8px}.gw-freeze-banner{background:#fff8e6;border:1px solid #e0c468;padding:10px 12px;border-radius:8px}.gw-workflow-banner{background:#eef3f6;border-left:3px solid #315a5d;padding:10px 12px;border-radius:4px;margin-bottom:12px;font-size:.92rem}.gw-validate-help{font-size:.85rem;color:#4b4638;margin:0 0 12px}.gw-provenance-detail{display:block;font-size:.78rem;color:#6b6560}.gw-sr-friendly{font-size:.72rem;color:#6b6560}.gw-source-form fieldset{border:1px solid #d8d0c4;border-radius:8px;padding:10px;margin-bottom:10px}.gw-source-form legend{font-size:.85rem;font-weight:600;padding:0 4px}.gw-editor-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:12px}.gw-editor-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.gw-back-link{display:inline-block;margin-bottom:8px}.gw-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}@media(max-width:960px){.gw-editor-layout{grid-template-columns:1fr}}.gw-map-panel{display:grid;gap:8px}.gw-toolbar{display:flex;flex-wrap:wrap;gap:8px}.gw-map{width:100%;height:min(68vh,720px);border:1px solid var(--panel-border);border-radius:8px;overflow:hidden}.gw-map-hint{font-size:.82rem;color:#4b4638}.gw-side-panel h2{font-size:1rem;margin:16px 0 8px}.gw-side-panel h2:first-child{margin-top:0}.gw-meta-list,.gw-sources-list,.gw-ops-list,.gw-validation-list{margin:0;padding-left:1.1rem;font-size:.9rem}.gw-pipeline-metrics{display:grid;gap:8px;margin-bottom:12px;font-size:.9rem}.gw-pipeline-metrics-row{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.gw-pipeline-metrics-row strong{min-width:6.5rem}.gw-pipeline-metrics-reduction{padding-top:4px;border-top:1px solid var(--panel-border);color:var(--muted-fg, #5a5a5a)}.gw-metric-muted{color:var(--muted-fg, #5a5a5a);font-style:italic}.gw-source-form{display:grid;gap:8px;margin-bottom:8px}.gw-source-form input{font:inherit;padding:8px 10px;border:1px solid var(--panel-border);border-radius:8px}.gw-check-ok{color:#2d6a3e}.gw-check-ko{color:#8b3a34}.gw-overview,.gw-overview-summary{margin-bottom:16px}.gw-overview-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.gw-inventory-links{margin-top:12px}.gw-overview-controls{display:flex;flex-wrap:wrap;gap:16px 24px;margin-bottom:16px}.gw-overview-filters,.gw-overview-projection{border:1px solid var(--panel-border);border-radius:8px;padding:10px 12px;margin:0}.gw-overview-filters legend,.gw-overview-projection legend{font-size:.85rem;font-weight:600;padding:0 4px}.gw-checkbox-disabled{opacity:.55}.gw-radio{display:inline-flex;align-items:center;gap:6px;margin-right:12px;font-size:.9rem}.gw-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.gw-overview-map-wrap{min-height:520px;display:flex;flex-direction:column;gap:8px}.gw-runtime-map,.gw-map{width:100%;min-height:480px;border-radius:10px;border:1px solid var(--panel-border);overflow:hidden}.gw-overview-hover{font-size:.9rem;margin:0}.gw-overview-hover-empty{color:var(--muted-text, #666)}.gw-overview-detail{border:1px solid var(--panel-border);border-radius:10px;padding:16px;background:var(--panel-bg, #fff)}.gw-overview-detail h2{margin:0 0 12px;font-size:1.15rem}.gw-detail-list{margin:0 0 16px;display:grid;gap:8px}.gw-detail-list div{display:grid;gap:2px}.gw-detail-list dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-text, #666)}.gw-detail-list dd{margin:0;font-size:.95rem}.gw-overview-detail-empty{color:var(--muted-text, #666);font-size:.9rem;margin:0}.gw-loading{font-size:.9rem;color:var(--muted-text, #666)}@media(max-width:960px){.gw-overview-layout{grid-template-columns:1fr}}.cv-lab{display:flex;flex-direction:column;gap:16px}.cv-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-start}.cv-subtitle{margin:4px 0 0;color:var(--muted-text, #666)}.cv-budget-legend{display:grid;gap:4px;font-size:.85rem}.cv-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.cv-map-column{overflow-x:auto}.cv-map-shell{margin:0 auto}.cv-map{width:100%;height:100%;min-height:420px}.cv-viewport-meta{margin-top:12px}.cv-metrics h2,.cv-metrics h3{margin:0 0 8px}.cv-budget-card{border-radius:10px;padding:16px;margin-bottom:16px;border:2px solid var(--panel-border)}.cv-budget-target{background:#315a5d14}.cv-budget-warning{background:#b9925526;border-color:#b99255}.cv-budget-over{background:#8b3a341f;border-color:#8b3a34}.cv-budget-value{font-size:1.35rem;font-weight:700;margin:0}.cv-budget-status{font-size:1rem;font-weight:600;margin:8px 0 0}.cv-budget-overage{margin:4px 0 0;font-size:.9rem}.cv-metric-name{font-weight:600;margin:0 0 4px}.cv-metric-note{font-size:.85rem;color:var(--muted-text, #666);margin:0 0 12px}.cv-actions{margin-top:12px}.cv-scenes-grid{display:flex;flex-wrap:wrap;gap:8px}.cv-scene-btn{font-size:.85rem}.cv-snapshot-list{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.cv-snapshot-list li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:.9rem}@media(max-width:1100px){.cv-layout{grid-template-columns:1fr}}
