/* DATA expands the existing Neo Swiss system. No changes to analysis layouts. */
body.atlas.page-data { --signal:#72D7FF; --accent-soft:#72D7FF; margin:0; }
.page-data .catalog-main { max-width:1500px; margin:auto; }
.page-data .data-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:end; padding:22px 0 32px; }
.page-data .data-hero h1 { font-size:clamp(52px,7vw,100px); line-height:.91; letter-spacing:-.065em; margin:18px 0 24px; font-weight:900; }
.page-data .data-hero h1 span { display:block; }
.page-data .data-hero p { font-size:22px; line-height:1.4; margin-bottom:0; }
.page-data .data-hero .hero-aside { border-top:2px solid #111; padding-top:20px; }
.page-data .hero-aside strong { font-size:24px; letter-spacing:-.03em; line-height:1.5; }
.page-data .hero-aside p { font-size:14px; margin-top:14px; color:#575751; line-height:1.7; }
.page-data .data-kicker { font-size:11px; letter-spacing:.08em; font-weight:600; }
.page-data .data-overview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) 1.1fr; border:1px solid #111; background:#72D7FF; }
.page-data .data-overview>div { border-right:1px solid #111; padding:18px 22px; min-width:0; }
.page-data .data-overview>div:last-child { border-right:0; background:#F8F7F3; }
.page-data .data-overview dt { font-size:11px; letter-spacing:.07em; }
.page-data .data-overview dd { margin:14px 0 7px; font-size:clamp(44px,5vw,74px); line-height:1; font-weight:900; letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.page-data .data-overview small { font-size:12px; }
.page-data .data-overview .date-value { font-size:clamp(21px,2.4vw,34px); line-height:1.25; letter-spacing:-.04em; overflow-wrap:anywhere; }
.page-data .overview-note { font-size:12px; color:#575751; margin:12px 0 30px; line-height:1.6; }
.page-data .data-tabs { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #111; border-bottom:1px solid #111; margin-bottom:32px; }
.page-data .data-tabs button { border:0; border-right:1px solid #DADADA; background:transparent; padding:15px 10px; font-size:15px; cursor:pointer; min-height:60px; text-align:left; font-weight:700; }
.page-data .data-tabs button:last-child { border-right:0; }
.page-data .data-tabs button[aria-selected=true] { background:#111; color:#fff; }
.page-data .data-tabs small { display:block; font-size:10px; margin-bottom:5px; letter-spacing:.07em; font-weight:400; }
.page-data .data-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:22px; margin:0 0 24px; }
.page-data .data-section-heading h2 { font-size:30px; margin-bottom:8px; }
.page-data .data-section-heading p { color:#575751; font-size:14px; margin:0; line-height:1.65; }
.page-data .catalog-browser { display:grid; grid-template-columns:225px minmax(0,1fr); gap:30px; }
.page-data .category-menu { border-top:2px solid #111; }
.page-data .category-menu button { width:100%; border:0; border-bottom:1px solid #DADADA; padding:12px 10px; background:transparent; text-align:left; cursor:pointer; display:grid; grid-template-columns:25px 1fr auto; gap:5px; align-items:center; min-height:60px; }
.page-data .category-menu button[aria-pressed=true] { background:#72D7FF; border-bottom-color:#111; }
.page-data .category-menu button>span:first-child { font-size:11px; color:#575751; }
.page-data .category-menu button strong { font-size:14px; }
.page-data .category-menu button small { display:block; font-size:9px; font-weight:400; letter-spacing:.02em; margin-top:3px; }
.page-data .category-menu button>span:last-child { font-size:12px; font-variant-numeric:tabular-nums; }
.page-data .catalog-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:12px; align-items:end; margin-bottom:16px; }
.page-data label { font-size:12px; font-weight:600; display:block; }
.page-data :is(input[type=search],select) { width:100%; min-height:46px; background:#fff; border:1px solid #91918b; padding:10px; margin-top:7px; font:inherit; font-size:14px; color:#111; }
.page-data input[type=search] { font-size:16px; }
.page-data .result-bar { display:flex; align-items:center; justify-content:space-between; gap:15px; border-bottom:2px solid #111; padding:8px 0 14px; font-size:13px; }
.page-data .data-row { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) auto; gap:20px; padding:22px 0; border-bottom:1px solid #DADADA; align-items:start; }
.page-data .data-row h3 { margin:10px 0 7px; font-size:20px; line-height:1.4; }
.page-data .data-row p { font-size:12px; color:#575751; margin:0; line-height:1.6; }
.page-data .data-title { background:transparent; color:#111; padding:0; font:inherit; letter-spacing:inherit; border:0; text-align:left; cursor:pointer; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.page-data .row-dates { margin:0; font-size:12px; display:grid; gap:8px; }
.page-data .row-dates>div { display:grid; grid-template-columns:62px 1fr; gap:8px; }
.page-data .row-dates dt { color:#575751; font-size:11px; }
.page-data .row-dates dd { margin:0; overflow-wrap:anywhere; }
.page-data .data-row .row-count { text-align:right; min-width:75px; }
.page-data .row-count b { display:block; font-size:30px; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.page-data .row-count small { display:block; font-size:11px; margin-top:5px; max-width:100px; }
.page-data .data-tags { display:flex; flex-wrap:wrap; gap:5px; }
.data-tag { display:inline-block; border:1px solid #91918b; padding:4px 6px; font-size:10px; letter-spacing:.03em; color:#111; background:#fff; line-height:1.3; }
.data-tag.used, .data-tag.open { background:#72D7FF; border-color:#111; }
.data-tag.partial { background:#E7FF38; border-color:#111; }
.data-tag.planned, .data-tag.unknown { background:#F8F7F3; border-style:dashed; }
.page-data .empty-state { padding:40px 0; border-bottom:1px solid #111; line-height:1.7; }
.page-data .pager { display:flex; justify-content:space-between; align-items:center; margin-top:20px; gap:12px; font-size:13px; }
.page-data .button { display:inline-flex; align-items:center; justify-content:center; padding:11px 15px; border:1px solid #111; color:#111; background:transparent; min-height:44px; font:inherit; font-size:13px; font-weight:600; line-height:1.4; text-decoration:none; cursor:pointer; }
.page-data .button:hover { background:#E7FF38; color:#111; }
.page-data button:disabled { cursor:not-allowed; opacity:.5; }
.page-data .button.primary { background:#111; color:#fff; }
.page-data .button.primary:hover { background:#72D7FF; color:#111; }
.page-data .data-note { padding:18px 20px; border-left:4px solid #111; background:#eeede7; font-size:13px; line-height:1.7; margin:24px 0; }
.page-data .data-note strong { display:block; font-size:16px; margin-bottom:6px; }
.page-data .method-details { border-top:1px solid #111; border-bottom:1px solid #111; margin:28px 0; }
.page-data .method-details summary { padding:18px 0; font-size:14px; cursor:pointer; font-weight:700; }
.page-data .method-details p { font-size:13px; line-height:1.7; }
.page-data .criteria-list { display:grid; grid-template-columns:repeat(2,1fr); gap:18px 30px; padding-bottom:18px; }
.page-data .criteria-list strong { font-size:12px; }
.page-data .criteria-list p { margin-top:8px; }
.page-data .data-map-controls { display:grid; grid-template-columns:1fr auto; gap:16px; align-items:end; margin:18px 0; }
.page-data .data-map-layout { display:grid; grid-template-columns:270px minmax(0,1fr); border:1px solid #111; }
.page-data .layer-list { padding:8px 16px; max-height:625px; overflow-y:auto; border-right:1px solid #111; }
.page-data .layer-line { display:grid; grid-template-columns:1fr auto; gap:8px; border-bottom:1px solid #DADADA; padding:10px 0; align-items:start; }
.page-data .layer-line label { display:flex; gap:9px; align-items:start; cursor:pointer; font-size:13px; }
.page-data .layer-line input { width:18px; height:18px; margin:1px 0; flex-shrink:0; accent-color:#111; }
.page-data .layer-line small { display:block; font-size:10px; color:#575751; font-weight:400; margin-top:5px; }
.page-data .layer-info { border:1px solid #91918b; background:transparent; min-width:38px; min-height:38px; cursor:pointer; font-size:12px; }
.page-data .data-map-surface { min-width:0; }
.page-data #data-map-canvas { height:530px; min-height:340px; background:#eeede7; }
.page-data .map-data-legend { padding:14px 18px; border-top:1px solid #111; font-size:12px; line-height:1.7; background:#fff; min-height:62px; }
.page-data .map-data-legend span { display:inline-flex; gap:6px; align-items:center; margin-right:12px; }
.page-data .map-data-legend i { width:12px; height:12px; border:1px solid #111; display:inline-block; }
.page-data .map-data-note { font-size:12px; color:#575751; margin-top:12px; line-height:1.6; }
.page-data .map-feature-list { border-top:1px solid #111; margin-top:16px; }
.page-data .map-feature-list summary { padding:16px 0; font-weight:600; cursor:pointer; }
.page-data .map-feature-list ul { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.page-data .map-feature-list li { border-bottom:1px solid #DADADA; padding-bottom:10px; font-size:13px; }
.page-data .map-feature-list button { border:0; padding:5px 0; background:transparent; text-align:left; font:inherit; color:#111; text-decoration:underline; cursor:pointer; }
.page-data .gap-controls { display:grid; grid-template-columns:1fr 1fr; gap:20px; max-width:720px; margin-bottom:20px; }
.page-data .gap-legend { display:flex; gap:12px 22px; flex-wrap:wrap; font-size:12px; margin:18px 0; }
.gap-mark { display:inline-flex; align-items:center; justify-content:center; width:29px; height:29px; background:#F8F7F3; border:1px solid #91918b; font-size:15px; font-weight:600; }
.gap-mark.PARTIAL { background:#E7FF38; border-color:#111; }
.gap-mark.AVAILABLE { background:#72D7FF; border-color:#111; }
.gap-mark.UNKNOWN { background:#DADADA; }
.page-data .gap-table-wrap { overflow:auto; border:1px solid #111; }
.page-data .gap-table { width:100%; min-width:970px; border-collapse:collapse; font-size:12px; background:#fff; }
.page-data .gap-table th, .page-data .gap-table td { padding:10px 6px; border-bottom:1px solid #DADADA; text-align:center; }
.page-data .gap-table thead th { background:#111; color:#fff; max-width:115px; font-weight:500; }
.page-data .gap-table tbody th { position:sticky; left:0; background:#F8F7F3; border-right:1px solid #111; text-align:left; padding-left:12px; min-width:100px; z-index:1; }
.page-data .gap-table button { min-height:40px; min-width:44px; cursor:pointer; border:0; background:transparent; }
.page-data .gap-detail { margin-top:20px; padding:22px; border:1px solid #111; background:#fff; }
.page-data .gap-detail h3 { font-size:22px; }
.page-data .gap-detail p { font-size:14px; line-height:1.7; }
.page-data .gap-city-list { display:none; }
.page-data .history-list { list-style:none; padding:0; margin:0; }
.page-data .history-list li { display:grid; grid-template-columns:145px 1fr; gap:30px; padding:24px 0; border-top:1px solid #111; }
.page-data .history-list time { font-size:23px; font-weight:800; letter-spacing:-.035em; }
.page-data .history-list h3 { margin:6px 0; }
.page-data .history-list p { font-size:13px; line-height:1.6; }
.page-data .history-list button { border:0; background:transparent; text-decoration:underline; cursor:pointer; color:#111; padding:6px; font:inherit; }
.page-data .data-workflow { margin-top:40px; padding:25px 0; border-top:2px solid #111; display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
.page-data .data-workflow a { font-size:12px; text-decoration:none; font-weight:700; line-height:1.5; }
.page-data .data-workflow a span { display:block; font-size:10px; margin-bottom:8px; font-weight:400; }
.page-data .catalog-footer { max-width:1444px; margin:auto; padding:22px 28px; border-top:1px solid #111; display:flex; flex-wrap:wrap; gap:15px; font-size:12px; }
.page-data .catalog-error { padding:22px; border:2px solid #111; font-size:15px; line-height:1.7; }
.page-data dialog { border:1px solid #111; border-radius:0; padding:0; width:min(850px,calc(100vw - 32px)); max-height:90dvh; color:#111; background:#F8F7F3; box-shadow:none; }
.page-data dialog::backdrop { background:rgba(17,17,17,.5); }
.page-data .dialog-bar { display:flex; justify-content:space-between; align-items:center; padding:12px 24px; border-bottom:1px solid #111; position:sticky; top:0; background:#F8F7F3; z-index:2; }
.page-data .dialog-bar span { font-size:11px; letter-spacing:.08em; }
.page-data .dialog-content { padding:26px; }
.page-data .dialog-content h2 { font-size:30px; line-height:1.3; margin:16px 0 12px; overflow-wrap:anywhere; }
.page-data .dialog-content h3 { margin:28px 0 10px; }
.page-data .dialog-content p, .page-data .dialog-content li { font-size:14px; line-height:1.7; }
.page-data .detail-meta { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin:22px 0; }
.page-data .detail-meta>div { padding:13px 0; border-top:1px solid #DADADA; }
.page-data .detail-meta dt { color:#575751; font-size:11px; margin-bottom:6px; }
.page-data .detail-meta dd { margin:0; font-size:14px; overflow-wrap:anywhere; }
.page-data .detail-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }
.page-data .quality-row { display:grid; grid-template-columns:130px 160px 1fr; gap:14px; padding:14px 0; border-top:1px solid #DADADA; font-size:12px; align-items:start; }
.page-data .quality-row strong { font-size:12px; }
.page-data .quality-row p { margin:0; font-size:12px; }
.page-data .record-details { overflow-x:auto; }
.page-data .record-details table { border-collapse:collapse; width:100%; font-size:12px; }
.page-data .record-details th, .page-data .record-details td { border:1px solid #DADADA; padding:10px; min-width:85px; text-align:left; vertical-align:top; }
.page-data .record-details caption { text-align:left; margin:12px 0; }
.page-data .source-links { padding-left:20px; overflow-wrap:anywhere; }
@media(max-width:1100px) {
 .page-data .catalog-browser { grid-template-columns:190px minmax(0,1fr); gap:20px; }
 .page-data .data-row { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
 .page-data .row-count { display:none; }
 .page-data .data-overview>div { padding:16px; }
}
@media(max-width:760px) {
 .page-data .catalog-main { padding:22px 18px 38px; }
 .page-data .data-hero { grid-template-columns:1fr; gap:22px; padding:8px 0 26px; }
 .page-data .data-hero h1 { font-size:clamp(53px,12vw,82px); }
 .page-data .data-hero p { font-size:20px; }
 .page-data .hero-aside strong { font-size:18px; }
 .page-data .hero-aside p { font-size:13px; }
 .page-data .data-overview { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .page-data .data-overview>div { border-bottom:1px solid #111; }
 .page-data .data-overview>div:nth-child(even) { border-right:0; }
 .page-data .data-overview>div:last-child { grid-column:1/-1; border-bottom:0; display:grid; grid-template-columns:1fr 1fr; gap:6px; align-items:center; }
 .page-data .data-overview dd { font-size:60px; margin:12px 0 5px; }
 .page-data .data-overview .date-value { font-size:25px; margin:0; }
 .page-data .data-tabs { grid-template-columns:1fr 1fr; }
 .page-data .data-tabs button { border-bottom:1px solid #DADADA; padding:12px; font-size:13px; }
 .page-data .data-section-heading { display:block; }
 .page-data .data-section-heading h2 { font-size:25px; }
 .page-data .catalog-browser { display:block; }
 .page-data .category-menu { display:grid; grid-template-columns:1fr 1fr; margin-bottom:25px; }
 .page-data .category-menu button { min-height:59px; padding:9px 6px; }
 .page-data .category-menu button:first-child { grid-column:1/-1; min-height:44px; }
 .page-data .category-menu button strong { font-size:12px; }
 .page-data .category-menu button small { font-size:8px; }
 .page-data .catalog-filters { grid-template-columns:1fr 1fr; }
 .page-data .catalog-filters label:first-child { grid-column:1/-1; }
 .page-data .data-row { grid-template-columns:1fr; gap:15px; }
 .page-data .row-dates { grid-template-columns:1fr 1fr; gap:10px; }
 .page-data .row-dates>div { display:block; }
 .page-data .row-dates dd { margin-top:4px; }
 .page-data .criteria-list { grid-template-columns:1fr; gap:8px; }
 .page-data .data-map-layout { grid-template-columns:1fr; }
 .page-data .layer-list { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; max-height:310px; border-right:0; border-bottom:1px solid #111; padding:8px 12px; }
 .page-data .layer-line { gap:3px; }
 .page-data .layer-line label { font-size:12px; }
 .page-data .layer-info { min-width:32px; font-size:11px; }
 .page-data #data-map-canvas { height:430px; }
 .page-data .map-feature-list ul { grid-template-columns:1fr; }
 .page-data .gap-controls { grid-template-columns:1fr; gap:12px; }
 .page-data .gap-city-list:not(:empty) { display:block; border-top:1px solid #111; margin-bottom:24px; }
 .page-data .gap-city-list button { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:52px; border:0; border-bottom:1px solid #DADADA; background:transparent; color:#111; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
 .page-data .history-list li { grid-template-columns:1fr; gap:10px; }
 .page-data .data-workflow { grid-template-columns:repeat(2,1fr); gap:20px; }
 .page-data .dialog-content { padding:18px; }
 .page-data .dialog-bar { padding:10px 18px; }
 .page-data .dialog-content h2 { font-size:24px; }
 .page-data .detail-meta { grid-template-columns:1fr; }
 .page-data .quality-row { grid-template-columns:1fr 1fr; }
 .page-data .quality-row p { grid-column:1/-1; }
 .page-data .data-map-controls { grid-template-columns:1fr; }
}
@media print { .page-data .atlas-header, .page-data .data-tabs, .page-data .catalog-filters, .page-data .category-menu { display:none; } .page-data .catalog-browser { display:block; } }

.page-data .skip { position:absolute; left:-10000px; top:0; z-index:10000; padding:12px; background:#fff; color:#111; }
.page-data .skip:focus { left:12px; top:12px; }
