@import url('https://fonts.bunny.net/css?family=inter:400,500,600,700,800');

:root {
    --bg: #f3f5f2;
    --card: #ffffff;
    --ink: #1b211e;
    --muted: #69736d;
    --line: #dfe5e0;
    --soft: #eef2ee;
    --green: #245b44;
    --green-dark: #1b4634;
    --green-soft: #e8f0eb;
    --sidebar: #1d2421;
    --sidebar-2: #171d1b;
    --sidebar-text: #ecf1ed;
    --sidebar-muted: #98a39c;
    --danger: #a33b36;
    --shadow: 0 8px 24px rgba(20, 32, 25, .055);
    font-family: Inter, Arial, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); }
body { font-size: 14px; line-height: 1.5; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
svg { width: 20px; height: 20px; fill: currentColor; }

.app-shell { min-height: 100vh; display: flex; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: 224px; z-index: 50; display: flex; flex-direction: column; background: linear-gradient(180deg, var(--sidebar), var(--sidebar-2)); color: var(--sidebar-text); }
.brand-block { min-height: 78px; display: flex; gap: 12px; align-items: center; padding: 18px 18px; border-bottom: 1px solid rgba(255,255,255,.07); }
.brand-mark { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: #2f7658; font-weight: 800; letter-spacing: -.03em; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-copy strong { font-size: 14px; line-height: 1.2; white-space: nowrap; }
.brand-copy span { margin-top: 3px; color: var(--sidebar-muted); font-size: 12px; }
.sidebar-nav { padding: 14px 10px; display: flex; flex-direction: column; gap: 4px; }
.nav-item { min-height: 42px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 10px; padding: 0 11px; border-radius: 9px; color: #ced6d0; font-weight: 600; }
.nav-item svg { color: #8fa098; width: 19px; height: 19px; }
.nav-item:hover, .nav-item.is-active { background: rgba(255,255,255,.075); color: #fff; }
.nav-item.is-active svg { color: #77b592; }
.nav-item.is-disabled { color: #77837c; cursor: default; }
.nav-item.is-disabled:hover { background: transparent; color: #77837c; }
.nav-item em { font-style: normal; font-size: 10px; padding: 2px 6px; border-radius: 999px; background: rgba(255,255,255,.08); }
.nav-divider { height: 1px; margin: 10px 8px; background: rgba(255,255,255,.07); }
.nav-caption { padding: 0 11px 5px; color: #738179; font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.sidebar-foot { margin-top: auto; display: flex; justify-content: space-between; padding: 16px 18px; color: var(--sidebar-muted); font-size: 11px; border-top: 1px solid rgba(255,255,255,.07); }

.main-shell { width: calc(100% - 224px); margin-left: 224px; min-height: 100vh; }
.topbar { position: sticky; top: 0; z-index: 40; height: 68px; display: flex; align-items: center; gap: 16px; padding: 0 26px; background: rgba(250,251,249,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.topbar-title { font-size: 15px; font-weight: 700; }
.topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 12px; }
.user-chip { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--sidebar); color: #fff; font-weight: 700; font-size: 12px; }
.icon-button { width: 38px; height: 38px; border: 0; border-radius: 9px; background: transparent; cursor: pointer; color: var(--ink); }
.mobile-menu { display: none; }
.content-wrap { padding: 28px; max-width: 1800px; margin: 0 auto; }
.map-content-wrap { padding: 0; max-width: none; height: calc(100vh - 68px); overflow: hidden; }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.page-heading h1 { margin: 0; font-size: 32px; line-height: 1.1; letter-spacing: -.035em; font-weight: 700; }
.page-heading p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.heading-meta { display: flex; align-items: center; gap: 10px; color: var(--muted); margin-bottom: 9px; }

.button { min-height: 39px; display: inline-flex; align-items: center; justify-content: center; padding: 0 15px; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-weight: 700; font-size: 13px; transition: .16s ease; }
.button:hover { transform: translateY(-1px); }
.button:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.button-primary { background: var(--green); color: #fff; }
.button-primary:hover { background: var(--green-dark); }
.button-secondary { background: #fff; color: var(--ink); border-color: var(--line); }
.button-secondary:hover { border-color: #cbd4cd; background: #fafbfa; }
.button-small { min-height: 34px; padding: 0 11px; }
.button-full { width: 100%; }
.text-link, .back-link { color: var(--green); font-weight: 700; }

.flash-message { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #c9ddcf; border-radius: 9px; background: #eef7f0; color: #28543a; font-weight: 600; }
.flash-error { border-color: #e4c2bf; background: #fff1f0; color: #8c342f; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.card-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 20px; border-bottom: 1px solid var(--line); }
.card-header h2 { margin: 0; font-size: 19px; letter-spacing: -.02em; }
.card-header p { margin: 4px 0 0; color: var(--muted); }

.stats-grid { display: grid; gap: 14px; margin-bottom: 20px; }
.stats-grid-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stat-card { min-height: 128px; display: flex; flex-direction: column; padding: 18px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.stat-card span { color: var(--muted); font-weight: 600; }
.stat-card strong { margin-top: 10px; font-size: 31px; line-height: 1; letter-spacing: -.04em; }
.stat-card small { margin-top: auto; color: #8a948e; font-size: 11px; }

.table-list { width: 100%; overflow: hidden; }
.table-row { min-height: 58px; display: grid; align-items: center; gap: 16px; padding: 0 20px; border-bottom: 1px solid var(--line); }
.table-row:last-child { border-bottom: 0; }
.table-head { min-height: 43px; background: #fafbfa; color: var(--muted); font-size: 11px; font-weight: 700; }
.project-grid { grid-template-columns: 110px minmax(220px, 1.6fr) minmax(110px, .7fr) 70px 110px 130px; }
.projects-list-grid { grid-template-columns: 110px minmax(220px, 1.6fr) minmax(100px, .7fr) 100px 60px 105px 120px; }
.is-clickable { transition: background .15s ease; }
.is-clickable:hover { background: #f8faf8; }
.row-title { color: var(--ink); font-weight: 650; font-size: 15px; }
.status-pill { display: inline-flex; width: fit-content; align-items: center; min-height: 25px; padding: 0 9px; border-radius: 999px; background: var(--soft); color: #566159; font-size: 11px; font-weight: 700; }
.status-new { background: #edf1ee; color: #536057; }
.status-mapping { background: #e8f0eb; color: #245b44; }
.status-ready { background: #e9f4ec; color: #266038; }
.status-review { background: #f5efe3; color: #755d2d; }
.empty-state { padding: 44px 24px; text-align: center; color: var(--muted); }
.empty-state h3 { color: var(--ink); margin: 0 0 6px; }
.empty-state p { margin: 0; }
.empty-state.compact { padding: 30px 20px; }
.empty-state.compact .button { margin-top: 16px; }
.pagination-wrap { margin-top: 18px; }

.form-card { padding: 24px; max-width: 980px; }
.form-grid { display: grid; gap: 16px; }
.form-grid.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.compact-grid { gap: 12px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field-wide { grid-column: 1 / -1; }
.field > span { font-size: 12px; font-weight: 700; color: #4d5851; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #d7ded8; border-radius: 8px; background: #fff; color: var(--ink); outline: none; padding: 10px 11px; min-height: 42px; }
.field textarea { resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #5f8d72; box-shadow: 0 0 0 3px rgba(36,91,68,.09); }
.field em { color: var(--danger); font-size: 11px; font-style: normal; }
.form-actions { margin-top: 24px; padding-top: 20px; display: flex; justify-content: flex-end; gap: 10px; border-top: 1px solid var(--line); }
.toggle-line { display: flex; align-items: center; gap: 9px; font-weight: 600; }

.project-tabs { display: flex; align-items: center; gap: 5px; margin-bottom: 18px; padding: 5px; width: fit-content; background: #e9ede9; border-radius: 10px; }
.project-tabs a, .project-tabs span { min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 13px; border-radius: 7px; color: var(--muted); font-weight: 650; }
.project-tabs a.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(0,0,0,.06); }
.project-tabs em { font-style: normal; font-size: 9px; padding: 2px 5px; background: #dce3dd; border-radius: 999px; }
.tab-count { min-width: 20px; height: 20px; display: inline-grid !important; place-items: center; padding: 0 6px !important; border-radius: 999px !important; background: #e4eae5; color: #536057 !important; font-size: 10px; }
.content-grid { display: grid; gap: 18px; }
.project-overview-grid { grid-template-columns: 1.25fr 1fr; }
.success-panel, .next-module { margin: 20px; padding: 20px; border-radius: 10px; background: var(--green-soft); }
.success-panel strong, .next-module strong { display: block; font-size: 16px; }
.success-panel p, .next-module p { margin: 6px 0 0; color: var(--muted); }
.next-module { background: #f4f5f3; }
.next-module > span { display: block; margin-bottom: 8px; color: var(--green); font-size: 11px; font-weight: 800; }

.map-workspace { height: 100%; display: grid; grid-template-columns: 330px minmax(0, 1fr); background: #dfe5e0; }
.map-panel { position: relative; z-index: 5; overflow-y: auto; background: #fff; border-right: 1px solid var(--line); }
.map-panel-head { padding: 21px 20px 18px; border-bottom: 1px solid var(--line); }
.map-panel-head h1 { margin: 10px 0 3px; font-size: 20px; letter-spacing: -.02em; }
.map-panel-head p { margin: 0; color: var(--muted); }
.map-panel-section { padding: 17px 20px; border-bottom: 1px solid var(--line); }
.section-label { display: block; margin-bottom: 12px; color: #69736d; font-size: 10px; font-weight: 800; }
.segmented-control { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; padding: 4px; background: #edf1ed; border-radius: 9px; }
.segmented-control button { min-height: 34px; border: 0; border-radius: 6px; background: transparent; color: var(--muted); cursor: pointer; font-weight: 700; font-size: 12px; }
.segmented-control button.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(20,30,25,.08); }
.swipe-control { margin-top: 14px; }
.swipe-control label, .opacity-line span { color: var(--muted); font-size: 11px; font-weight: 600; }
.swipe-control input { width: 100%; margin-top: 8px; }
.is-hidden { display: none !important; }
.layer-group + .layer-group { margin-top: 17px; }
.layer-group > strong { display: block; margin-bottom: 8px; font-size: 12px; }
.layer-control { padding: 8px 0; }
.layer-line { display: flex; align-items: center; gap: 8px; font-weight: 600; }
.layer-line input { accent-color: var(--green); }
.opacity-line { display: grid; grid-template-columns: auto 1fr 35px; align-items: center; gap: 8px; margin: 8px 0 0 25px; }
.opacity-line input { width: 100%; accent-color: var(--green); }
.opacity-line output { text-align: right; color: var(--muted); font-size: 10px; }
.site-tool-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 8px; }
.map-status { min-height: 18px; margin: 10px 0 0; color: var(--muted); font-size: 11px; }
.map-stage { position: relative; min-width: 0; min-height: 0; }
.map-canvas { position: absolute; inset: 0; background: #d8dfd9; }
.map-badge, .map-tip { position: absolute; z-index: 4; border: 1px solid rgba(30,45,36,.14); background: rgba(255,255,255,.9); backdrop-filter: blur(10px); box-shadow: 0 4px 16px rgba(20,30,25,.08); }
.map-badge { top: 58px; right: 14px; padding: 8px 10px; border-radius: 8px; font-size: 11px; font-weight: 800; }
.map-tip { left: 14px; bottom: 14px; max-width: 360px; padding: 10px 12px; border-radius: 8px; color: #536057; font-size: 11px; }
.ol-zoom { top: 14px !important; left: 14px !important; }
.ol-full-screen { top: 14px !important; right: 14px !important; }
.ol-scale-bar { left: 14px !important; bottom: 62px !important; }
.ol-control button { background: rgba(29,36,33,.88) !important; }
.ol-attribution { font-family: Inter, Arial, sans-serif !important; font-size: 10px !important; }

.settings-grid { grid-template-columns: minmax(0, 1.4fr) minmax(340px, .8fr); align-items: start; }
.settings-grid > .card:nth-child(2) { padding-bottom: 20px; }
.settings-grid > .card:nth-child(2) > form { padding: 20px; }
.settings-layer-row { min-height: 70px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.settings-layer-row:last-child { border-bottom: 0; }
.settings-layer-head { display: flex; align-items: center; gap: 10px; min-width: 0; }

@media (max-width: 1200px) {
    .stats-grid-five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .projects-list-grid { grid-template-columns: 100px minmax(180px, 1fr) 100px 100px 110px; }
    .projects-list-grid > :nth-child(6) { display: none; }
    .settings-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .sidebar { transform: translateX(-100%); transition: transform .2s ease; }
    .sidebar.is-open { transform: translateX(0); }
    .main-shell { width: 100%; margin-left: 0; }
    .mobile-menu { display: grid; place-items: center; }
    .topbar { padding: 0 16px; }
    .content-wrap { padding: 20px 16px; }
    .map-content-wrap { padding: 0; }
    .stats-grid-five { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .project-overview-grid { grid-template-columns: 1fr; }
    .map-workspace { grid-template-columns: 270px minmax(0, 1fr); }
}

@media (max-width: 680px) {
    .page-heading { align-items: flex-start; flex-direction: column; }
    .page-heading h1 { font-size: 27px; }
    .stats-grid-five { grid-template-columns: 1fr; }
    .form-grid.two-col { grid-template-columns: 1fr; }
    .field-wide { grid-column: auto; }
    .project-grid, .projects-list-grid { grid-template-columns: 90px minmax(0, 1fr) 100px; }
    .project-grid > :nth-child(3), .project-grid > :nth-child(5), .projects-list-grid > :nth-child(3), .projects-list-grid > :nth-child(4), .projects-list-grid > :nth-child(6) { display: none; }
    .map-workspace { grid-template-columns: 1fr; grid-template-rows: 260px minmax(0, 1fr); }
    .map-panel { border-right: 0; border-bottom: 1px solid var(--line); }
    .map-panel-head { padding: 14px 16px; }
    .map-panel-section { padding: 14px 16px; }
    .map-panel-section:nth-of-type(3) { display: none; }
}

/* v0.2 project URLs, documents, SharePoint and enhanced Explorer */
.project-url { display: inline-flex; margin-top: 10px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.6); color: #68736c; font-size: 11px; }
.card-footer { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-top: 1px solid var(--line); }
.card-footer-between { justify-content: space-between; }
.helper-text { color: var(--muted); font-size: 11px; }
.success-panel .text-link { display: inline-block; margin-top: 14px; }
.storage-overview { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 20px; }
.storage-overview > div { min-height: 82px; display: flex; flex-direction: column; justify-content: center; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: #fafbfa; }
.storage-overview span { color: var(--muted); font-size: 11px; font-weight: 650; }
.storage-overview strong { margin-top: 5px; font-size: 21px; }
.storage-overview .storage-key { overflow: hidden; text-overflow: ellipsis; font-size: 13px; white-space: nowrap; }
.project-module-card { margin-top: 18px; }

.documents-grid { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; }
.document-list { min-width: 0; }
.document-row { min-height: 76px; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto auto; align-items: center; gap: 14px; padding: 13px 20px; border-bottom: 1px solid var(--line); }
.document-row:last-child { border-bottom: 0; }
.file-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 9px; background: var(--green-soft); color: var(--green); font-size: 9px; font-weight: 800; }
.file-main { min-width: 0; display: flex; flex-direction: column; }
.file-main strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file-main span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.file-main small { margin-top: 4px; color: var(--danger); font-size: 10px; }
.row-actions { display: flex; align-items: center; gap: 7px; }
.row-actions form { margin: 0; }
.storage-status { display: inline-flex; align-items: center; min-height: 25px; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 750; white-space: nowrap; }
.storage-sharepoint { background: #e7f3ea; color: #27613a; }
.storage-failed { background: #f9e9e7; color: #963a34; }
.storage-local, .storage-pending { background: #f4efe3; color: #725a2b; }
.panel-form { padding: 20px; }
.panel-form > .field + .field, .panel-form > .form-grid + .button, .panel-form > .button { margin-top: 14px; }
.file-field input { padding: 8px; }
.storage-note { margin: 0 20px 20px; padding: 15px; border: 1px solid #e4dcc9; border-radius: 9px; background: #faf7f0; }
.storage-note.is-ready { border-color: #cfe0d3; background: #f0f7f2; }
.storage-note strong { display: block; }
.storage-note p { margin: 5px 0 10px; color: var(--muted); font-size: 11px; }

.settings-tabs { width: fit-content; display: flex; align-items: center; gap: 4px; margin-bottom: 18px; padding: 4px; border-radius: 9px; background: #e9ede9; }
.settings-tabs a { min-height: 34px; display: flex; align-items: center; padding: 0 13px; border-radius: 6px; color: var(--muted); font-size: 12px; font-weight: 700; }
.settings-tabs a.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 4px rgba(20,30,25,.07); }
.settings-storage-grid { grid-template-columns: minmax(0, 1.35fr) minmax(370px, .65fr); align-items: start; }
.settings-detail-list { padding: 6px 20px; }
.settings-detail-list > div { min-height: 56px; display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.settings-detail-list > div:last-child { border-bottom: 0; }
.settings-detail-list span { color: var(--muted); font-size: 11px; font-weight: 650; }
.settings-detail-list strong { overflow-wrap: anywhere; font-size: 12px; }
.env-block { margin: 20px; padding: 16px; overflow-x: auto; border: 1px solid #dbe2dc; border-radius: 9px; background: #19201d; color: #dce8df; font: 11px/1.7 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.settings-callout { margin: 0 20px 20px; padding: 15px; border-radius: 9px; background: var(--green-soft); }
.settings-callout p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.settings-layer-head > div { min-width: 0; display: flex; flex-direction: column; }
.settings-layer-head small { margin-top: 3px; overflow: hidden; color: var(--muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }

.map-search-section { position: relative; overflow: visible; }
.map-search-form { display: grid; grid-template-columns: minmax(0, 1fr) 38px; align-items: center; border: 1px solid #d7ded8; border-radius: 8px; background: #fff; }
.map-search-form:focus-within { border-color: #5f8d72; box-shadow: 0 0 0 3px rgba(36,91,68,.09); }
.map-search-form input { min-width: 0; min-height: 40px; padding: 0 0 0 11px; border: 0; outline: 0; background: transparent; }
.map-search-form .icon-button { width: 38px; height: 38px; display: grid; place-items: center; }
.map-search-results { position: relative; z-index: 9; max-height: 250px; margin-top: 7px; overflow-y: auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; box-shadow: 0 12px 24px rgba(20,32,25,.11); }
.map-search-result { width: 100%; display: flex; flex-direction: column; gap: 2px; padding: 10px 11px; border: 0; border-bottom: 1px solid var(--line); background: #fff; color: var(--ink); text-align: left; cursor: pointer; }
.map-search-result:last-child { border-bottom: 0; }
.map-search-result:hover { background: #f7faf7; }
.map-search-result strong { font-size: 11px; line-height: 1.35; }
.map-search-result span { color: var(--muted); font-size: 9px; text-transform: capitalize; }
.map-search-empty { padding: 12px; color: var(--muted); font-size: 11px; }
.map-search-empty.is-error { color: var(--danger); }
.map-location-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 8px; }
.map-location-actions .button { padding: 0 8px; font-size: 10px; }
.ring-toggle { margin-bottom: 13px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.map-status.is-error { color: var(--danger); }
.swipe-divider { position: absolute; z-index: 3; top: 0; bottom: 0; width: 2px; transform: translateX(-1px); background: rgba(255,255,255,.95); box-shadow: 0 0 0 1px rgba(30,45,36,.2), 0 0 14px rgba(20,30,25,.2); pointer-events: none; }
.swipe-divider::after { content: '↔'; position: absolute; top: 50%; left: 50%; width: 34px; height: 34px; display: grid; place-items: center; transform: translate(-50%, -50%); border: 1px solid rgba(30,45,36,.18); border-radius: 50%; background: rgba(255,255,255,.94); color: var(--green); font-size: 16px; font-weight: 800; }
.ol-scale-bar-inner { border-color: var(--green) !important; color: var(--green) !important; }

@media (max-width: 1350px) {
    .document-row { grid-template-columns: 44px minmax(0, 1fr) auto; }
    .document-row .row-actions { grid-column: 2 / -1; justify-content: flex-end; }
}

@media (max-width: 1200px) {
    .project-grid { grid-template-columns: 100px minmax(180px, 1fr) 100px 60px 105px; }
    .project-grid > :nth-child(6) { display: none; }
    .projects-list-grid { grid-template-columns: 100px minmax(180px, 1fr) 90px 90px 55px 105px; }
    .projects-list-grid > :nth-child(7) { display: none; }
    .documents-grid, .settings-storage-grid { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .map-workspace { grid-template-columns: 290px minmax(0, 1fr); }
}

@media (max-width: 680px) {
    .storage-overview { grid-template-columns: 1fr; }
    .document-row { grid-template-columns: 42px minmax(0, 1fr); }
    .document-row .storage-status { grid-column: 2; width: fit-content; }
    .document-row .row-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; }
    .settings-detail-list > div { grid-template-columns: 1fr; gap: 4px; padding: 10px 0; }
    .card-footer-between { align-items: flex-start; flex-direction: column; }
    .settings-tabs { width: 100%; }
    .settings-tabs a { flex: 1; justify-content: center; }
}

@media (max-width: 1200px) and (min-width: 681px) {
    .projects-list-grid > :nth-child(6) { display: initial; }
}

@media (max-width: 680px) {
    .project-grid > :nth-child(3),
    .project-grid > :nth-child(4),
    .project-grid > :nth-child(6) { display: none; }
    .project-grid > :nth-child(5) { display: initial; }
    .projects-list-grid > :nth-child(3),
    .projects-list-grid > :nth-child(4),
    .projects-list-grid > :nth-child(5),
    .projects-list-grid > :nth-child(7) { display: none; }
    .projects-list-grid > :nth-child(6) { display: initial; }
}

/* v0.2.2 compact project layout and full-width map workspace */
.map-shell-mode .sidebar {
    transform: translateX(-100%);
    transition: transform .18s ease;
    box-shadow: 18px 0 42px rgba(14, 24, 19, .18);
}
.map-shell-mode .sidebar.is-open { transform: translateX(0); }
.map-shell-mode .main-shell { width: 100%; margin-left: 0; }
.map-shell-mode .mobile-menu { display: grid; place-items: center; flex: 0 0 auto; }
.map-shell-mode .topbar { height: 62px; padding: 0 16px; gap: 10px; }
.map-shell-mode .map-content-wrap { height: calc(100vh - 62px); }
.map-header-back { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--green); }
.map-header-back:hover { background: #f7faf8; border-color: #cbd5cd; }
.map-header-project { min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.map-header-project strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.map-header-project span { max-width: min(760px, 55vw); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 11px; }
.map-overview-button { min-height: 34px; padding-inline: 11px; font-size: 11px; }
.map-workspace { grid-template-columns: 318px minmax(0, 1fr); }
.map-panel-section { padding: 15px 18px; }
.map-layers-section { min-height: 190px; }
.map-stage { background: #d8dfd9; }
.map-badge { top: 14px; }
.map-search-form { display: grid; grid-template-columns: minmax(0, 1fr) 38px; gap: 0; border: 1px solid #d7ded8; border-radius: 8px; overflow: hidden; background: #fff; }
.map-search-form input { min-width: 0; height: 40px; padding: 0 10px; border: 0; outline: 0; }
.map-search-form .icon-button { border-radius: 0; }
.map-location-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 8px; }
.map-location-actions .button { min-height: 32px; }

.project-summary-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 12px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.project-summary-main { min-width: 0; }
.project-summary-main .heading-meta { margin-bottom: 6px; }
.project-summary-main h1 { margin: 0; font-size: 28px; line-height: 1.1; letter-spacing: -.035em; }
.project-summary-main p { margin: 6px 0 0; color: var(--muted); }
.project-path { display: inline-block; margin-top: 8px; color: #829087; font-size: 10px; }
.compact-project-tabs { margin-bottom: 12px; }
.compact-overview-grid { grid-template-columns: .9fr 1.35fr; gap: 12px; }
.compact-project-card .card-header { min-height: 62px; padding: 14px 17px; }
.compact-project-card .card-header h2 { font-size: 17px; }
.compact-project-card .card-header p { font-size: 12px; }
.compact-status-panel { min-height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px; }
.compact-status-panel.is-success { background: linear-gradient(90deg, var(--green-soft), rgba(232,240,235,.35)); }
.compact-status-panel strong { display: block; font-size: 15px; }
.compact-status-panel span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.compact-map-summary { display: grid; grid-template-columns: .8fr .9fr 1.5fr; gap: 9px; padding: 16px 17px 10px; }
.compact-map-summary > div { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #fafbfa; }
.compact-map-summary span { display: block; color: var(--muted); font-size: 10px; font-weight: 650; }
.compact-map-summary strong { display: block; margin-top: 4px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.compact-workflow { margin: 0 17px 16px; padding: 10px 12px; border-radius: 8px; background: #f2f5f2; color: #5f6b63; font-size: 11px; }

@media (max-width: 900px) {
    .map-header-project span { max-width: 48vw; }
    .map-overview-button { display: none; }
    .compact-overview-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .map-shell-mode .topbar { height: 58px; padding: 0 10px; }
    .map-shell-mode .map-content-wrap { height: calc(100vh - 58px); }
    .map-header-project strong { font-size: 12px; }
    .map-header-project span { max-width: 45vw; }
    .map-workspace { grid-template-columns: 1fr; grid-template-rows: 230px minmax(0, 1fr); }
    .project-summary-card { align-items: flex-start; flex-direction: column; padding: 17px; }
    .project-summary-card .button { width: 100%; }
    .compact-map-summary { grid-template-columns: 1fr; }
}
/* v0.3.0 historic map workspace */
.map-workspace-v3 { grid-template-columns: 360px minmax(0, 1fr); }
.map-workspace-v3 .map-panel { display: flex; min-width: 0; flex-direction: column; overflow: hidden; }
.explorer-panel-head { min-height: 61px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px 11px 18px; border-bottom: 1px solid var(--line); background: #fbfcfb; }
.explorer-panel-head > div { min-width: 0; display: flex; flex-direction: column; }
.explorer-panel-head strong { margin-top: 2px; font-size: 15px; }
.panel-collapse-button { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border: 1px solid var(--line); background: #fff; color: var(--green); }
.compact-search-section { flex: 0 0 auto; padding-block: 12px; }
.map-source-section { flex: 0 0 auto; padding-block: 12px; }
.base-map-selector { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.base-layer-control { display: contents; }
.base-layer-pill { position: relative; min-height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #fff; cursor: pointer; font-size: 11px; font-weight: 700; }
.base-layer-pill:has(input:checked) { border-color: #8fb49e; background: var(--green-soft); color: var(--green); }
.base-layer-pill input { position: absolute; opacity: 0; pointer-events: none; }

.historic-browser-section { min-height: 0; flex: 1 1 auto; display: flex; flex-direction: column; padding: 0 !important; overflow: hidden; }
.historic-browser-heading { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 18px; border-bottom: 1px solid var(--line); }
.historic-browser-heading > div { display: flex; flex-direction: column; min-width: 0; }
.historic-browser-heading strong { margin-top: 2px; font-size: 13px; }
.source-badge { display: inline-flex; min-height: 25px; align-items: center; padding: 0 8px; border-radius: 999px; background: #eef2ee; color: #57635b; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.historic-layer-list { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 8px 10px 18px; scrollbar-width: thin; scrollbar-color: #c9d2cb transparent; }
.historic-epoch-group + .historic-epoch-group { margin-top: 12px; }
.historic-epoch-title { display: flex; align-items: center; justify-content: space-between; padding: 5px 5px 6px; color: #657168; }
.historic-epoch-title span { font-size: 10px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.historic-epoch-title small { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 999px; background: #edf1ed; font-size: 9px; font-weight: 800; }

.historic-layer-card { position: relative; overflow: hidden; margin-bottom: 7px; border: 1px solid #dfe5e0; border-radius: 9px; background: #fff; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease; }
.historic-layer-card:hover { border-color: #c6d2c9; background: #fbfcfb; }
.historic-layer-card.is-selected { border-color: #82a992; background: linear-gradient(135deg, #f0f7f2, #fbfdfb); box-shadow: 0 0 0 2px rgba(36,91,68,.055); }
.historic-layer-choice { position: relative; align-items: flex-start; gap: 10px; min-height: 86px; padding: 12px 11px; cursor: pointer; }
.historic-layer-choice > input { width: 15px; height: 15px; flex: 0 0 15px; margin: 3px 0 0; }
.historic-layer-main { min-width: 0; flex: 1; display: flex; flex-direction: column; }
.historic-layer-name { padding-right: 20px; color: var(--ink); font-size: 11px; font-weight: 750; line-height: 1.35; }
.historic-layer-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin-top: 6px; color: var(--muted); font-size: 9px; }
.historic-layer-meta b, .historic-layer-meta em { padding: 2px 5px; border-radius: 4px; background: #eef2ee; font-style: normal; font-weight: 700; }
.historic-layer-card.is-selected .historic-layer-meta b { background: #dceadf; color: var(--green); }
.historic-layer-coverage { margin-top: 6px; color: #859087; font-size: 9px; line-height: 1.35; }
.historic-layer-check { position: absolute; top: 11px; right: 11px; width: 20px; height: 20px; display: none; place-items: center; border-radius: 50%; background: var(--green); color: #fff; font-size: 10px; font-weight: 800; }
.historic-layer-card.is-selected .historic-layer-check { display: grid; }
.historic-empty { padding: 18px 14px; border: 1px dashed #cfd8d1; border-radius: 9px; text-align: center; color: var(--muted); }
.historic-empty strong, .historic-empty span { display: block; }
.historic-empty strong { color: var(--ink); font-size: 11px; }
.historic-empty span { margin-top: 4px; font-size: 10px; }
.supplemental-layer-control { padding: 9px 7px; border-top: 1px solid var(--line); }

.map-panel.is-panel-collapsed { width: 0; border-right: 0; overflow: hidden; }
.map-workspace-v3:has(.map-panel.is-panel-collapsed) { grid-template-columns: 0 minmax(0, 1fr); }

.map-compare-toolbar { position: absolute; z-index: 6; top: 14px; left: 50%; width: min(720px, calc(100% - 300px)); min-height: 64px; display: grid; grid-template-columns: minmax(190px, 1fr) auto minmax(170px, .75fr); align-items: center; gap: 14px; padding: 9px 12px; transform: translateX(-50%); border: 1px solid rgba(29,44,35,.16); border-radius: 11px; background: rgba(255,255,255,.94); backdrop-filter: blur(14px); box-shadow: 0 10px 26px rgba(20,32,25,.12); }
.compare-layer-summary { min-width: 0; display: flex; flex-direction: column; }
.compare-layer-summary > span, .global-opacity-control > span, .swipe-control label { color: #738078; font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.compare-layer-summary strong { margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.compare-layer-summary small { margin-top: 2px; overflow: hidden; color: var(--muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.compare-mode-control { min-width: 145px; }
.compact-segmented { grid-template-columns: 1fr 1fr; min-width: 145px; }
.compact-segmented button { min-height: 31px; font-size: 10px; }
.map-compare-toolbar .swipe-control { margin-top: 6px; }
.map-compare-toolbar .swipe-control input { margin-top: 3px; }
.global-opacity-control { min-width: 0; display: grid; grid-template-columns: 1fr 35px; align-items: center; gap: 5px 8px; }
.global-opacity-control > span { grid-column: 1 / -1; }
.global-opacity-control input { min-width: 0; width: 100%; accent-color: var(--green); }
.global-opacity-control output { color: var(--muted); font-size: 9px; text-align: right; }

.map-site-toolbar { position: absolute; z-index: 6; top: 94px; right: 14px; display: flex; flex-direction: column; gap: 5px; padding: 6px; border: 1px solid rgba(29,44,35,.15); border-radius: 10px; background: rgba(255,255,255,.94); backdrop-filter: blur(12px); box-shadow: 0 8px 22px rgba(20,32,25,.1); }
.map-tool-button { width: 58px; min-height: 49px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 2px; padding: 5px; border: 0; border-radius: 7px; background: transparent; color: #4f5b53; cursor: pointer; font-size: 8px; font-weight: 750; }
.map-tool-button svg { width: 18px; height: 18px; }
.map-tool-button:hover { background: #f0f4f1; color: var(--green); }
.map-tool-button.is-primary { background: var(--green); color: #fff; }
.map-tool-button.is-primary:hover { background: var(--green-dark); color: #fff; }
.map-ring-toggle { position: relative; }
.map-ring-toggle input { position: absolute; opacity: 0; }
.map-ring-toggle:has(input:checked) { background: var(--green-soft); color: var(--green); }

.map-status-toast { position: absolute; z-index: 5; left: 14px; bottom: 14px; max-width: 420px; min-height: 34px; display: flex; align-items: center; padding: 8px 11px; border: 1px solid rgba(29,44,35,.14); border-radius: 8px; background: rgba(255,255,255,.93); color: #536057; backdrop-filter: blur(10px); box-shadow: 0 5px 18px rgba(20,30,25,.08); font-size: 10px; }
.map-status-toast.is-error { border-color: #e5c4c0; color: var(--danger); }
.map-tip { left: 14px; bottom: 57px; max-width: 410px; padding: 8px 10px; font-size: 10px; }
.map-badge { display: none; }
.map-workspace-v3 .ol-zoom { top: 14px !important; left: 14px !important; }
.map-workspace-v3 .ol-full-screen { top: 94px !important; right: 86px !important; }
.map-workspace-v3 .ol-scale-bar { left: 14px !important; bottom: 103px !important; }

@media (max-width: 1250px) {
    .map-workspace-v3 { grid-template-columns: 330px minmax(0, 1fr); }
    .map-compare-toolbar { width: min(650px, calc(100% - 210px)); grid-template-columns: minmax(160px, 1fr) auto minmax(145px, .7fr); }
}

@media (max-width: 900px) {
    .map-workspace-v3 { grid-template-columns: 300px minmax(0, 1fr); }
    .map-compare-toolbar { left: 12px; right: 82px; width: auto; grid-template-columns: minmax(0, 1fr) auto; transform: none; }
    .global-opacity-control { grid-column: 1 / -1; grid-template-columns: 1fr 35px; }
    .compare-layer-summary small { display: none; }
}

@media (max-width: 680px) {
    .map-workspace-v3 { grid-template-columns: 1fr; grid-template-rows: 260px minmax(0, 1fr); }
    .explorer-panel-head, .map-source-section { display: none; }
    .historic-browser-section { min-height: 130px; }
    .compact-search-section { padding: 9px 12px; }
    .historic-layer-list { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; padding: 8px 10px; }
    .historic-epoch-group { display: contents; }
    .historic-epoch-title { display: none; }
    .historic-layer-card { min-width: 245px; margin-bottom: 0; }
    .map-compare-toolbar { top: 8px; left: 8px; right: 72px; min-height: 54px; padding: 6px 8px; }
    .compare-layer-summary { display: none; }
    .map-compare-toolbar { grid-template-columns: 1fr; }
    .global-opacity-control { grid-template-columns: 1fr 32px; }
    .map-site-toolbar { top: 70px; right: 8px; }
    .map-tool-button { width: 48px; min-height: 42px; }
    .map-tip { display: none; }
    .map-status-toast { left: 8px; right: 64px; bottom: 8px; max-width: none; }
    .map-workspace-v3 .ol-scale-bar { bottom: 53px !important; left: 8px !important; }
}

/* v0.4.0 finished map viewer */
.map-workspace-v4 { grid-template-columns: 350px minmax(0, 1fr); }
.map-workspace-v4 .map-panel { display: flex; min-width: 0; flex-direction: column; overflow: hidden; transition: width .16s ease, border-color .16s ease; }
.map-workspace-v4:has(.map-panel.is-panel-collapsed) { grid-template-columns: 0 minmax(0, 1fr); }
.map-workspace-v4 .map-panel.is-panel-collapsed { width: 0; border-right: 0; overflow: hidden; }
.map-workspace-v4 .historic-browser-section { min-height: 0; flex: 1 1 auto; display: flex; flex-direction: column; padding: 0 !important; overflow: hidden; }
.map-workspace-v4 .historic-layer-list { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding: 8px 10px 20px; }

.historic-suggestion { margin: 8px 10px 0; padding: 9px 10px; border: 1px solid #d7e1d9; border-radius: 8px; background: #f5f9f6; color: #4c5b52; }
.historic-suggestion span { display: block; font-size: 9px; line-height: 1.45; }
.historic-suggestion button { margin-top: 6px; padding: 0; border: 0; background: transparent; color: var(--green); cursor: pointer; font: inherit; font-size: 9px; font-weight: 800; }
.historic-layer-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.historic-layer-name { padding-right: 0 !important; }
.coverage-pill { flex: 0 0 auto; min-height: 20px; display: inline-flex; align-items: center; padding: 0 6px; border-radius: 999px; white-space: nowrap; font-size: 8px; font-weight: 800; }
.coverage-pill.is-checking { background: #eef1ef; color: #6b766f; }
.coverage-pill.is-likely { background: #eef5ef; color: #4c6b57; }
.coverage-pill.is-available { background: #dceadf; color: var(--green); }
.coverage-pill.is-outside, .coverage-pill.is-unavailable { background: #f8e8e6; color: #9b423b; }
.layer-details { border-top: 1px solid rgba(223,229,224,.85); }
.layer-details summary { padding: 7px 12px; color: #6f7a72; cursor: pointer; list-style: none; font-size: 8px; font-weight: 750; }
.layer-details summary::-webkit-details-marker { display: none; }
.layer-details summary::after { content: '+'; float: right; color: var(--green); }
.layer-details[open] summary::after { content: '−'; }
.layer-details > div { display: flex; flex-direction: column; gap: 3px; padding: 0 12px 10px; }
.layer-details strong { color: #4c5850; font-size: 9px; }
.layer-details span { color: #7b867e; font-size: 8px; line-height: 1.45; }

.map-source-reopen { position: absolute; z-index: 7; top: 14px; left: 14px; min-height: 36px; display: inline-flex; align-items: center; gap: 5px; padding: 0 9px 0 7px; border: 1px solid rgba(29,44,35,.16); border-radius: 8px; background: rgba(255,255,255,.95); color: var(--green); cursor: pointer; box-shadow: 0 7px 20px rgba(20,32,25,.11); font-size: 9px; font-weight: 800; }
.map-source-reopen svg { width: 17px; height: 17px; }
.map-loading-indicator { position: absolute; z-index: 7; top: 14px; left: 62px; min-height: 34px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; border: 1px solid rgba(29,44,35,.13); border-radius: 8px; background: rgba(255,255,255,.94); color: #59665d; box-shadow: 0 6px 18px rgba(20,32,25,.08); font-size: 9px; font-weight: 700; }
.map-loading-spinner { width: 12px; height: 12px; border: 2px solid #d9e1db; border-top-color: var(--green); border-radius: 50%; animation: map-spin .75s linear infinite; }
@keyframes map-spin { to { transform: rotate(360deg); } }

.map-workspace-v4 .map-compare-toolbar { width: min(790px, calc(100% - 250px)); grid-template-columns: minmax(185px, 1fr) auto minmax(150px, .7fr) auto; }
.map-export-wrap { position: relative; }
.map-export-menu { position: absolute; top: calc(100% + 7px); right: 0; width: 190px; overflow: hidden; border: 1px solid #dce3dd; border-radius: 9px; background: #fff; box-shadow: 0 12px 28px rgba(20,32,25,.15); }
.map-export-menu button { width: 100%; min-height: 38px; display: block; padding: 0 12px; border: 0; border-bottom: 1px solid #edf0ed; background: #fff; color: #465149; cursor: pointer; text-align: left; font: inherit; font-size: 9px; font-weight: 700; }
.map-export-menu button:last-child { border-bottom: 0; }
.map-export-menu button:hover { background: #f3f7f4; color: var(--green); }

.map-tool-button:disabled { opacity: .38; cursor: not-allowed; }
.map-tool-button:disabled:hover { background: transparent; color: #4f5b53; }
.site-metrics-card { position: absolute; z-index: 6; right: 86px; bottom: 14px; min-width: 215px; padding: 10px 12px; border: 1px solid rgba(29,44,35,.14); border-radius: 9px; background: rgba(255,255,255,.94); backdrop-filter: blur(10px); box-shadow: 0 7px 20px rgba(20,30,25,.09); }
.site-metrics-card span, .site-metrics-card strong, .site-metrics-card small { display: block; }
.site-state-label { color: var(--green); font-size: 8px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.site-metrics-card strong { margin-top: 3px; color: #1c2921; font-size: 17px; }
.site-metrics-card small { margin-top: 2px; color: #6d786f; font-size: 8px; }

.map-workspace-v4 .swipe-divider { z-index: 8; width: 2px; background: rgba(255,255,255,.92); box-shadow: 0 0 0 1px rgba(29,44,35,.25), 0 0 14px rgba(20,32,25,.22); cursor: ew-resize; touch-action: none; }
.swipe-handle { position: absolute; top: 50%; left: 50%; width: 58px; height: 28px; display: grid; place-items: center; transform: translate(-50%, -50%); border: 1px solid rgba(29,44,35,.2); border-radius: 999px; background: #fff; color: var(--green); box-shadow: 0 5px 16px rgba(20,32,25,.18); font-size: 10px; font-weight: 800; }
.swipe-side-label { position: absolute; top: 92px; padding: 5px 8px; border-radius: 6px; background: rgba(25,35,29,.82); color: #fff; white-space: nowrap; font-size: 8px; font-weight: 800; letter-spacing: .08em; pointer-events: none; }
.swipe-side-left { right: 14px; }
.swipe-side-right { left: 14px; }

.map-workspace-v4 .map-status-toast { max-width: 470px; }
.map-workspace-v4 .map-tip { bottom: 58px; }

@media (max-width: 1250px) {
    .map-workspace-v4 { grid-template-columns: 320px minmax(0, 1fr); }
    .map-workspace-v4 .map-compare-toolbar { width: min(700px, calc(100% - 190px)); grid-template-columns: minmax(150px, 1fr) auto minmax(130px, .65fr) auto; }
}

@media (max-width: 930px) {
    .map-workspace-v4 { grid-template-columns: 290px minmax(0, 1fr); }
    .map-workspace-v4 .map-compare-toolbar { left: 12px; right: 80px; width: auto; grid-template-columns: minmax(0, 1fr) auto auto; transform: none; }
    .map-workspace-v4 .global-opacity-control { grid-column: 1 / 3; }
    .site-metrics-card { right: 76px; }
}

@media (max-width: 680px) {
    .map-workspace-v4 { grid-template-columns: 1fr; grid-template-rows: 250px minmax(0, 1fr); }
    .map-workspace-v4 .explorer-panel-head, .map-workspace-v4 .map-source-section { display: none; }
    .map-workspace-v4 .historic-browser-section { min-height: 120px; }
    .map-workspace-v4 .compact-search-section { padding: 8px 10px; }
    .map-workspace-v4 .historic-layer-list { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden; padding: 8px 10px; }
    .map-workspace-v4 .historic-epoch-group { display: contents; }
    .map-workspace-v4 .historic-epoch-title { display: none; }
    .map-workspace-v4 .historic-layer-card { min-width: 255px; margin-bottom: 0; }
    .map-workspace-v4 .map-compare-toolbar { top: 8px; left: 8px; right: 68px; min-height: 52px; padding: 6px 8px; grid-template-columns: 1fr auto; }
    .map-workspace-v4 .compare-layer-summary { display: none; }
    .map-workspace-v4 .global-opacity-control { grid-column: 1 / -1; }
    .map-export-wrap { grid-column: 2; grid-row: 1; }
    .map-site-toolbar { top: 70px; right: 8px; }
    .map-tool-button { width: 47px; min-height: 41px; }
    .site-metrics-card { left: 8px; right: 62px; bottom: 52px; min-width: 0; }
    .map-status-toast { left: 8px; right: 62px; bottom: 8px; max-width: none; }
    .map-tip { display: none; }
    .swipe-side-label { top: 70px; }
}

/* v0.5.0 — compact source catalogue, satellite and coal screening overlays */
.map-shell-mode .ol-control {
    padding: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
}
.map-shell-mode .ol-control button,
.map-shell-mode .ol-zoom button,
.map-shell-mode .ol-full-screen button {
    width: 34px !important;
    height: 34px !important;
    margin: 0 0 5px !important;
    border: 1px solid rgba(26, 52, 39, .18) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .97) !important;
    color: var(--green) !important;
    box-shadow: 0 5px 16px rgba(20, 32, 25, .13) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
}
.map-shell-mode .ol-control button:hover,
.map-shell-mode .ol-control button:focus,
.map-shell-mode .ol-zoom button:hover,
.map-shell-mode .ol-full-screen button:hover {
    border-color: #93b3a0 !important;
    background: #f0f7f2 !important;
    color: var(--green-dark) !important;
    outline: none !important;
}
.map-shell-mode .ol-full-screen { top: 14px !important; right: 14px !important; }
.map-shell-mode .ol-full-screen button { font-size: 16px !important; }

.map-workspace-v5 { grid-template-columns: 356px minmax(0, 1fr); }
.map-workspace-v5 .map-panel { overflow: hidden; }
.map-workspace-v5 .compact-map-source-section { flex: 0 0 auto; padding-block: 11px; }
.map-workspace-v5 .base-map-selector { margin-top: 7px; }
.map-workspace-v5 .base-layer-pill { min-width: 76px; justify-content: center; }
.map-workspace-v5 .base-layer-pill.is-disabled { opacity: .45; cursor: not-allowed; }
.map-workspace-v5 .base-layer-pill.is-disabled:hover { border-color: var(--line); background: #fff; color: inherit; }
.maptiler-key-note { margin: 8px 0 0; color: #8a6b32; font-size: 9px; line-height: 1.45; }

.overlay-control-section { flex: 0 0 auto; padding-block: 11px; }
.overlay-toggle-list { margin-top: 7px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.overlay-toggle-row { min-height: 54px; display: grid; grid-template-columns: 17px minmax(0, 1fr); align-items: center; gap: 9px; padding: 8px 10px; cursor: pointer; }
.overlay-toggle-row + .overlay-toggle-row { border-top: 1px solid var(--line); }
.overlay-toggle-row:hover { background: #fafcfb; }
.overlay-toggle-row input { width: 15px; height: 15px; margin: 0; accent-color: var(--green); }
.overlay-toggle-copy { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(86px, 112px); align-items: center; gap: 8px; }
.overlay-toggle-copy strong { color: var(--ink); font-size: 11px; line-height: 1.15; }
.overlay-toggle-copy small { color: #718078; font-size: 9px; font-weight: 650; line-height: 1.18; }

.historic-select-section { min-height: 0; flex: 1 1 auto; overflow-y: auto; padding-top: 12px; padding-bottom: 16px; }
.historic-select-label { display: block; color: #63746d; font-size: 9px; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.historic-layer-select { width: 100%; min-height: 40px; margin-top: 7px; padding: 0 35px 0 11px; border: 1px solid #d7ded8; border-radius: 9px; background: #fff; color: var(--ink); font-size: 11px; font-weight: 700; outline: none; }
.historic-layer-select:focus { border-color: #84a991; box-shadow: 0 0 0 3px rgba(36, 91, 68, .08); }
.historic-layer-select option:disabled { color: #999; }
.historic-selected-card { margin-top: 9px; padding: 11px; border: 1px solid #d9e2dc; border-radius: 9px; background: linear-gradient(135deg, #f4f9f5, #fff); }
.historic-selected-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.historic-selected-head > div { min-width: 0; display: flex; flex-direction: column; }
.historic-selected-head strong { font-size: 11px; line-height: 1.25; }
.historic-selected-head span:not(.coverage-pill) { margin-top: 3px; color: var(--muted); font-size: 9px; }
.historic-selected-card p { margin: 9px 0; color: #647169; font-size: 9px; line-height: 1.45; }
.historic-selected-source { display: flex; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid #e2e9e4; color: #738078; font-size: 8px; font-weight: 650; }
.historic-selected-source span:last-child { text-align: right; }
.historic-panel-opacity { display: grid; grid-template-columns: 1fr 36px; align-items: center; gap: 5px 8px; margin-top: 11px; }
.historic-panel-opacity > span { grid-column: 1 / -1; color: #63746d; font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.historic-panel-opacity input { width: 100%; accent-color: var(--green); }
.historic-panel-opacity output { color: var(--muted); font-size: 9px; text-align: right; }
.supplemental-compact-section { flex: 0 0 auto; }

.historic-picker-row { display: grid; grid-template-columns: minmax(0, 1fr) 40px; align-items: end; gap: 7px; margin-top: 7px; }
.historic-picker-row .historic-layer-select { margin-top: 0; }
.historic-library-button { width: 40px; height: 40px; border-color: #b9ccbf; background: #eef6f0; color: var(--green); }
.historic-library-button:hover { background: #e2efe6; }
.historic-library-note { margin: 8px 0 0; color: #66746c; font-size: 10.5px; line-height: 1.45; }

.nls-library-drawer { position: absolute; inset: 0 auto 0 0; z-index: 1150; width: min(460px, calc(100% - 42px)); display: grid; grid-template-rows: auto auto auto minmax(0, 1fr); border-right: 1px solid #cad5cd; background: #f5f7f5; box-shadow: 18px 0 45px rgba(22, 36, 28, .18); transform: translateX(0); }
.nls-library-drawer.is-hidden { display: none; }
.nls-library-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 16px; border-bottom: 1px solid var(--line); background: #fff; }
.nls-library-head > div { min-width: 0; display: flex; flex-direction: column; }
.nls-library-head .section-label { margin-bottom: 4px; color: var(--green); }
.nls-library-head strong { color: var(--ink); font-size: 17px; line-height: 1.25; }
.nls-library-head small { margin-top: 5px; color: #647169; font-size: 11px; line-height: 1.45; }
.nls-library-head .icon-button { flex: 0 0 36px; width: 36px; height: 36px; }

.nls-library-filters { padding: 13px 14px; border-bottom: 1px solid var(--line); background: #fbfcfb; }
.nls-library-filters label { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nls-library-filters label > span { color: #63746d; font-size: 10px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.nls-library-filters input[type="search"], .nls-library-filters input[type="number"], .nls-library-filters select { width: 100%; min-height: 40px; padding: 0 10px; border: 1px solid #d2dbd5; border-radius: 8px; background: #fff; color: var(--ink); font: 650 12px/1 Inter, Arial, sans-serif; outline: none; }
.nls-library-filters input:focus, .nls-library-filters select:focus { border-color: #84a991; box-shadow: 0 0 0 3px rgba(36, 91, 68, .08); }
.nls-location-filter { flex-direction: row !important; align-items: center; gap: 8px !important; margin-top: 9px; color: #52635a; cursor: pointer; }
.nls-location-filter input { width: 15px; height: 15px; margin: 0; accent-color: var(--green); }
.nls-location-filter span { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; }
.nls-filter-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 11px; }
.nls-filter-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 9px; margin-top: 10px; }
.nls-filter-actions .button { min-height: 36px; white-space: nowrap; }

.nls-library-summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 14px; border-bottom: 1px solid var(--line); background: #fff; color: #6d7971; font-size: 11px; font-weight: 700; }
.nls-library-summary a { color: var(--green); text-decoration: none; white-space: nowrap; }
.nls-library-summary a:hover { text-decoration: underline; }
.nls-library-results { min-height: 0; overflow-y: auto; padding: 10px; }
.nls-library-loading, .nls-library-empty, .nls-library-error { min-height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 22px; border: 1px dashed #cdd8d0; border-radius: 10px; background: #fff; color: #66746c; text-align: center; font-size: 12px; line-height: 1.5; }
.nls-library-error { color: #8c433e; border-color: #e5c7c4; background: #fff9f8; }
.nls-result-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 11px; border: 1px solid #d8e0da; border-radius: 10px; background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.nls-result-card + .nls-result-card { margin-top: 8px; }
.nls-result-card:hover { border-color: #96b09e; box-shadow: 0 5px 15px rgba(24, 47, 33, .08); transform: translateY(-1px); }
.nls-result-card.is-active { border-color: var(--green); box-shadow: 0 0 0 2px rgba(36, 91, 68, .08); }
.nls-result-copy { min-width: 0; }
.nls-result-category { display: block; margin-bottom: 5px; color: var(--green); font-size: 9.5px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.nls-result-copy strong { display: block; color: var(--ink); font-size: 12.5px; line-height: 1.4; }
.nls-result-meta { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.nls-result-meta span { display: inline-flex; align-items: center; min-height: 20px; padding: 0 6px; border-radius: 999px; background: #edf2ee; color: #607068; font-size: 9.5px; font-weight: 750; }
.nls-result-coverage { margin: 8px 0 0; color: #6f7a72; font-size: 10.5px; line-height: 1.4; }
.nls-result-action { align-self: center; min-width: 58px; min-height: 31px; padding: 0 9px; border: 1px solid #b8cbbd; border-radius: 8px; background: #eef6f0; color: var(--green); font-size: 10.5px; font-weight: 800; cursor: pointer; }
.nls-result-action:hover { background: #dfeee3; }
body.nls-library-is-open { overflow: hidden; }

.map-workspace-v5 .map-compare-toolbar { width: min(760px, calc(100% - 250px)); }
.map-workspace-v5 .ol-scale-bar { bottom: 104px !important; }

@media (max-width: 1100px) {
    .map-workspace-v5 { grid-template-columns: 330px minmax(0, 1fr); }
    .map-workspace-v5 .map-compare-toolbar { width: min(650px, calc(100% - 190px)); }
}

@media (max-width: 680px) {
    .map-workspace-v5 { grid-template-columns: 1fr; grid-template-rows: 330px minmax(0, 1fr); }
    .map-workspace-v5 .map-source-section { display: block; }
    .map-workspace-v5 .explorer-panel-head { display: none; }
    .map-workspace-v5 .map-panel { overflow-y: auto; }
    .map-workspace-v5 .historic-select-section { overflow: visible; }
    .overlay-toggle-row { min-height: 46px; }
    .map-workspace-v5 .map-compare-toolbar { left: 8px; right: 72px; width: auto; }
    .nls-library-drawer { width: 100%; }
    .nls-filter-grid { grid-template-columns: 1fr; }
}


/* v0.5.1 — reliable MapTiler redraw and live coal vectors */
.overlay-toggle-copy { grid-template-columns: minmax(0, 1fr) minmax(86px, 112px); grid-template-rows: auto auto; }
.overlay-toggle-copy strong { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
.overlay-toggle-copy small { grid-column: 2; grid-row: 1; }
.overlay-live-state { grid-column: 2; grid-row: 2; justify-self: start; display: inline-flex; align-items: center; min-height: 18px; padding: 0 6px; border-radius: 999px; background: #edf1ee; color: #68756d; font-size: 8px; font-weight: 800; line-height: 1; }
.overlay-live-state.is-ready { background: #dceadf; color: var(--green); }
.overlay-live-state.is-loading { background: #eef2ee; color: #617068; }
.overlay-live-state.is-error { background: #f8e8e6; color: #9b423b; }
.overlay-live-state.is-muted { background: #f0f2f0; color: #7c877f; }
.map-shell-mode .ol-zoom { top: 14px !important; left: 14px !important; }
.map-shell-mode .ol-zoom button + button { margin-top: 1px !important; }
.map-shell-mode .ol-full-screen { top: 14px !important; right: 14px !important; }

@media (max-width: 680px) {
    .overlay-toggle-copy { grid-template-columns: minmax(0, 1fr) minmax(76px, 100px); }
}

/* v0.6.0 Map Intelligence module */
.intel-eyebrow{display:block;margin-bottom:3px;color:var(--green);font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.intel-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border-radius:999px;background:#e5f2e9;color:var(--green);font-size:8px;font-weight:800}
.intel-project-grid{grid-template-columns:110px minmax(220px,1.5fr) 120px 95px 90px 110px}
.intel-project-heading{align-items:center}.intel-heading-actions{display:flex;gap:7px;flex-wrap:wrap}
.intel-tabs a{padding:8px 12px;border-radius:6px;color:#637168;font-size:10px;font-weight:700;white-space:nowrap}.intel-tabs a.is-active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(20,30,25,.08)}
.intel-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:16px}.intel-sidebar{display:flex;flex-direction:column;gap:16px}
.intel-upload{display:grid;grid-template-columns:minmax(230px,1.5fr) 150px 100px 110px auto;align-items:end;gap:10px;padding:15px 18px;background:#fafbfa;border-bottom:1px solid var(--line)}
.intel-upload label{display:flex;flex-direction:column;gap:6px}.intel-upload label>span{color:#536158;font-size:9px;font-weight:750}.intel-upload input,.intel-upload select{width:100%;padding:9px 10px;border:1px solid #d5ddd7;border-radius:7px;background:#fff;color:var(--ink)}
.intel-document-row{display:grid;grid-template-columns:44px minmax(180px,1fr) 170px 125px minmax(235px,auto);align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #edf1ee}
.intel-document-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:8px;background:#eef3ef;color:var(--green);font-size:8px;font-weight:800}
.intel-document-main{min-width:0;display:flex;flex-direction:column}.intel-document-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.intel-document-main span{margin-top:4px;color:var(--muted);font-size:9px}
.intel-document-state{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.intel-document-state small{max-width:170px;color:#a63c32;font-size:8px;line-height:1.35}
.intel-document-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px}.intel-document-actions form{margin:0}
.intel-key-values{padding:5px 15px 12px}.intel-key-values>div{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf1ee}.intel-key-values span{color:var(--muted);font-size:9px}.intel-key-values strong{max-width:190px;text-align:right;font-size:10px;overflow-wrap:anywhere}
.intel-job-list{padding:8px 15px 13px}.intel-job-row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #edf1ee}.intel-job-row>div{display:flex;flex-direction:column}.intel-job-row strong{font-size:10px}.intel-job-row span{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.4}.intel-job-row b{color:var(--green);font-size:10px}.intel-empty-mini{padding:15px;color:var(--muted);font-size:9px}
.intel-review-row,.intel-evidence-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;padding:10px 18px;border-bottom:1px solid #edf1ee}.intel-review-row>div,.intel-evidence-row>div{display:flex;flex-direction:column}.intel-review-row strong,.intel-evidence-row strong{font-size:11px}.intel-review-row span,.intel-evidence-row span{margin-top:4px;color:var(--muted);font-size:9px}
.intel-landuse-row{display:grid;grid-template-columns:minmax(220px,1.6fr) 130px 180px 100px;align-items:center;gap:14px;min-height:64px;padding:10px 18px;border-bottom:1px solid #edf1ee}.intel-landuse-row>div{display:flex;flex-direction:column}.intel-landuse-row>div>span{color:var(--muted);font-size:8px}.intel-landuse-row>div>strong{margin-top:3px;font-size:10px}.intel-landuse-row>div:first-child strong{font-size:12px}
.intel-timeline{padding:10px 18px 20px}.intel-timeline-event{display:grid;grid-template-columns:70px 18px minmax(0,1fr);gap:10px;min-height:105px}.intel-timeline-year{padding-top:4px;text-align:right;color:var(--green);font-size:14px;font-weight:800}.intel-timeline-dot{position:relative}.intel-timeline-dot:before{content:"";position:absolute;top:8px;left:7px;width:7px;height:7px;border-radius:50%;background:var(--green)}.intel-timeline-dot:after{content:"";position:absolute;top:15px;bottom:0;left:10px;width:1px;background:#cfdad2}.intel-timeline-event:last-child .intel-timeline-dot:after{display:none}.intel-timeline-content{padding-bottom:18px}.intel-timeline-content>div{display:flex;align-items:center;gap:6px}.intel-timeline-content h3{margin:7px 0 4px;font-size:13px}.intel-timeline-content p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}
.intel-evidence-row{grid-template-columns:minmax(0,1.5fr) 110px 160px}.intel-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.intel-settings-grid .card{padding-bottom:18px}.intel-connection{margin:16px;padding:15px;border-radius:8px}.intel-connection strong{display:block;font-size:12px}.intel-connection p{margin:5px 0 0;font-size:10px;line-height:1.5}.intel-connection.is-connected{background:#e7f2eb;color:#205f49}.intel-connection.is-pending{background:#fff4dd;color:#79540f}.intel-storage-action{padding:0 16px}.intel-folder-tree{margin:16px;padding:16px;border-radius:8px;background:#18211d;color:#dce8e0;font-size:10px;line-height:1.65;overflow:auto}
.error-message{margin-bottom:16px;padding:12px 14px;border-radius:8px;background:#fae8e6;color:#8f352d;font-size:11px}.status-local,.status-not_started{background:#eef1ef;color:#59665e}.status-queued,.status-processing,.status-uploading{background:#fff2d8;color:#81570d}.status-sharepoint,.status-complete,.status-confirmed{background:#e5f2e9;color:#1e6848}.status-failed,.status-rejected{background:#fae8e6;color:#9d3e35}.status-awaiting_service,.status-review,.status-pending{background:#e8edf8;color:#3a568f}
@media(max-width:1250px){.intel-layout{grid-template-columns:1fr}.intel-sidebar{display:grid;grid-template-columns:1fr 1fr}.intel-document-row{grid-template-columns:44px minmax(180px,1fr) 150px 110px}.intel-document-actions{grid-column:2/-1;justify-content:flex-start}.intel-upload{grid-template-columns:1fr 1fr 1fr}.intel-file{grid-column:1/-1}}
@media(max-width:800px){.intel-project-grid{grid-template-columns:90px minmax(180px,1fr) 80px}.intel-project-grid>*:nth-child(3),.intel-project-grid>*:nth-child(5),.intel-project-grid>*:nth-child(6){display:none}.intel-project-heading{align-items:flex-start;flex-direction:column}.intel-sidebar,.intel-settings-grid{grid-template-columns:1fr}.intel-upload{grid-template-columns:1fr 1fr}.intel-document-row{grid-template-columns:42px 1fr}.intel-document-state,.intel-document-actions{grid-column:2}.intel-document-actions{justify-content:flex-start}.intel-landuse-row{grid-template-columns:1fr 100px}.intel-landuse-row>div:nth-child(3){display:none}.intel-evidence-row{grid-template-columns:1fr 90px}.intel-evidence-row>div:nth-child(3){display:none}}
/* v0.7.0 standalone Map Intelligence cases */
.intel-heading{align-items:flex-end}
.intel-case-grid{grid-template-columns:105px minmax(220px,1.6fr) 105px 85px 80px 100px 115px}
.intel-case-form{max-width:1050px}
.intel-info-panel{margin-top:20px;padding:16px 18px;border:1px solid #cfe0d4;border-radius:10px;background:#eef6f0}
.intel-info-panel strong{display:block;font-size:12px}
.intel-info-panel p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.55}
.intel-upload-v7{grid-template-columns:minmax(250px,1.7fr) 200px 110px 120px auto}
.intel-upload-v7 small{color:#839087;font-size:8px}
.intel-source-note{display:flex;gap:8px 14px;align-items:center;padding:10px 18px;border-bottom:1px solid var(--line);background:#f4f7f4;color:var(--muted);font-size:9px}
.intel-source-note strong{color:var(--green);font-size:9px;white-space:nowrap}
.intel-pipeline-list{display:flex;flex-direction:column;padding:8px 15px 14px}
.intel-pipeline-list span{padding:8px 0;border-bottom:1px solid #edf1ee;color:#59665e;font-size:9px;font-weight:650}
.intel-pipeline-list span:last-child{border-bottom:0}
.intel-review-v7{grid-template-columns:minmax(0,1fr) 90px auto}
.intel-confidence{display:flex;flex-direction:column}
.intel-confidence span{color:var(--muted);font-size:8px}
.intel-confidence strong{margin-top:3px;font-size:11px}
.intel-landuse-v7{grid-template-columns:minmax(220px,1.6fr) 130px minmax(190px,1fr) 100px}
.intel-evidence-row{grid-template-columns:minmax(0,1.6fr) 100px 70px 150px}
@media(max-width:1250px){.intel-upload-v7{grid-template-columns:1fr 1fr 1fr}.intel-upload-v7 .intel-file{grid-column:1/-1}}
@media(max-width:800px){.intel-case-grid{grid-template-columns:90px minmax(170px,1fr) 80px}.intel-case-grid>*:nth-child(3),.intel-case-grid>*:nth-child(5),.intel-case-grid>*:nth-child(7){display:none}.intel-source-note{align-items:flex-start;flex-direction:column}.intel-review-v7{grid-template-columns:1fr auto}.intel-confidence{display:none}.intel-landuse-v7{grid-template-columns:1fr 90px}.intel-landuse-v7>div:nth-child(3){display:none}.intel-evidence-row{grid-template-columns:1fr 70px}.intel-evidence-row>div:nth-child(2),.intel-evidence-row>div:nth-child(4){display:none}}
/* v0.8.0 Intelligence workspace and chunked drag/drop uploader */
.intel-content-wrap{padding-top:12px}
.intel-content-wrap .flash-message{margin-bottom:10px;padding:10px 13px}
.intel-case-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px;padding:3px 1px 0}
.intel-case-header-main{min-width:0}
.intel-case-back{display:inline-flex;margin-bottom:6px;color:var(--green);font-size:10px;font-weight:750}
.intel-case-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.intel-case-title-line h1{margin:0;font-size:27px;line-height:1.05;letter-spacing:-.035em}
.intel-case-meta-pill{display:inline-flex;align-items:center;min-height:23px;padding:0 8px;border:1px solid #d7e0d9;border-radius:999px;background:#fff;color:#5b685f;font-size:9px;font-weight:750}
.intel-case-header p{margin:5px 0 0;color:var(--muted);font-size:11px}
.intel-content-wrap .intel-tabs{margin-bottom:12px}
.intel-layout{align-items:start}
.intel-layout>.card{align-self:start}.intel-sidebar>.card{align-self:stretch;width:100%;min-width:0}
.intel-sidebar{gap:12px}
.intel-sidebar .card-header{padding:14px 16px}
.intel-sidebar .card-header h2{font-size:15px}
.intel-sidebar .card-header p{font-size:10px}
.intel-sidebar .intel-key-values{padding:2px 14px 10px}
.intel-sidebar .intel-key-values>div{padding:8px 0}
.intel-pipeline-list{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;padding:6px 14px 12px}
.intel-pipeline-list span{padding:7px 0;font-size:9px}
.intel-layout>.card>.card-header{padding:16px 18px}
.intel-layout>.card>.card-header h2{font-size:17px}
.intel-layout>.card>.card-header p{font-size:11px}

.intel-chunk-uploader{background:#fbfcfb}
.intel-dropzone{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:15px;margin:16px 18px 12px;padding:18px;border:1.5px dashed #b9c9be;border-radius:12px;background:#f5f8f5;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.intel-dropzone:hover,.intel-dropzone:focus-visible,.intel-dropzone.is-dragging{outline:none;border-color:var(--green);background:#edf6f0;box-shadow:0 0 0 3px rgba(35,104,76,.08)}
.intel-dropzone-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;background:#e2efe6;color:var(--green)}
.intel-dropzone-icon svg{width:26px;height:26px;fill:currentColor}
.intel-dropzone-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.intel-dropzone-copy strong{font-size:13px}
.intel-dropzone-copy span{color:var(--muted);font-size:10px}
.intel-upload-options{display:grid;grid-template-columns:minmax(210px,1fr) 125px 135px minmax(250px,1.35fr);gap:10px;padding:0 18px 14px}
.intel-upload-options label{display:flex;flex-direction:column;gap:6px}
.intel-upload-options label>span{color:#536158;font-size:9px;font-weight:750}
.intel-upload-options input,.intel-upload-options select{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d5ddd7;border-radius:8px;background:#fff;color:var(--ink);font-size:11px}
.intel-upload-auto-note{display:flex;flex-direction:column;justify-content:center;padding:8px 12px;border:1px solid #d9e5dc;border-radius:8px;background:#f0f6f2}
.intel-upload-auto-note strong{color:var(--green);font-size:9px}
.intel-upload-auto-note span{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}
.intel-upload-queue{border-top:1px solid var(--line);padding:4px 18px}
.intel-upload-file{display:grid;grid-template-columns:38px minmax(0,1fr) 95px 28px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf1ee}
.intel-upload-file:last-child{border-bottom:0}
.intel-upload-file-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#edf3ee;color:var(--green);font-size:8px;font-weight:800}
.intel-upload-file-copy{min-width:0}
.intel-upload-file-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.intel-upload-file-copy span{display:block;margin-top:2px;color:var(--muted);font-size:8px}
.intel-upload-progress{height:4px;margin-top:6px;overflow:hidden;border-radius:999px;background:#e3e8e4}
.intel-upload-progress i{display:block;height:100%;border-radius:inherit;background:var(--green);transition:width .15s linear}
.intel-upload-file-status{justify-self:end;color:#66746b;font-size:9px;font-weight:750}
.intel-upload-file-status.is-complete{color:var(--green)}
.intel-upload-file-status.is-error{color:#a23f36}
.intel-upload-remove{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#7d8981;cursor:pointer;font-size:18px;line-height:1}
.intel-upload-remove:hover{background:#edf1ee;color:var(--ink)}
.intel-chunk-uploader.is-uploading .intel-upload-remove{opacity:.35;pointer-events:none}
.intel-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-top:1px solid var(--line);background:#f7f9f7}
.intel-upload-footer>span{color:var(--muted);font-size:9px}
.intel-upload-message{margin:0 18px 14px;padding:10px 12px;border-radius:8px;background:#eef2ef;color:#526158;font-size:10px;font-weight:650}
.intel-upload-message.is-success{background:#e7f2eb;color:#236449}
.intel-upload-message.is-error{background:#fae8e6;color:#983d35}

@media(max-width:1100px){
.intel-upload-options{grid-template-columns:1fr 1fr 1fr}
.intel-upload-auto-note{grid-column:1/-1}
}
@media(max-width:800px){
.intel-content-wrap{padding-top:10px}
.intel-case-header{align-items:flex-start;flex-direction:column}
.intel-case-title-line h1{font-size:24px}
.intel-dropzone{grid-template-columns:45px minmax(0,1fr);margin:12px;padding:14px}
.intel-dropzone-icon{width:45px;height:45px}
.intel-dropzone>.button{grid-column:1/-1;width:100%}
.intel-upload-options{grid-template-columns:1fr;padding:0 12px 12px}
.intel-upload-auto-note{grid-column:auto}
.intel-upload-queue{padding:4px 12px}
.intel-upload-file{grid-template-columns:34px minmax(0,1fr) 72px 25px}
.intel-upload-footer{align-items:stretch;flex-direction:column;padding:12px}
.intel-upload-footer .button{width:100%}
.intel-pipeline-list{grid-template-columns:1fr 1fr}
}
/* v0.8.1 Intelligence sidebar and topbar correction */
.topbar-back-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-size:12px;font-weight:750}
.topbar-back-link svg{width:17px;height:17px;fill:currentColor}
.topbar-back-link:hover{color:var(--green)}
.intel-sidebar{width:100%;min-width:0}
.intel-sidebar>.card{box-sizing:border-box}
.intel-sidebar .intel-key-values strong{min-width:0}
/* v0.9.0 first-pass analysis engine UI */
.intel-service-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px;padding:12px 14px;border:1px solid #ead49f;border-radius:9px;background:#fff7e5}
.intel-service-banner>div{display:flex;flex-direction:column;gap:3px}
.intel-service-banner strong{color:#6f4b0b;font-size:11px}
.intel-service-banner span{color:#80652f;font-size:9px}
.intel-page-list{display:flex;flex-direction:column}
.intel-page-row{display:grid;grid-template-columns:44px minmax(190px,1.5fr) 90px 110px 120px 140px;align-items:center;gap:12px;min-height:66px;padding:10px 18px;border-bottom:1px solid #edf1ee}
.intel-page-number{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#edf3ee;color:var(--green);font-size:11px;font-weight:800}
.intel-page-main,.intel-page-value{min-width:0;display:flex;flex-direction:column}
.intel-page-main strong{font-size:11px}.intel-page-main span{margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}
.intel-page-value span{color:var(--muted);font-size:8px}.intel-page-value strong{margin-top:3px;font-size:10px}.intel-page-value small{margin-top:2px;color:#89958d;font-size:7px}
.intel-service-pipeline{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;padding:7px 16px 13px}
.intel-service-pipeline span{padding:9px 0;border-bottom:1px solid #edf1ee;color:#536158;font-size:9px;font-weight:650}
.intel-safety-note{margin:0 16px 16px;padding:13px 14px;border:1px solid #d8e4dc;border-radius:8px;background:#f1f6f2}
.intel-safety-note strong{color:var(--green);font-size:10px}.intel-safety-note p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
@media(max-width:1050px){.intel-page-row{grid-template-columns:44px minmax(180px,1fr) 85px 100px}.intel-page-row>.intel-page-value:nth-child(5),.intel-page-row>.intel-page-value:nth-child(6){display:none}}
@media(max-width:700px){.intel-service-banner{align-items:stretch;flex-direction:column}.intel-service-banner .button{width:100%}.intel-page-row{grid-template-columns:38px minmax(0,1fr) 80px;padding:9px 12px}.intel-page-row>.intel-page-value:nth-child(n+4){display:none}.intel-service-pipeline{grid-template-columns:1fr}}
/* v0.10.0 analysis benchmark and worker diagnostics */
.intel-processing-head{align-items:center}
.intel-run-card{padding:15px 18px;border-bottom:1px solid #edf1ee}
.intel-run-card:last-child{border-bottom:0}
.intel-run-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.intel-run-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.intel-run-title strong{font-size:12px}
.intel-run-head>div>span{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.intel-run-progress{text-align:right;white-space:nowrap}
.intel-run-progress strong{display:block;color:var(--green);font-size:16px}
.intel-run-progress span{margin-top:2px;color:var(--muted);font-size:8px}
.intel-run-message{margin:10px 0 0;color:#526158;font-size:10px;line-height:1.5}
.intel-run-metrics{display:grid;grid-template-columns:repeat(8,minmax(80px,1fr));gap:7px;margin-top:12px}
.intel-run-metrics>div,.intel-diagnostic-grid>div{padding:10px;border:1px solid #e0e7e2;border-radius:8px;background:#f8faf8}
.intel-run-metrics span,.intel-diagnostic-grid span{display:block;color:var(--muted);font-size:8px}
.intel-run-metrics strong,.intel-diagnostic-grid strong{display:block;margin-top:4px;font-size:11px}
.intel-run-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.intel-run-meta span{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;background:#eef2ef;color:#5b685f;font-size:8px;font-weight:700}
.intel-run-warnings{display:flex;flex-direction:column;gap:5px;margin-top:10px;padding:11px 12px;border:1px solid #ead9b4;border-radius:8px;background:#fff8e9}
.intel-run-warnings strong{color:#79540f;font-size:9px}
.intel-run-warnings span{color:#755f32;font-size:9px;line-height:1.4}
.intel-service-actions{display:flex;gap:8px;padding:0 16px 16px}
.intel-service-actions form{margin:0}
.intel-diagnostic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px}
.intel-package-list{padding:0 16px 16px}
.intel-package-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf1ee}
.intel-package-list span{color:var(--muted);font-size:9px}
.intel-package-list strong{font-size:9px}
.intel-analysis-safety{margin-top:16px}
.intel-safety-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px}
.intel-safety-grid>div{padding:13px;border:1px solid #dce6df;border-radius:9px;background:#f5f8f5}
.intel-safety-grid strong{display:block;font-size:10px}
.intel-safety-grid span{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45}
@media(max-width:1250px){.intel-run-metrics{grid-template-columns:repeat(4,minmax(80px,1fr))}.intel-diagnostic-grid,.intel-safety-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.intel-run-head{flex-direction:column}.intel-run-progress{text-align:left}.intel-run-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.intel-diagnostic-grid,.intel-safety-grid{grid-template-columns:1fr}.intel-service-actions{align-items:stretch;flex-direction:column}.intel-service-actions .button{width:100%}}
/* v0.11.0 Envirocheck extraction accuracy */
.intel-review-v11{grid-template-columns:minmax(0,1fr) 100px auto}
.intel-review-copy{min-width:0}
.intel-review-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.intel-review-title strong{font-size:11px}
.intel-review-copy>small{display:block;margin-top:4px;color:#7c8880;font-size:8px;line-height:1.4}
.intel-review-copy>span{display:block;margin-top:5px;color:var(--muted);font-size:9px}
.intel-tier-pill{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:999px;font-size:8px;font-weight:800}
.intel-tier-pill.is-primary{background:#e5f1e9;color:#1d6647}
.intel-tier-pill.is-contextual{background:#eef1f3;color:#657079}
.intel-confidence small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
.intel-landuse-v11{grid-template-columns:minmax(280px,1.8fr) 105px minmax(160px,.8fr) 85px 90px}
.intel-landuse-main{min-width:0}
.intel-landuse-main>span{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.intel-landuse-main>small{display:block;display:-webkit-box;margin-top:6px;overflow:hidden;color:#66736a;font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.intel-landuse-confidence span{display:block;color:var(--muted);font-size:8px}
.intel-landuse-confidence strong{display:block;margin-top:4px;font-size:11px}
.intel-page-row-v11{grid-template-columns:48px minmax(210px,1.25fr) 130px 120px 110px 130px}
.intel-page-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.intel-page-map-pill{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border-radius:999px;font-size:7px;font-weight:800}
.intel-page-map-pill.is-historic{background:#e6f1e9;color:#23664a}
.intel-page-map-pill.is-reference{background:#eef1f3;color:#68747c}
.intel-page-main small{display:block;margin-top:3px;color:#88928c;font-size:7px}
.intel-run-metrics-v11{grid-template-columns:repeat(6,minmax(90px,1fr))}
@media(max-width:1250px){
.intel-landuse-v11{grid-template-columns:minmax(240px,1.5fr) 95px minmax(140px,.8fr) 80px}
.intel-landuse-v11>.status-pill{display:none}
.intel-page-row-v11{grid-template-columns:42px minmax(190px,1.2fr) 115px 105px 105px}
.intel-page-row-v11>div:last-child{display:none}
.intel-run-metrics-v11{grid-template-columns:repeat(4,minmax(90px,1fr))}
}
@media(max-width:800px){
.intel-review-v11{grid-template-columns:1fr auto}
.intel-review-v11 .intel-confidence{display:none}
.intel-landuse-v11{grid-template-columns:1fr 90px}
.intel-landuse-v11>div:nth-child(3),.intel-landuse-v11>div:nth-child(4),.intel-landuse-v11>.status-pill{display:none}
.intel-page-row-v11{grid-template-columns:38px minmax(0,1fr) 95px}
.intel-page-row-v11>div:nth-child(4),.intel-page-row-v11>div:nth-child(5),.intel-page-row-v11>div:nth-child(6){display:none}
.intel-run-metrics-v11{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ES Maps v0.12 — registration, measurement and Word review table */
.intel-registration-summary{margin-bottom:1rem}.intel-card-header-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.intel-method-badge{display:inline-flex;align-items:center;min-height:34px;padding:.45rem .75rem;border-radius:999px;background:#edf5f1;color:#173f35;font-size:.78rem;font-weight:700;white-space:nowrap}.intel-registration-notice{display:grid;gap:.3rem;margin:0 1rem 1rem;padding:.9rem 1rem;border:1px solid #d8e4df;border-radius:12px;background:#f7faf8;color:#52625c}.intel-registration-notice strong{color:#173f35;font-size:.9rem}.intel-registration-notice.is-ready{border-color:#b8d8c9;background:#edf7f1}.intel-registration-notice.is-ready strong{color:#0b6b47}.intel-registration-notice span{font-size:.82rem;line-height:1.5}.intel-registration-row{display:grid;grid-template-columns:46px minmax(280px,1fr) minmax(150px,.4fr) auto;align-items:center;gap:1rem;padding:1rem;border-top:1px solid #e8eeeb}.intel-registration-row:first-child{border-top:0}.intel-registration-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.intel-registration-actions form{margin:0}.intel-registration-editor-card{overflow:visible}.intel-registration-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1rem;padding:1rem}.intel-map-trace-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.7rem}.intel-map-trace-toolbar>div:first-child{display:grid;gap:.2rem}.intel-map-trace-toolbar strong{color:#173f35}.intel-map-trace-toolbar span{font-size:.82rem;color:#66766f}.intel-trace-buttons{display:flex;gap:.45rem;flex-wrap:wrap}.intel-map-trace-stage{position:relative;width:100%;overflow:hidden;border:1px solid #cfdad5;border-radius:12px;background:#eef2f0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}.intel-map-trace-stage img{display:block;width:100%;height:auto;user-select:none}.intel-map-trace-stage svg{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.intel-detection-polygon{fill:rgba(201,91,50,.10);stroke:rgba(170,61,24,.7);stroke-width:2;vector-effect:non-scaling-stroke}.intel-site-trace-fill{fill:rgba(22,126,91,.18);stroke:none}.intel-site-trace-line{fill:none;stroke:#0e7b55;stroke-width:4;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.intel-site-trace-point{fill:#fff;stroke:#0e7b55;stroke-width:3;vector-effect:non-scaling-stroke}.intel-map-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.6rem;color:#66766f;font-size:.78rem}.intel-map-legend span{display:inline-flex;align-items:center;gap:.4rem}.intel-map-legend i{width:16px;height:10px;border-radius:3px;display:inline-block}.intel-legend-site{background:rgba(22,126,91,.2);border:2px solid #0e7b55}.intel-legend-detection{background:rgba(201,91,50,.12);border:1px solid rgba(170,61,24,.7)}.intel-registration-form{align-self:start;position:sticky;top:84px;display:grid;gap:.85rem;padding:1rem;border:1px solid #d8e2dd;border-radius:14px;background:#fbfcfb}.intel-registration-form-header{display:grid;gap:.2rem;padding-bottom:.25rem}.intel-registration-form-header h3{margin:0;color:#173f35}.intel-registration-form-header p{margin:0;color:#66766f;font-size:.8rem;line-height:1.45}.intel-scale-input{display:flex;align-items:center;gap:.45rem}.intel-scale-input>span{color:#66766f;font-weight:700}.intel-scale-input input{flex:1;min-width:0}.intel-registration-calculation{display:grid;gap:.15rem;padding:.75rem;border-radius:10px;background:#f1f6f3}.intel-registration-calculation span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#718078}.intel-registration-calculation strong{color:#173f35}.intel-registration-calculation small{color:#66766f;line-height:1.35}.button-block{width:100%;justify-content:center}.intel-form-footnote{margin:0;color:#718078;font-size:.75rem;line-height:1.45}.intel-landuse-review-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,.42fr) minmax(360px,.9fr);gap:1rem;align-items:start;padding:1rem;border-top:1px solid #e8eeeb}.intel-landuse-review-card:first-of-type{border-top:0}.intel-landuse-review-card.is-outside-radius{background:#faf9f7}.intel-landuse-review-main{display:grid;gap:.25rem}.intel-landuse-review-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.intel-landuse-review-main>span,.intel-landuse-review-main>small{color:#66766f;line-height:1.45}.intel-landuse-review-main>span{font-size:.8rem}.intel-landuse-review-main>small{font-size:.76rem}.intel-landuse-measurement{display:grid;gap:.2rem;padding:.7rem;border-radius:10px;background:#f3f7f5}.intel-landuse-measurement span{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#718078}.intel-landuse-measurement strong{color:#173f35}.intel-landuse-measurement small{font-size:.73rem;color:#66766f}.intel-landuse-review-form{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.intel-landuse-review-form .intel-review-actions{grid-column:1/-1;display:flex;gap:.45rem;flex-wrap:wrap}.intel-review-table-wrap{overflow-x:auto}.intel-review-table{width:100%;border-collapse:collapse;table-layout:fixed}.intel-review-table th,.intel-review-table td{padding:.85rem;vertical-align:top;border:1px solid #d9e2de;text-align:left}.intel-review-table th{background:#173f35;color:#fff;font-size:.78rem}.intel-review-table th:nth-child(1){width:13%}.intel-review-table th:nth-child(2){width:14%}.intel-review-table th:nth-child(3){width:31%}.intel-review-table th:nth-child(4){width:42%}.intel-review-entry{padding:.15rem 0;color:#273b34;line-height:1.4}.intel-review-entry:before{content:'•';margin-right:.45rem;color:#0e7b55}.intel-review-none{color:#829089;font-style:italic;font-size:.82rem}.intel-pending-warning{display:block;margin-top:.5rem;padding:.4rem .5rem;border-radius:7px;background:#fff3d6;color:#7a5510}.intel-page-action{display:flex;justify-content:flex-end}.button[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
@media(max-width:1180px){.intel-registration-editor-grid{grid-template-columns:1fr}.intel-registration-form{position:static}.intel-landuse-review-card{grid-template-columns:1fr 1fr}.intel-landuse-review-form{grid-column:1/-1}}
@media(max-width:820px){.intel-card-header-actions,.intel-map-trace-toolbar{flex-direction:column}.intel-registration-row{grid-template-columns:42px 1fr}.intel-registration-row>.intel-page-value,.intel-registration-actions{grid-column:2}.intel-registration-actions{justify-content:flex-start}.intel-landuse-review-card{grid-template-columns:1fr}.intel-landuse-review-form{grid-template-columns:1fr}.intel-review-table{min-width:760px}}

/* ES Maps v0.14 — automatic Envirocheck registration */
.intel-registration-batch-header{align-items:center}.intel-registration-batch-header form{margin:0}.intel-registration-auto-notice{border-color:#bfd9cd;background:#f1f8f4}.intel-registration-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:0 1rem 1rem}.intel-registration-method-grid>div{position:relative;display:grid;grid-template-columns:34px 1fr;column-gap:.65rem;row-gap:.15rem;align-items:center;padding:.8rem;border:1px solid #dce6e1;border-radius:12px;background:#fbfcfb}.intel-registration-method-grid>div>strong{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#173f35;color:#fff;font-size:.85rem}.intel-registration-method-grid span{color:#173f35;font-size:.82rem;font-weight:750}.intel-registration-method-grid small{color:#6c7a73;font-size:.7rem;line-height:1.35}.intel-registration-row-confirmed{border-left:3px solid #2c8a64}.intel-registration-row-pending{border-left:3px solid #c28a28}.intel-registration-row-failed{border-left:3px solid #bb4b45}.status-failed{background:#f8e8e6;color:#91352f}.status-neutral{background:#eef1ef;color:#66736d}.intel-registration-message{color:#56665f!important}.intel-registration-diagnostics{min-width:190px}.intel-registration-diagnostics small{display:block;margin-top:.2rem;color:#6d7a74;font-size:.72rem}.intel-header-action-group{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.intel-header-action-group form{margin:0}.intel-auto-registration-strip{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.65rem;margin:0 1rem 1rem;padding:.8rem;border:1px solid #bfd8cc;border-radius:12px;background:#f2f8f5}.intel-auto-registration-strip.is-review{border-color:#e3cca0;background:#fff9ed}.intel-auto-registration-strip>div{min-width:0;padding:.55rem .65rem;border-radius:9px;background:rgba(255,255,255,.72)}.intel-auto-registration-strip span{display:block;color:#728079;font-size:.66rem;text-transform:uppercase;letter-spacing:.035em}.intel-auto-registration-strip strong{display:block;margin-top:.2rem;color:#173f35;font-size:.78rem;line-height:1.3}.intel-registration-warning-list{display:grid;gap:.4rem;margin:0 1rem 1rem}.intel-registration-warning-list p{margin:0;padding:.6rem .75rem;border:1px solid #ead4a8;border-radius:9px;background:#fff9ec;color:#77581c;font-size:.76rem;line-height:1.4}.intel-registration-editor-grid-v13{grid-template-columns:minmax(0,1fr) 350px}.intel-registration-map-column{min-width:0}.intel-map-trace-viewport{position:relative;width:100%;height:min(72vh,820px);min-height:520px;overflow:hidden;border:1px solid #cbd8d2;border-radius:13px;background:#e8eeeb;touch-action:none}.intel-map-trace-canvas{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.intel-map-trace-canvas img,.intel-map-trace-canvas svg{position:absolute;inset:0;display:block;width:100%;height:100%;user-select:none}.intel-map-trace-canvas svg{cursor:crosshair}.intel-map-trace-viewport.is-panning .intel-map-trace-canvas svg{cursor:grab}.intel-map-trace-viewport.is-panning:active .intel-map-trace-canvas svg{cursor:grabbing}.intel-trace-buttons .is-active{background:#173f35;color:#fff;border-color:#173f35}.intel-site-trace-point{cursor:move}.intel-map-crop-note{margin-left:auto;color:#85918b}.intel-registration-form .button-block{min-height:42px}
@media(max-width:1300px){.intel-registration-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intel-auto-registration-strip{grid-template-columns:repeat(3,minmax(120px,1fr))}.intel-registration-editor-grid-v13{grid-template-columns:minmax(0,1fr) 320px}}
@media(max-width:1050px){.intel-registration-editor-grid-v13{grid-template-columns:1fr}.intel-map-trace-viewport{height:640px;min-height:460px}.intel-auto-registration-strip{grid-template-columns:repeat(2,minmax(120px,1fr))}.intel-registration-diagnostics{min-width:0}}
@media(max-width:820px){.intel-registration-method-grid{grid-template-columns:1fr}.intel-auto-registration-strip{grid-template-columns:1fr}.intel-header-action-group{width:100%}.intel-header-action-group .button{width:100%;justify-content:center}.intel-map-trace-viewport{height:520px;min-height:400px}.intel-trace-buttons{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.intel-trace-buttons .button{justify-content:center}.intel-map-crop-note{width:100%;margin-left:0}.intel-registration-row{border-left-width:2px}}

/* ES Maps v0.14 — readable inner pages and live workflow progress */
.intel-content-wrap-readable{font-size:15px;line-height:1.55}
.intel-content-wrap-readable .card-header p,
.intel-content-wrap-readable .intel-page-main>span,
.intel-content-wrap-readable .intel-page-main>small,
.intel-content-wrap-readable .intel-registration-diagnostics small,
.intel-content-wrap-readable .intel-run-head span,
.intel-content-wrap-readable .intel-run-message,
.intel-content-wrap-readable .intel-registration-message,
.intel-content-wrap-readable .intel-landuse-review-main>span,
.intel-content-wrap-readable .intel-landuse-review-main>small,
.intel-content-wrap-readable .intel-review-none,
.intel-content-wrap-readable .intel-form-footnote{font-size:.86rem;line-height:1.55}
.intel-content-wrap-readable .intel-metric-card span,
.intel-content-wrap-readable .intel-page-value>span,
.intel-content-wrap-readable .intel-landuse-measurement span,
.intel-content-wrap-readable .intel-registration-calculation span{font-size:.76rem}
.intel-content-wrap-readable .intel-page-title strong,
.intel-content-wrap-readable .intel-registration-diagnostics strong,
.intel-content-wrap-readable .intel-run-title strong{font-size:.98rem}
.intel-content-wrap-readable .status-pill{font-size:.76rem;padding:.3rem .55rem}
.intel-content-wrap-readable .button{font-size:.88rem;min-height:40px;padding:.62rem .9rem}
.intel-content-wrap-readable input,
.intel-content-wrap-readable select,
.intel-content-wrap-readable textarea{font-size:.94rem}
.intel-content-wrap-readable .intel-registration-method-grid span{font-size:.9rem}
.intel-content-wrap-readable .intel-registration-method-grid small{font-size:.79rem;line-height:1.45}
.intel-content-wrap-readable .intel-run-metrics span{font-size:.74rem}
.intel-content-wrap-readable .intel-run-metrics strong{font-size:.94rem}
.intel-live-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem 1rem;align-items:center;margin:0 1rem 1rem;padding:1rem;border:1px solid #c8dcd2;border-radius:13px;background:#f4f9f6}
.intel-live-progress-copy{display:grid;gap:.16rem}
.intel-live-progress-copy strong{color:#173f35;font-size:.98rem}
.intel-live-progress-copy span{color:#607069;font-size:.86rem;line-height:1.45}
.intel-live-progress-value strong{color:#0d7652;font-size:1.08rem}
.intel-live-progress-track{grid-column:1/-1;height:8px;overflow:hidden;border-radius:999px;background:#dfe9e4}
.intel-live-progress-track span{display:block;height:100%;border-radius:inherit;background:#167e5b;transition:width .28s ease}
.status-queued{background:#e8eef8;color:#36598b}.status-processing{background:#e5f3ec;color:#176f4f}
.intel-registration-row-queued{border-left:3px solid #6686b2}.intel-registration-row-processing{border-left:3px solid #278763}
.intel-registration-row-processing .intel-page-number{position:relative}
.intel-registration-row-processing .intel-page-number:after{content:'';position:absolute;right:-7px;top:50%;width:7px;height:7px;margin-top:-3px;border-radius:50%;background:#21815e;box-shadow:0 0 0 4px rgba(33,129,94,.12);animation:esmaps-pulse 1.15s infinite}
.intel-live-status-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .68rem;border:1px solid #d4dfda;border-radius:999px;background:#f7f9f8;color:#66746e;font-size:.8rem}
.intel-live-status-pill>span{width:8px;height:8px;border-radius:50%;background:#9aa6a0}
.intel-live-status-pill.is-active{border-color:#bdd8cb;background:#eef7f2;color:#176d4e}
.intel-live-status-pill.is-active>span{background:#21815e;box-shadow:0 0 0 4px rgba(33,129,94,.12);animation:esmaps-pulse 1.15s infinite}
.intel-inline-progress-track{height:5px;margin:.7rem 0 .2rem;overflow:hidden;border-radius:999px;background:#e5ece8}
.intel-inline-progress-track span{display:block;height:100%;border-radius:inherit;background:#23815e;transition:width .25s ease}
@keyframes esmaps-pulse{0%,100%{opacity:.55;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:820px){.intel-content-wrap-readable{font-size:14.5px}.intel-live-progress{grid-template-columns:1fr}.intel-live-progress-value{grid-row:1;grid-column:1;justify-self:end}.intel-live-progress-track{grid-column:1}}


/* ES Maps v0.14.2 — consistent readable typography across every Map Intelligence case tab */
.intel-case-pages-readable{font-size:15px;line-height:1.58}
.intel-case-pages-readable .intel-case-back{font-size:.82rem}
.intel-case-pages-readable .intel-case-meta-pill{min-height:27px;padding:0 10px;font-size:.78rem}
.intel-case-pages-readable .intel-case-header p{font-size:.92rem;line-height:1.5}
.intel-case-pages-readable .intel-tabs{gap:4px;padding:4px}
.intel-case-pages-readable .intel-tabs a{padding:10px 14px;font-size:.88rem;line-height:1.2}
.intel-case-pages-readable .card-header{gap:14px}
.intel-case-pages-readable .card-header h2{font-size:1.08rem;line-height:1.25}
.intel-case-pages-readable .card-header p{font-size:.9rem;line-height:1.5}
.intel-case-pages-readable .intel-eyebrow{font-size:.76rem}
.intel-case-pages-readable .intel-pill,
.intel-case-pages-readable .intel-tier-pill,
.intel-case-pages-readable .intel-page-map-pill{font-size:.76rem;min-height:24px;padding:0 8px}
.intel-case-pages-readable .status-pill{font-size:.78rem;min-height:25px;padding:.3rem .58rem}
.intel-case-pages-readable .button,
.intel-case-pages-readable .button-small{font-size:.88rem;min-height:40px;padding:.62rem .9rem}
.intel-case-pages-readable .button-small{min-height:36px;padding:.5rem .72rem}
.intel-case-pages-readable input,
.intel-case-pages-readable select,
.intel-case-pages-readable textarea{font-size:.94rem;line-height:1.35}
.intel-case-pages-readable .form-field>span,
.intel-case-pages-readable .intel-upload label>span,
.intel-case-pages-readable .intel-upload-options label>span{font-size:.84rem}
.intel-case-pages-readable .form-field small{font-size:.8rem;line-height:1.45}
.intel-case-pages-readable .intel-service-banner strong{font-size:.98rem}
.intel-case-pages-readable .intel-service-banner span{font-size:.86rem;line-height:1.5}
.intel-case-pages-readable .intel-dropzone-copy strong{font-size:1rem}
.intel-case-pages-readable .intel-dropzone-copy span{font-size:.86rem}
.intel-case-pages-readable .intel-upload-auto-note strong{font-size:.84rem}
.intel-case-pages-readable .intel-upload-auto-note span,
.intel-case-pages-readable .intel-upload-footer>span,
.intel-case-pages-readable .intel-upload-message{font-size:.84rem;line-height:1.5}
.intel-case-pages-readable .intel-upload-file-copy strong{font-size:.92rem}
.intel-case-pages-readable .intel-upload-file-copy span,
.intel-case-pages-readable .intel-upload-file-status{font-size:.8rem}
.intel-case-pages-readable .intel-document-icon{font-size:.72rem}
.intel-case-pages-readable .intel-document-main strong{font-size:.98rem}
.intel-case-pages-readable .intel-document-main span{font-size:.85rem;line-height:1.48}
.intel-case-pages-readable .intel-document-state small{font-size:.78rem;line-height:1.45}
.intel-case-pages-readable .intel-key-values span{font-size:.82rem}
.intel-case-pages-readable .intel-key-values strong{font-size:.9rem;line-height:1.4}
.intel-case-pages-readable .intel-pipeline-list span,
.intel-case-pages-readable .intel-service-pipeline span{font-size:.84rem;line-height:1.4}
.intel-case-pages-readable .intel-job-row strong{font-size:.9rem}
.intel-case-pages-readable .intel-job-row span,
.intel-case-pages-readable .intel-empty-mini{font-size:.8rem;line-height:1.45}
.intel-case-pages-readable .intel-job-row b{font-size:.9rem}
.intel-case-pages-readable .intel-page-number{font-size:.86rem}
.intel-case-pages-readable .intel-page-main strong,
.intel-case-pages-readable .intel-page-title strong{font-size:.98rem}
.intel-case-pages-readable .intel-page-main span,
.intel-case-pages-readable .intel-page-main small{font-size:.84rem;line-height:1.45}
.intel-case-pages-readable .intel-page-value span{font-size:.78rem}
.intel-case-pages-readable .intel-page-value strong{font-size:.92rem}
.intel-case-pages-readable .intel-page-value small{font-size:.76rem;line-height:1.4}
.intel-case-pages-readable .intel-safety-note strong{font-size:.92rem}
.intel-case-pages-readable .intel-safety-note p{font-size:.84rem;line-height:1.55}
.intel-case-pages-readable .intel-review-row strong,
.intel-case-pages-readable .intel-evidence-row strong,
.intel-case-pages-readable .intel-review-title strong{font-size:.98rem}
.intel-case-pages-readable .intel-review-row span,
.intel-case-pages-readable .intel-evidence-row span,
.intel-case-pages-readable .intel-review-copy>span{font-size:.84rem;line-height:1.5}
.intel-case-pages-readable .intel-review-copy>small,
.intel-case-pages-readable .intel-confidence span,
.intel-case-pages-readable .intel-confidence small{font-size:.78rem;line-height:1.45}
.intel-case-pages-readable .intel-confidence strong{font-size:.95rem}
.intel-case-pages-readable .intel-landuse-row>div>span,
.intel-case-pages-readable .intel-landuse-main>span,
.intel-case-pages-readable .intel-landuse-confidence span{font-size:.8rem;line-height:1.45}
.intel-case-pages-readable .intel-landuse-row>div>strong,
.intel-case-pages-readable .intel-landuse-confidence strong{font-size:.94rem}
.intel-case-pages-readable .intel-landuse-row>div:first-child strong{font-size:1rem}
.intel-case-pages-readable .intel-landuse-main>small{font-size:.78rem;line-height:1.5}
.intel-case-pages-readable .intel-landuse-review-main>span{font-size:.86rem}
.intel-case-pages-readable .intel-landuse-review-main>small,
.intel-case-pages-readable .intel-landuse-measurement small{font-size:.8rem;line-height:1.45}
.intel-case-pages-readable .intel-landuse-measurement span{font-size:.76rem}
.intel-case-pages-readable .intel-landuse-measurement strong{font-size:.96rem}
.intel-case-pages-readable .intel-timeline-year{font-size:1rem}
.intel-case-pages-readable .intel-timeline-content h3{font-size:1rem}
.intel-case-pages-readable .intel-timeline-content p{font-size:.86rem;line-height:1.58}
.intel-case-pages-readable .intel-run-title strong{font-size:1rem}
.intel-case-pages-readable .intel-run-head>div>span,
.intel-case-pages-readable .intel-run-progress span{font-size:.82rem}
.intel-case-pages-readable .intel-run-message{font-size:.88rem;line-height:1.55}
.intel-case-pages-readable .intel-run-metrics span,
.intel-case-pages-readable .intel-diagnostic-grid span{font-size:.76rem}
.intel-case-pages-readable .intel-run-metrics strong,
.intel-case-pages-readable .intel-diagnostic-grid strong{font-size:.95rem}
.intel-case-pages-readable .intel-run-meta span{font-size:.76rem;min-height:27px}
.intel-case-pages-readable .intel-run-warnings strong,
.intel-case-pages-readable .intel-run-warnings span{font-size:.82rem;line-height:1.45}
.intel-case-pages-readable .intel-source-note,
.intel-case-pages-readable .intel-source-note strong{font-size:.82rem;line-height:1.45}
.intel-case-pages-readable .intel-review-table th{font-size:.86rem}
.intel-case-pages-readable .intel-review-table td,
.intel-case-pages-readable .intel-review-entry{font-size:.9rem;line-height:1.5}
.intel-case-pages-readable .intel-review-none,
.intel-case-pages-readable .intel-pending-warning{font-size:.84rem;line-height:1.45}
.intel-case-pages-readable .intel-registration-form-header p,
.intel-case-pages-readable .intel-form-footnote{font-size:.82rem;line-height:1.5}
.intel-case-pages-readable .intel-registration-calculation span{font-size:.76rem}
.intel-case-pages-readable .intel-registration-calculation small,
.intel-case-pages-readable .intel-registration-diagnostics small,
.intel-case-pages-readable .intel-registration-message{font-size:.8rem;line-height:1.45}
.intel-case-pages-readable .intel-auto-registration-strip span{font-size:.74rem}
.intel-case-pages-readable .intel-auto-registration-strip strong{font-size:.88rem}
.intel-case-pages-readable .intel-registration-warning-list p{font-size:.84rem;line-height:1.5}
.intel-case-pages-readable .intel-live-status-pill{font-size:.84rem}
.intel-case-pages-readable .empty-state h3{font-size:1.05rem}
.intel-case-pages-readable .empty-state p{font-size:.88rem;line-height:1.5}
@media(max-width:820px){
  .intel-case-pages-readable{font-size:14.5px}
  .intel-case-pages-readable .intel-tabs a{font-size:.84rem;padding:9px 12px}
}

/* ES Maps v0.17 consolidated consultant review */
.intel-landuse-summary-grid{grid-template-columns:repeat(6,minmax(120px,1fr))}
.intel-consolidated-review-shell{overflow:visible}
.intel-landuse-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(165px,.8fr)) auto auto;align-items:end;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:#f8faf8}
.intel-landuse-filters .form-field span,.intel-consultant-wording span,.intel-member-review-form .form-field span{font-size:11px}
.intel-landuse-filters input,.intel-landuse-filters select,.intel-consultant-wording input,.intel-member-review-form input,.intel-member-review-form select{min-height:42px;font-size:13px}
.intel-bulk-review-bar{position:sticky;top:58px;z-index:8;display:flex;align-items:center;gap:16px;padding:11px 18px;border-bottom:1px solid #dbe4de;background:#f0f5f1;box-shadow:0 3px 10px rgba(28,58,47,.05)}
.intel-bulk-review-bar>label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.intel-bulk-review-bar>span{color:var(--muted);font-size:11px}.intel-bulk-review-bar .intel-review-actions{margin-left:auto}
.intel-consolidated-group{display:grid;grid-template-columns:28px minmax(280px,1.35fr) minmax(180px,.7fr) minmax(330px,1.2fr);gap:16px;align-items:start;padding:18px;border-bottom:1px solid #e5ebe7;background:#fff}.intel-consolidated-group:last-child{border-bottom:0}.intel-consolidated-group.is-outside-radius{background:#fafafa;opacity:.8}
.intel-consolidated-select{padding-top:4px}.intel-consolidated-select input{width:18px;height:18px}
.intel-consolidated-summary{min-width:0}.intel-consolidated-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.intel-consolidated-title>strong{font-size:15px}.intel-consolidated-summary>span{display:block;margin-top:7px;color:var(--muted);font-size:12px;line-height:1.5}.intel-consolidated-summary>small{display:block;margin-top:5px;color:#718078;font-size:11px;line-height:1.5}
.intel-risk-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:999px;font-size:9px;font-weight:800}.intel-risk-pill.is-potentially_contaminative{background:#f7e9e5;color:#8e3f32}.intel-risk-pill.is-supporting_environmental{background:#e8f0f5;color:#3f6479}.intel-risk-pill.is-contextual{background:#edf1ee;color:#66736b}
.intel-consolidated-measurement{display:flex;flex-direction:column;padding:12px;border:1px solid #dde6e0;border-radius:9px;background:#f7faf8}.intel-consolidated-measurement>span{color:var(--muted);font-size:10px}.intel-consolidated-measurement>strong{margin-top:5px;font-size:13px;line-height:1.4}.intel-consolidated-measurement>small{margin-top:5px;color:#75827a;font-size:10px}
.intel-consolidated-actions{display:grid;grid-template-columns:1fr;gap:9px}.intel-consultant-wording{margin:0}.intel-consolidated-actions .intel-review-actions{display:flex;flex-wrap:wrap;gap:7px}.intel-consolidated-actions.is-saving,.intel-member-review-form.is-saving{opacity:.55;pointer-events:none}
.intel-consolidated-evidence{grid-column:2/-1;margin-top:-4px;border:1px solid #e0e7e2;border-radius:9px;background:#fafcfb}.intel-consolidated-evidence>summary{cursor:pointer;padding:11px 13px;color:var(--green);font-size:11px;font-weight:800}.intel-consolidated-member-list{border-top:1px solid #e4ebe6}.intel-consolidated-member{padding:14px;border-bottom:1px solid #e7ece9}.intel-consolidated-member:last-child{border-bottom:0}.intel-consolidated-member-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.intel-consolidated-member-head strong{display:block;font-size:12px}.intel-consolidated-member-head span{display:block;margin-top:4px;color:var(--muted);font-size:10px}.intel-member-links{display:flex;align-items:center;gap:8px}.intel-member-review-form{display:grid;grid-template-columns:minmax(200px,1.3fr) 135px 110px 145px auto;align-items:end;gap:9px;margin-top:12px}.intel-member-review-form .intel-review-actions{display:flex;gap:6px;flex-wrap:wrap}
.intel-ajax-message{margin:12px 18px 0;padding:11px 13px;border-radius:8px;font-size:12px;font-weight:700}.intel-ajax-message.is-success{background:#e7f3eb;color:#236449}.intel-ajax-message.is-error{background:#fae8e6;color:#983d35}
@media(max-width:1350px){.intel-landuse-summary-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}.intel-landuse-filters{grid-template-columns:repeat(2,minmax(180px,1fr)) auto auto}.intel-consolidated-group{grid-template-columns:28px minmax(240px,1fr) minmax(160px,.65fr)}.intel-consolidated-actions{grid-column:2/-1;grid-template-columns:minmax(250px,1fr) auto}.intel-consolidated-evidence{grid-column:2/-1}.intel-member-review-form{grid-template-columns:repeat(2,minmax(160px,1fr))}.intel-member-review-form .intel-review-actions{grid-column:1/-1}}
@media(max-width:800px){.intel-landuse-summary-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.intel-landuse-filters{grid-template-columns:1fr}.intel-landuse-filters .button{width:100%}.intel-bulk-review-bar{top:0;align-items:stretch;flex-direction:column}.intel-bulk-review-bar .intel-review-actions{margin-left:0}.intel-consolidated-group{grid-template-columns:24px minmax(0,1fr);gap:10px;padding:14px}.intel-consolidated-measurement,.intel-consolidated-actions,.intel-consolidated-evidence{grid-column:2}.intel-consolidated-actions{grid-template-columns:1fr}.intel-consolidated-member-head{flex-direction:column}.intel-member-review-form{grid-template-columns:1fr}.intel-member-review-form .intel-review-actions{grid-column:auto}}

/* ES Maps v0.17 feature interpretation and consultant chronology */
.intel-landuse-summary-grid{grid-template-columns:repeat(8,minmax(112px,1fr))}
.intel-interpretation-warning{padding:10px 12px;border:1px solid #ead7a8;border-radius:8px;background:#fff7e5;color:#72530c;font-size:11px;line-height:1.5}
.intel-chronology-summary-grid{grid-template-columns:repeat(6,minmax(120px,1fr));margin-bottom:16px}
.intel-chronology-review-shell{overflow:visible}
.intel-chronology-guidance{display:flex;align-items:flex-start;gap:12px;padding:13px 18px;border-bottom:1px solid #dfe8e2;background:#f2f7f3;color:#496057;font-size:12px;line-height:1.55}
.intel-chronology-guidance strong{flex:0 0 auto;color:var(--green);font-size:12px}
.intel-chronology-row{padding:18px;border-bottom:1px solid #dfe7e2;background:#fff}.intel-chronology-row:last-child{border-bottom:0}.intel-chronology-row.is-approved{border-left:4px solid #2f7d5c;background:#fbfdfb}
.intel-chronology-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.intel-chronology-date{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.intel-chronology-date strong{font-size:17px}.intel-chronology-date>span:not(.status-pill){color:var(--muted);font-size:13px;font-weight:700}.intel-chronology-row-head small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.5}.intel-chronology-flags{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.intel-chronology-change-note{margin-top:13px;padding:11px 13px;border:1px solid #dde6e0;border-radius:8px;background:#f8faf8}.intel-chronology-change-note strong{font-size:11px;color:var(--green)}.intel-chronology-change-note p{margin:5px 0 0;color:#58675e;font-size:12px;line-height:1.55}
.intel-chronology-form{margin-top:14px}.intel-chronology-form.is-saving{opacity:.55;pointer-events:none}.intel-chronology-columns{display:grid;grid-template-columns:1fr 1.35fr;gap:14px}.intel-chronology-columns textarea{width:100%;min-height:132px;resize:vertical;padding:11px 12px;border:1px solid #d2dcd5;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.55}.intel-chronology-columns .form-field span,.intel-chronology-note-field span{font-size:11px}.intel-chronology-note-field{margin-top:11px}.intel-chronology-note-field input{min-height:42px;font-size:13px}.intel-chronology-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.intel-chronology-actions small{margin-left:5px;color:#7b6a40;font-size:11px;line-height:1.45}
@media(max-width:1350px){.intel-landuse-summary-grid{grid-template-columns:repeat(4,minmax(112px,1fr))}.intel-chronology-summary-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:800px){.intel-landuse-summary-grid,.intel-chronology-summary-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}.intel-chronology-row-head{flex-direction:column}.intel-chronology-flags{justify-content:flex-start}.intel-chronology-columns{grid-template-columns:1fr}.intel-chronology-guidance{flex-direction:column}}
.intel-review-source-badge{display:block;margin-top:5px;color:var(--green);font-size:10px;font-weight:800}

/* ES Maps v0.17 representative chronology */
.intel-chronology-row.is-support-row{opacity:.82;border-style:dashed;background:#fafbf9}.intel-chronology-row.is-support-row .intel-chronology-change-note{background:#f3f5f2}.intel-source-editions{display:block;margin-top:5px;color:var(--muted)}.intel-chronology-controls-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(210px,1fr) minmax(260px,1.25fr);gap:12px;align-items:end}.intel-report-row-toggle{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f7f9f7}.intel-chronology-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.intel-consultant-resolution{margin:12px 0;padding:12px 14px;border:1px solid #dfc98e;border-radius:9px;background:#fff8e8;color:#654b13}.intel-inline-check{display:flex;align-items:flex-start;gap:9px;font-weight:650}.intel-inline-check input[type=checkbox]{width:17px;height:17px;margin-top:2px;accent-color:var(--green)}.intel-consolidated-group.is-auto-suppressed{opacity:.78;border-style:dashed;background:#fafafa}.intel-review-table tr.is-approved-row td{background:#fbfdfb}@media(max-width:1100px){.intel-chronology-controls-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.intel-chronology-controls-grid{grid-template-columns:1fr}.intel-chronology-quick-actions .button{width:100%}}

/* ES Maps v0.18 focused chronology workflow */
.intel-chronology-summary-grid{grid-template-columns:repeat(5,minmax(145px,1fr));margin-bottom:16px}
.intel-chronology-review-shell{overflow:visible;padding-bottom:74px}
.intel-chronology-batch-bar{position:sticky;top:58px;z-index:12;display:flex;align-items:center;gap:14px;padding:11px 16px;border-bottom:1px solid #d7e1da;background:rgba(245,248,246,.96);backdrop-filter:blur(10px);box-shadow:0 4px 12px rgba(24,54,43,.06)}
.intel-batch-select-all,.intel-selected-count{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.intel-batch-select-all input,.intel-row-selector input{width:17px;height:17px;accent-color:var(--green)}
.intel-selected-count{color:var(--muted);font-weight:650}.intel-selected-count strong{color:var(--ink)}
.intel-chronology-batch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.intel-chronology-workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(410px,.8fr);align-items:start;gap:18px;padding:18px;background:#f5f8f6}
.intel-chronology-row-list{display:flex;flex-direction:column;gap:10px;min-width:0}.intel-chronology-row-list.is-saving,#chronology-rows.is-saving{opacity:.65;pointer-events:none}
.intel-chronology-card{overflow:hidden;border:1px solid #dce5df;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(26,55,45,.035);scroll-margin-top:128px}.intel-chronology-card.is-approved{border-left:4px solid #2f7d5c}.intel-chronology-card.is-needs-judgement{border-left:4px solid #b75b44}.intel-chronology-card.is-drafted{border-left:4px solid #c99a37}.intel-chronology-card.is-open{box-shadow:0 10px 26px rgba(25,55,44,.09)}
.intel-chronology-card-summary{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:stretch}.intel-row-selector{display:flex;align-items:center;justify-content:center;border-right:1px solid #edf1ee;background:#fafcfb;cursor:pointer}
.intel-chronology-toggle{display:grid;grid-template-columns:minmax(150px,.7fr) auto minmax(170px,1fr) auto 20px;align-items:center;gap:12px;width:100%;padding:14px 15px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.intel-chronology-toggle:hover{background:#f8faf8}.intel-chronology-toggle svg{width:20px;height:20px;fill:currentColor;color:#728078;transition:transform .18s ease}.intel-chronology-card.is-open .intel-chronology-toggle svg{transform:rotate(180deg)}
.intel-chronology-summary-date{display:flex;align-items:baseline;gap:8px;min-width:0}.intel-chronology-summary-date strong{font-size:17px}.intel-chronology-summary-date span{color:var(--muted);font-size:12px;font-weight:750;white-space:nowrap}.intel-chronology-summary-issue{overflow:hidden;color:#3f5048;font-size:13px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.intel-chronology-summary-meta{color:var(--muted);font-size:11px;white-space:nowrap}
.intel-chronology-card-editor{padding:0 16px 17px;border-top:1px solid #e7ece9}.intel-chronology-card-editor[hidden]{display:none}
.intel-chronology-judgement-banner{display:flex;align-items:flex-start;gap:12px;margin:14px 0 0;padding:11px 13px;border:1px solid #e6c0b6;border-radius:9px;background:#fff3ef;color:#753c2f;font-size:12px;line-height:1.5}.intel-chronology-judgement-banner strong{flex:0 0 auto}
.intel-chronology-change-note{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-top:14px}.intel-chronology-change-note>div{min-width:0}.intel-chronology-change-note .button{flex:0 0 auto}
.intel-chronology-controls-grid{grid-template-columns:minmax(140px,.65fr) minmax(140px,.65fr) minmax(220px,1fr)}
.intel-chronology-actions{padding-top:2px}.intel-chronology-actions .button{min-height:40px}
.intel-supporting-editions{margin-top:15px;border:1px solid #dde5e0;border-radius:10px;background:#f8faf8}.intel-supporting-editions summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}.intel-supporting-editions summary span{font-size:12px;font-weight:800;color:#42554c}.intel-supporting-editions summary small{color:var(--muted);font-size:10px}.intel-supporting-edition-list{border-top:1px solid #e3e9e5}.intel-supporting-edition{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #e8edea;background:#fff}.intel-supporting-edition:last-child{border-bottom:0}.intel-supporting-edition>div{display:flex;align-items:baseline;gap:8px;min-width:0}.intel-supporting-edition strong{font-size:13px}.intel-supporting-edition span:not(.status-pill),.intel-supporting-edition small{color:var(--muted);font-size:10px}.intel-support-actions{display:flex;justify-content:flex-end;padding:10px 12px;border-top:1px solid #e3e9e5}
.intel-chronology-preview-panel{position:sticky;top:118px;overflow:hidden;border:1px solid #d9e2dc;border-radius:12px;background:#fff;box-shadow:0 7px 22px rgba(29,58,48,.07)}.intel-preview-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid #e1e8e3;background:#f8faf8}.intel-preview-panel-head>div{display:flex;flex-direction:column;gap:3px}.intel-preview-panel-head span:not(.status-pill){color:var(--muted);font-size:10px;font-weight:750}.intel-preview-panel-head strong{font-size:13px}.intel-chronology-preview-panel>.button{margin:12px 14px 14px;width:calc(100% - 28px)}
.intel-mini-review-table-wrap{max-height:calc(100vh - 280px);overflow:auto}.intel-mini-review-table{width:100%;border-collapse:collapse;table-layout:fixed}.intel-mini-review-table th{position:sticky;top:0;z-index:2;padding:8px 7px;border-bottom:1px solid #d9e1dc;background:#173f35;color:#fff;font-size:9px;text-align:left}.intel-mini-review-table th:nth-child(1){width:14%}.intel-mini-review-table th:nth-child(2){width:16%}.intel-mini-review-table th:nth-child(3){width:28%}.intel-mini-review-table th:nth-child(4){width:42%}.intel-mini-review-table td{padding:8px 7px;border-bottom:1px solid #e5ebe7;color:#46564f;font-size:9px;line-height:1.45;vertical-align:top;word-break:break-word}.intel-mini-review-table tr.is-approved td{background:#fbfdfb}.intel-mini-review-table td strong{color:var(--ink);font-size:10px}
.intel-chronology-completion-bar{position:sticky;bottom:0;z-index:13;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(160px,1fr) auto auto;align-items:center;gap:14px;padding:11px 16px;border-top:1px solid #d3ddd6;background:rgba(247,249,248,.97);backdrop-filter:blur(12px);box-shadow:0 -7px 20px rgba(24,54,43,.09)}.intel-completion-copy{display:flex;flex-direction:column;gap:2px}.intel-completion-copy strong{font-size:13px}.intel-completion-copy span{color:var(--muted);font-size:10px}.intel-completion-progress{overflow:hidden;height:8px;border-radius:999px;background:#dfe7e2}.intel-completion-progress span{display:block;height:100%;border-radius:inherit;background:#2f7d5c;transition:width .25s ease}.button.is-disabled{opacity:.5;pointer-events:none}
.intel-evidence-drawer-backdrop{position:fixed;inset:0;z-index:90;background:rgba(12,27,22,.38);backdrop-filter:blur(2px)}.intel-evidence-drawer{position:fixed;top:0;right:0;bottom:0;z-index:91;display:flex;flex-direction:column;width:min(620px,94vw);background:#f7f9f8;box-shadow:-18px 0 50px rgba(9,28,21,.22);transform:translateX(105%);transition:transform .22s ease}.intel-evidence-drawer.is-open{transform:translateX(0)}body.intel-drawer-open{overflow:hidden}.intel-evidence-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #dbe3de;background:#fff}.intel-evidence-drawer-header>div{display:flex;flex-direction:column;gap:3px}.intel-evidence-drawer-header span{color:var(--muted);font-size:10px;font-weight:750}.intel-evidence-drawer-header strong{font-size:14px}.intel-evidence-drawer-body{overflow:auto;padding:17px}.intel-evidence-drawer-heading{margin-bottom:14px}.intel-evidence-drawer-heading>span{color:var(--muted);font-size:11px;font-weight:750}.intel-evidence-drawer-heading h3{margin:4px 0 5px;font-size:18px}.intel-evidence-drawer-heading p{margin:0;color:#56665e;font-size:12px;line-height:1.55}.intel-evidence-drawer-list{display:flex;flex-direction:column;gap:12px}.intel-evidence-snippet{overflow:hidden;border:1px solid #dbe4de;border-radius:11px;background:#fff}.intel-evidence-image-wrap{height:220px;overflow:hidden;border-bottom:1px solid #e1e7e3;background:#e9eeeb}.intel-evidence-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center}.intel-evidence-snippet-copy{display:flex;flex-direction:column;gap:6px;padding:13px}.intel-evidence-snippet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.intel-evidence-snippet-head strong{font-size:14px}.intel-evidence-snippet-copy>span{color:var(--muted);font-size:11px}.intel-evidence-snippet-copy small{color:#67766f;font-size:10px;line-height:1.5}.intel-candidate-labels{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.intel-candidate-labels span{padding:4px 7px;border-radius:999px;background:#edf3ef;color:#2d5c4b;font-size:10px;font-weight:750}.intel-evidence-warning{margin:2px 0 0;padding:9px 10px;border:1px solid #ead3a0;border-radius:8px;background:#fff8e8;color:#6e5216;font-size:10px;line-height:1.5}
@media(max-width:1320px){.intel-chronology-workspace{grid-template-columns:1fr}.intel-chronology-preview-panel{position:relative;top:auto}.intel-mini-review-table-wrap{max-height:480px}}
@media(max-width:1050px){.intel-chronology-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.intel-chronology-toggle{grid-template-columns:minmax(130px,.7fr) auto minmax(150px,1fr) 20px}.intel-chronology-summary-meta{display:none}.intel-chronology-completion-bar{grid-template-columns:1fr 1fr}.intel-completion-progress{order:3}.intel-chronology-completion-bar .button{width:100%}}
@media(max-width:760px){.intel-chronology-summary-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.intel-chronology-batch-bar{position:relative;top:auto;align-items:flex-start;flex-direction:column}.intel-chronology-batch-actions{margin-left:0;width:100%}.intel-chronology-batch-actions .button{width:100%}.intel-chronology-workspace{padding:10px}.intel-chronology-toggle{grid-template-columns:1fr auto 20px}.intel-chronology-summary-issue{grid-column:1/-1;white-space:normal}.intel-chronology-summary-meta{display:none}.intel-chronology-controls-grid{grid-template-columns:1fr}.intel-chronology-columns{grid-template-columns:1fr}.intel-chronology-change-note{flex-direction:column}.intel-chronology-change-note .button{width:100%}.intel-chronology-actions .button{width:100%}.intel-supporting-edition{grid-template-columns:30px 1fr auto}.intel-supporting-edition>small{display:none}.intel-supporting-edition>div{align-items:flex-start;flex-direction:column;gap:2px}.intel-chronology-completion-bar{position:relative;grid-template-columns:1fr}.intel-completion-progress{order:0}.intel-mini-review-table{min-width:660px}}

/* ES Maps v0.18.9 official NLS layer-source catalogue and same-origin proxy */
.nls-series-field { margin-bottom: 10px; }
.nls-series-field select { font-weight: 700; }
#nls-historic-options option { font-weight: 500; }

/* ES Maps v0.19.0 project management */
.project-summary-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.generated-reference-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px;padding:16px 18px;border:1px solid #d3e1d7;border-radius:10px;background:#f0f6f2}
.generated-reference-note>div{display:flex;flex-direction:column;gap:3px}
.generated-reference-note span{color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}
.generated-reference-note strong{font-size:15px;color:var(--green-dark)}
.generated-reference-note p{max-width:520px;margin:0;color:var(--muted);font-size:11px;text-align:right}
.generated-reference-note code{padding:2px 5px;border-radius:5px;background:#e3ece6;color:var(--green-dark);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}
.generated-reference-note.is-assigned{background:#f7f9f7}
.coordinate-help{justify-content:center;padding:8px 11px;border:1px solid #e1e6e2;border-radius:8px;background:#fafbfa}
.coordinate-help p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}
.button-danger{background:#a33b36;color:#fff}
.button-danger:hover{background:#842f2b}
.project-danger-card{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:18px 20px;border-color:#ead0cd;box-shadow:none}
.project-danger-card h2{margin:0;font-size:16px;color:#7f312d}
.project-danger-card p{margin:5px 0 0;max-width:760px;color:var(--muted);font-size:11px}
@media(max-width:760px){.project-summary-actions{width:100%}.project-summary-actions .button{flex:1}.generated-reference-note,.project-danger-card{align-items:stretch;flex-direction:column}.generated-reference-note p{text-align:left}.project-danger-card .button{width:100%}}

/* v0.20.0 · Phase 1 map packs */
.projects-list-grid{grid-template-columns:145px minmax(240px,1.6fr) minmax(100px,.7fr) 100px 72px 105px 120px}
.project-reference-cell{display:inline-block;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.phase-one-list-grid{grid-template-columns:145px minmax(230px,1.4fr) minmax(120px,.65fr) 80px 90px 70px 120px}
.phase-one-project-summary{margin-bottom:12px}
.phase-one-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.phase-one-summary-grid>div{min-width:0;padding:15px 17px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:var(--shadow)}
.phase-one-summary-grid span{display:block;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.045em}
.phase-one-summary-grid strong{display:block;margin-top:4px;font-size:22px;letter-spacing:-.025em}
.phase-one-summary-grid small{display:block;margin-top:4px;overflow:hidden;color:#718078;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.phase-one-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:16px}
.phase-one-main-column{display:grid;gap:16px;min-width:0}
.phase-one-side-column{min-width:0}
.phase-one-card{overflow:hidden}
.phase-one-settings-form,.phase-one-upload-form{padding:18px 20px}
.phase-one-form-actions{display:flex;align-items:center;gap:12px;margin-top:16px}
.phase-one-form-actions>span{color:var(--muted);font-size:10px}
.phase-one-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 10px;padding-top:17px;border-top:1px solid var(--line)}
.phase-one-section-heading strong{font-size:13px}
.phase-one-section-heading span{color:var(--green);font-size:11px;font-weight:750}
.phase-one-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}
.phase-one-qa-grid label{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid #e0e7e2;border-radius:8px;background:#fafcfb;color:#405047;font-size:11px;line-height:1.4;cursor:pointer}
.phase-one-qa-grid input{margin-top:1px;accent-color:var(--green)}
.phase-one-empty{padding:34px 20px}
.phase-one-sheet-list{display:grid;gap:12px;padding:0 20px 20px}
.phase-one-sheet-card{position:relative;display:grid;grid-template-columns:245px minmax(0,1fr);overflow:hidden;border:1px solid #dce4df;border-radius:12px;background:#fff}
.phase-one-sheet-card.is-excluded{opacity:.62;background:#f7f8f7}
.phase-one-sheet-preview{min-height:220px;display:grid;place-items:center;overflow:hidden;border-right:1px solid #e1e7e3;background:#eef2ef}
.phase-one-sheet-preview img{width:100%;height:100%;object-fit:cover}
.phase-one-pdf-preview{max-width:180px;text-align:center;color:#67766e}
.phase-one-pdf-preview strong{display:block;margin-bottom:8px;color:var(--green);font-size:32px}
.phase-one-pdf-preview span{font-size:10px;line-height:1.4;word-break:break-word}
.phase-one-sheet-editor{min-width:0;padding:16px 18px}
.phase-one-sheet-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:13px}
.phase-one-sheet-title-row>div{min-width:0}
.phase-one-sheet-title-row>div>span{display:block;color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.phase-one-sheet-title-row>div>strong{display:block;margin-top:3px;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.phase-one-include-toggle{display:flex;align-items:center;gap:6px;color:#526259;font-size:10px;font-weight:750;white-space:nowrap}
.phase-one-include-toggle input{accent-color:var(--green)}
.phase-one-asset-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.phase-one-delete-asset{position:absolute;top:8px;right:8px}
.phase-one-delete-asset button{width:27px;height:27px;border:1px solid #ecd6d4;border-radius:50%;background:#fff;color:#a33b36;font-size:18px;line-height:1;cursor:pointer}
.phase-one-sticky-card{position:sticky;top:86px}
.phase-one-source-form{display:grid;gap:11px;padding:16px 17px;border-bottom:1px solid var(--line)}
.phase-one-source-list{display:grid}
.phase-one-source-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #e5eae7}
.phase-one-source-row>div:first-child{min-width:0}
.phase-one-source-row span{display:block;color:var(--green);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}
.phase-one-source-row strong{display:block;margin-top:3px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.phase-one-source-row small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.phase-one-source-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.phase-one-source-actions form{margin:0}
.phase-one-source-empty{padding:17px;color:var(--muted);font-size:11px;text-align:center}
.text-button-danger{padding:0;border:0;background:transparent;color:#9b3e38;font:inherit;font-size:10px;font-weight:700;cursor:pointer}
.phase-one-internal-notice{margin:14px;padding:13px;border:1px solid #d9e4dd;border-radius:9px;background:#f4f8f5}
.phase-one-internal-notice strong{font-size:11px;color:#224e3c}
.phase-one-internal-notice p{margin:5px 0 0;color:#607068;font-size:10px;line-height:1.5}
.map-export-divider{height:1px;margin:5px 0;background:#e1e6e3}
.map-export-menu .map-export-pack-action{color:var(--green);font-weight:800}
.phase-one-capture-dialog{width:min(720px,calc(100vw - 32px));padding:0;border:0;border-radius:14px;background:transparent;box-shadow:0 24px 70px rgba(15,33,25,.26)}
.phase-one-capture-dialog::backdrop{background:rgba(17,29,23,.55);backdrop-filter:blur(2px)}
.phase-one-capture-card{overflow:hidden;border:1px solid #dce4df;border-radius:14px;background:#fff}
.phase-one-capture-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line);background:#f7faf8}
.phase-one-capture-card>header>div{display:flex;flex-direction:column;gap:3px}
.phase-one-capture-card>header span{color:var(--green);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.phase-one-capture-card>header strong{font-size:18px}
.phase-one-capture-card>header small{color:var(--muted);font-size:10px}
.phase-one-capture-card>.form-grid{padding:18px 20px}
.phase-one-capture-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid var(--line);background:#fafbfa}
.phase-one-capture-actions>div{display:flex;gap:9px}
@media(max-width:1200px){.phase-one-layout{grid-template-columns:1fr}.phase-one-sticky-card{position:static}.phase-one-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-one-list-grid{grid-template-columns:135px minmax(180px,1fr) 100px 70px 80px 110px}.phase-one-list-grid>:nth-child(6){display:none}}
@media(max-width:900px){.projects-list-grid{grid-template-columns:125px minmax(180px,1fr) 90px 90px 90px}.projects-list-grid>:nth-child(5),.projects-list-grid>:nth-child(7){display:none}.phase-one-sheet-card{grid-template-columns:1fr}.phase-one-sheet-preview{max-height:290px;border-right:0;border-bottom:1px solid #e1e7e3}.phase-one-qa-grid{grid-template-columns:1fr}}
@media(max-width:680px){.phase-one-summary-grid{grid-template-columns:1fr 1fr}.phase-one-list-grid{grid-template-columns:115px minmax(0,1fr) 90px}.phase-one-list-grid>:nth-child(3),.phase-one-list-grid>:nth-child(4),.phase-one-list-grid>:nth-child(5),.phase-one-list-grid>:nth-child(6){display:none}.phase-one-capture-actions{align-items:stretch;flex-direction:column}.phase-one-capture-actions>div{display:grid;grid-template-columns:1fr 1fr}.phase-one-capture-actions .button{width:100%}}

/* v0.21.1 · MariaDB-compatible Phase 1 storage */
.phase-one-search-list-grid{grid-template-columns:145px minmax(240px,1.4fr) minmax(120px,.8fr) 78px 92px 88px 115px}
.phase-one-search-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px}
.phase-one-search-form{padding:18px 20px}.phase-one-search-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px}.phase-one-search-toolbar>.field{width:210px}.phase-one-search-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.text-button{padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.phase-one-dataset-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.phase-one-dataset-group{min-width:0;margin:0;padding:10px 11px 11px;border:1px solid #dce4df;border-radius:10px;background:#fafcfb}.phase-one-dataset-group legend{padding:0 6px;color:#294f40;font-size:10px;font-weight:800}.phase-one-dataset-group label{display:flex;align-items:flex-start;gap:9px;padding:8px 7px;border-radius:7px;cursor:pointer}.phase-one-dataset-group label:hover{background:#f0f5f2}.phase-one-dataset-group input{margin-top:2px;accent-color:var(--green)}.phase-one-dataset-group span{display:flex;min-width:0;flex-direction:column;gap:2px}.phase-one-dataset-group strong{font-size:11px}.phase-one-dataset-group small{color:var(--muted);font-size:9px;line-height:1.35}.phase-one-search-notice{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:11px 12px;border:1px solid #e2dfc8;border-radius:8px;background:#fffdf1;color:#665f31;font-size:10px;line-height:1.45}.phase-one-search-notice strong{flex:0 0 auto}
.phase-one-findings-map{position:relative;width:100%;height:500px;background:#edf1ee}.phase-one-map-popup{min-width:210px;max-width:300px;padding:10px 12px;border:1px solid #ccd8d0;border-radius:9px;background:#fff;box-shadow:0 8px 24px rgba(17,37,28,.18)}.phase-one-map-popup strong,.phase-one-map-popup span,.phase-one-map-popup small{display:block}.phase-one-map-popup strong{font-size:12px}.phase-one-map-popup span{margin-top:3px;color:var(--green);font-size:9px;font-weight:800}.phase-one-map-popup small{margin-top:4px;color:var(--muted);font-size:9px}.phase-one-map-legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:10px 15px;border-top:1px solid var(--line);background:#fafbfa}.phase-one-map-legend span{display:flex;align-items:center;gap:6px;color:#59685f;font-size:9px;font-weight:750}.phase-one-map-legend i{width:10px;height:10px;border-radius:3px}.phase-one-map-legend .theme-waste{background:#a33f32}.phase-one-map-legend .theme-flood{background:#2b75af}.phase-one-map-legend .theme-water{background:#227f89}.phase-one-map-legend .theme-receptor{background:#6b7e37}
.phase-one-finding-groups{display:grid;gap:10px;padding:14px 16px 18px}.phase-one-finding-group{overflow:hidden;border:1px solid #dce4df;border-radius:10px;background:#f8faf9}.phase-one-finding-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer}.phase-one-finding-group>summary span{font-size:12px;font-weight:800}.phase-one-finding-group>summary strong{display:grid;place-items:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:#e5eee8;color:#285844;font-size:10px}.phase-one-finding-list{display:grid;gap:9px;padding:0 10px 10px}.phase-one-finding-card{overflow:hidden;border:1px solid #dde5e0;border-left:4px solid #c5cec8;border-radius:9px;background:#fff}.phase-one-finding-card.review-relevant{border-left-color:#2f7d5c}.phase-one-finding-card.review-not_relevant{border-left-color:#8b9690;opacity:.78}.phase-one-finding-summary{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 13px}.phase-one-finding-map-button{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d9e3dc;border-radius:7px;background:#f7faf8;color:var(--green);font-size:16px;cursor:pointer}.phase-one-finding-summary>div:nth-child(2){min-width:0}.phase-one-finding-summary span{display:block;color:var(--green);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.phase-one-finding-summary strong{display:block;margin-top:3px;font-size:13px}.phase-one-finding-summary p{margin:5px 0 0;color:#627169;font-size:9.5px;line-height:1.45}.phase-one-finding-distance{text-align:right;white-space:nowrap}.phase-one-finding-distance strong{font-size:11px}.phase-one-finding-distance small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.phase-one-finding-review-form{padding:12px 14px;border-top:1px solid #e4eae6;background:#fbfcfb}.phase-one-finding-review-form .field-wide{grid-column:1/-1}.phase-one-finding-include{align-self:end;min-height:41px;justify-content:center;padding:0 10px;border:1px solid #dde5e0;border-radius:8px;background:#fff}.phase-one-finding-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}.phase-one-finding-actions small{color:var(--muted);font-size:9px}
.phase-one-source-health-list{display:grid;border-bottom:1px solid var(--line)}.phase-one-source-health-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:11px 14px;border-bottom:1px solid #e6ebe8}.phase-one-source-health-row:last-child{border-bottom:0}.phase-one-source-health-row>div{min-width:0}.phase-one-source-health-row strong{display:block;font-size:10.5px}.phase-one-source-health-row small{display:block;margin-top:2px;color:var(--muted);font-size:8.5px}.phase-one-source-health-row>span{font-size:9px;font-weight:800;color:#2f7d5c}.phase-one-source-health-row.status-failed>span{color:#9a443c}.phase-one-source-health-row p{grid-column:1/-1;margin:2px 0 0;color:#8a514b;font-size:8.5px;line-height:1.35}.phase-one-side-settings{display:grid;gap:11px}.phase-one-side-settings .phase-one-section-heading{margin-top:6px}.phase-one-qa-grid-single{grid-template-columns:1fr}.button-full{width:100%}.phase-one-sheet-upload-compact{border-bottom:1px solid var(--line)}.phase-one-sheet-list-compact{padding-top:16px}.phase-one-sheet-list-compact .phase-one-sheet-card{grid-template-columns:210px minmax(0,1fr)}
@media(max-width:1250px){.phase-one-search-layout{grid-template-columns:1fr}.phase-one-dataset-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.phase-one-sticky-card{position:static}}
@media(max-width:980px){.phase-one-dataset-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.phase-one-search-list-grid{grid-template-columns:130px minmax(180px,1fr) 100px 80px}.phase-one-search-list-grid>:nth-child(5),.phase-one-search-list-grid>:nth-child(6),.phase-one-search-list-grid>:nth-child(7){display:none}.phase-one-finding-summary{grid-template-columns:30px minmax(0,1fr)}.phase-one-finding-distance{grid-column:2;text-align:left}.phase-one-sheet-list-compact .phase-one-sheet-card{grid-template-columns:1fr}}
@media(max-width:680px){.phase-one-search-toolbar{align-items:stretch;flex-direction:column}.phase-one-search-toolbar>.field{width:100%}.phase-one-search-actions{justify-content:flex-start;flex-wrap:wrap}.phase-one-search-actions .button{width:100%}.phase-one-dataset-groups{grid-template-columns:1fr}.phase-one-findings-map{height:390px}.phase-one-search-list-grid{grid-template-columns:115px minmax(0,1fr) 82px}.phase-one-search-list-grid>:nth-child(3){display:none}}

.phase-one-map-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.phase-one-map-actions .button-small{min-height:31px;padding:6px 10px;font-size:9px}.phase-one-map-message{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:#526159;font-size:11px;font-weight:700}.phase-one-map-message.is-error{color:#923f36;background:#fff8f7}.phase-one-map-load-warning{position:absolute;left:12px;bottom:12px;z-index:5;padding:8px 10px;border:1px solid #ead1cd;border-radius:7px;background:#fff8f7;color:#8b3e36;font-size:9px;font-weight:750;box-shadow:0 4px 14px rgba(44,30,27,.1)}

/* v0.21.2 — organised Map Explorer source panel */
.map-workspace-v5 .map-panel {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
}
.map-panel-scroll {
    min-height: 0;
    flex: 1 1 auto;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #bdc9c0 transparent;
    background: #f7f9f7;
}
.map-panel-scroll::-webkit-scrollbar { width: 9px; }
.map-panel-scroll::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: #bdc9c0; background-clip: padding-box; }
.map-panel-scroll > .map-panel-section { background: #fff; }
.map-layer-group {
    margin: 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
}
.map-layer-group > summary {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: #fbfcfb;
}
.map-layer-group > summary::-webkit-details-marker { display: none; }
.map-layer-group > summary:hover { background: #f5f8f6; }
.map-layer-group > summary > span {
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.map-layer-group > summary strong {
    color: var(--ink);
    font-size: 11px;
    line-height: 1.25;
}
.map-layer-group > summary small {
    margin-top: 3px;
    overflow: hidden;
    color: #748078;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.map-layer-group > summary svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: #6a796f;
    transition: transform .16s ease;
}
.map-layer-group[open] > summary svg { transform: rotate(180deg); }
.map-layer-group[open] > summary {
    border-bottom: 1px solid #e6ebe7;
    background: #f4f8f5;
}
.map-layer-group-body { padding: 11px 16px 14px; }
.map-layer-group-body.historic-select-section {
    min-height: auto;
    flex: none;
    overflow: visible;
    padding: 12px 16px 16px;
}
.map-layer-group .overlay-toggle-list {
    margin: 0;
    border-radius: 9px;
}
.map-layer-group .overlay-toggle-row { min-height: 50px; }
.historic-master-toggle {
    margin-bottom: 13px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
}
.historic-master-toggle:hover { background: #f8fbf9; }
.historic-layer-group .historic-selected-card { margin-top: 10px; }
.historic-layer-group .historic-library-note { margin-bottom: 0; }
.map-layer-group .overlay-toggle-copy {
    grid-template-columns: minmax(0, 1fr) minmax(78px, 106px);
}
.map-layer-group .overlay-toggle-copy strong { font-size: 10.5px; }
.map-layer-group .overlay-toggle-copy small { font-size: 8.5px; }

@media (max-width: 680px) {
    .map-panel-scroll { overflow-y: auto; }
    .map-layer-group > summary { min-height: 52px; }
}

