/* Harta Corupției — UI v2. Plain, readable typography; floating translucent controls. */
.page-map{--accent:#be1b24;--dark:#91131b;--ink:#202528;--muted:#656d70;--border:#dee2df;--page:#f5f5f1;background:#f5f5f1;color:var(--ink);font-family:Arial,Helvetica,"Liberation Sans",sans-serif;font-size:14px;line-height:1.45}
.page-map button,.page-map select,.page-map input{font-family:Arial,Helvetica,"Liberation Sans",sans-serif}
.page-map .topbar{background:#bf0e13;border:0;color:#fff;position:relative;z-index:2000}
.page-map .topbar-inner{max-width:none;min-height:59px;padding:0 25px}
.page-map .brand{gap:11px;color:#fff;min-width:210px}
.page-map .brand-symbol{height:31px;width:42px;border:1px solid rgba(255,255,255,.74);display:grid;place-items:center;font-family:Georgia,'Times New Roman',serif;font-size:19px;font-weight:700;letter-spacing:-.07em}
.page-map .brand-symbol-dot{display:none}
.page-map .brand-label b{font-family:Georgia,'Times New Roman',serif;font-size:17px;letter-spacing:0;font-weight:700;line-height:1.05}
.page-map .brand-label small{display:block;color:rgba(255,255,255,.8);font-size:10px;margin-top:4px;letter-spacing:.02em}
.page-map .topnav{align-items:center;gap:26px}
.page-map .topnav a,.page-map .top-admin{color:rgba(255,255,255,.88);text-decoration:none;font-size:12px;font-weight:600}
.page-map .topnav a:hover,.page-map .top-admin:hover{color:#fff}
.page-map .topnav a.active{color:#fff;text-decoration:underline;text-underline-offset:9px;text-decoration-thickness:2px}
.page-map .top-admin{font-weight:400;font-size:11px;opacity:.9}
.page-map .map-stage{height:calc(100vh - 59px);height:calc(100dvh - 59px);min-height:620px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 55% 40%,#e9ece7 4%,#dde5e4 100%);isolation:isolate}
.page-map .map-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;background:#dfe8e7!important}
.page-map .map-hover-tooltip{position:absolute;z-index:1000;pointer-events:none;background:rgba(37,43,43,.9);color:#fff;font-size:12px;padding:7px 11px;border-radius:5px;box-shadow:0 4px 17px rgba(0,0,0,.16)}
.page-map .map-hover-tooltip[hidden]{display:none}
.page-map .map-light-mask{position:absolute;inset:0;pointer-events:none;z-index:100;background:linear-gradient(to right,rgba(244,245,241,.12),transparent 65%)}
.page-map .glass{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(1.1);backdrop-filter:blur(18px) saturate(1.1);border:1px solid rgba(255,255,255,.72);box-shadow:0 7px 35px rgba(35,45,48,.13),0 1px 3px rgba(35,45,48,.07);border-radius:10px}
.page-map .floating-sidebar{position:absolute;left:22px;top:22px;bottom:22px;width:345px;max-height:calc(100% - 44px);z-index:800;overflow-y:auto;overscroll-behavior:contain;padding:0 19px 15px;scrollbar-color:#b9c0bf transparent;scrollbar-width:thin}
.page-map .sidebar-heading{padding-top:23px}
.page-map .sidebar-eyebrow{font-size:10px;color:#697074;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.page-map .sidebar-eyebrow span{padding:0 5px;color:#b4b9b9}
.page-map .sidebar-title-row{display:flex;align-items:start;gap:7px}
.page-map .sidebar-title-row h1{font-family:Arial,Helvetica,sans-serif;font-size:27px;line-height:1.12;letter-spacing:-.025em;margin:13px 0 9px;font-weight:700}
.page-map .sidebar-heading p{font-size:12px;color:#575e60;line-height:1.55;margin:0 0 12px}
.page-map .dataset-status{display:flex;align-items:center;gap:7px;color:#61686b;font-size:10px;line-height:1.3;margin-bottom:14px}
.page-map .status-dot{height:6px;width:6px;flex:0 0 6px;background:#c4962a;border-radius:50%}
.page-map .sidebar-stat-main{border-top:1px solid rgba(91,100,100,.13);padding:14px 0 11px}
.page-map .stat-label{display:block;color:#6b7373;font-size:11px}
.page-map .sidebar-stat-main strong{display:block;font-family:Arial,Helvetica,sans-serif;font-size:37px;letter-spacing:-.045em;line-height:1.2;font-weight:700;margin:4px 0}
.page-map .stat-caption{font-size:10px;color:#868c8d}
.page-map .sidebar-stats{display:grid;grid-template-columns:1fr 1fr;column-gap:17px;row-gap:14px;padding:3px 0 18px}
.page-map .sidebar-stats strong{display:block;font-size:20px;line-height:1.25;font-weight:700;margin-top:4px;letter-spacing:-.02em}
.page-map .sidebar-stats small{display:block;font-size:10px;color:#7a8284;margin-top:3px;line-height:1.3}
.page-map .sidebar-rule{height:1px;background:rgba(91,100,100,.15);margin-bottom:14px}
.page-map .panel-heading.filter-heading{display:flex;align-items:center;padding:0;margin:0 0 12px;border:0}
.page-map .filter-heading h2{font-size:14px;letter-spacing:0}
.page-map .reset-button{font-size:11px;background:rgba(255,255,255,.55);border-color:#d2d7d5}
.page-map .filter-field{margin-bottom:12px;gap:5px}
.page-map .filter-field label{font-size:11px;color:#484f51;font-weight:600}
.page-map .filter-field select,.page-map .timeline-basis select{border-radius:6px;border:1px solid rgba(150,160,160,.38);background:rgba(255,255,255,.72);height:35px;font-size:12px;padding:5px 10px;color:#293032}
.page-map .filter-field select:focus,.page-map .timeline-basis select:focus{outline:2px solid rgba(183,32,44,.3)}
.page-map .filter-grid{gap:9px}
.page-map .more-filters{margin:1px 0 8px;border-bottom:1px solid rgba(91,100,100,.13)}
.page-map .more-filters summary{display:flex;justify-content:space-between;align-items:center;list-style:none;padding:8px 0 11px;cursor:pointer;color:#7f131a;font-weight:700;font-size:11px}
.page-map .more-filters summary::-webkit-details-marker{display:none}
.page-map .more-filters[open] summary span{transform:rotate(180deg)}
.page-map .more-filters-content{padding:3px 0 5px}
.page-map .more-filters-content .filter-footnote{line-height:1.45;font-size:10px;padding-bottom:10px}
.page-map .sidebar-county-summary{padding:8px 0 11px;color:#515b5c;font-size:11px;line-height:1.5}
.page-map .county-summary-label{text-transform:uppercase;letter-spacing:.065em;font-size:9px;font-weight:700;color:#7e8586;margin-bottom:5px}
.page-map #clear-county{margin-top:9px;white-space:normal;text-align:left;display:block}
.page-map #clear-county[hidden]{display:none}
.page-map .sidebar-analysis-link{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9e1720;font-weight:700;text-decoration:none;padding:12px 0 2px;border-top:1px solid rgba(91,100,100,.12)}
.page-map .sidebar-analysis-link:hover{text-decoration:underline}
.page-map .sidebar-close,.page-map .mobile-filter-toggle{display:none}
.page-map .map-caption{position:absolute;top:22px;right:26px;z-index:700;padding:13px 15px;display:flex;flex-direction:column;align-items:start;gap:4px;min-width:220px}
.page-map .map-caption-label{font-size:9px;color:#717b7d;letter-spacing:.08em;font-weight:700}
.page-map .map-caption strong{font-size:15px;font-weight:700}
.page-map .map-caption>span:last-child{color:#626c6e;font-size:11px}
.page-map .floating-legend{position:absolute;right:25px;bottom:179px;padding:10px 13px;z-index:700}
.page-map .legend-title{display:block;font-size:10px;font-weight:700;color:#626b6c;margin-bottom:5px}
.page-map .legend{margin:0;gap:3px}
.page-map .legend-chip{width:19px;height:9px;border-radius:2px;border:1px solid rgba(255,255,255,.55)}
.page-map .legend-tick{font-size:10px;margin-left:6px;color:#53595b}
.page-map .floating-timeline{position:absolute;bottom:22px;left:calc(345px + 45px);right:25px;max-width:910px;margin:0 auto;z-index:900;padding:15px 21px 10px}
.page-map .timeline-top{display:flex;justify-content:space-between;align-items:start;gap:22px}
.page-map .timeline-eyebrow{font-size:9px;letter-spacing:.08em;color:#778081;font-weight:700}
.page-map .timeline-dates{display:flex;gap:10px;align-items:center;margin-top:3px}
.page-map .timeline-dates strong{font-family:Arial,Helvetica,sans-serif;font-size:24px;letter-spacing:-.035em;line-height:1.2;font-weight:700;color:#262b2e}
.page-map .timeline-dates span{color:#899091;font-size:15px}
.page-map .timeline-basis{display:flex;align-items:center;gap:9px}
.page-map .timeline-basis label{font-size:10px;color:#717a7a;font-weight:600;white-space:nowrap}
.page-map .timeline-basis select{min-width:175px;max-width:245px}
.page-map .dual-range{position:relative;height:30px;margin:8px 3px 0;touch-action:pan-y}
.page-map .range-track,.page-map .range-progress{height:5px;position:absolute;top:12px;border-radius:10px;pointer-events:none}
.page-map .range-track{left:0;right:0;background:rgba(94,106,105,.22)}
.page-map .range-progress{left:0;width:100%;background:#b80e1d}
.page-map .dual-range input[type=range]{-webkit-appearance:none;appearance:none;position:absolute;inset:0;width:100%;height:30px;padding:0;margin:0;background:transparent;outline:none;pointer-events:none;cursor:grab}
.page-map .dual-range input[type=range]::-webkit-slider-runnable-track{background:transparent;height:5px}
.page-map .dual-range input[type=range]::-moz-range-track{background:transparent;height:5px}
.page-map .dual-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:20px;height:20px;margin-top:-7px;background:#fff;border:3px solid #b80e1d;border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.18);cursor:grab}
.page-map .dual-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:15px;height:15px;background:#fff;border:3px solid #b80e1d;border-radius:50%;box-shadow:0 1px 5px rgba(0,0,0,.18);cursor:grab}
.page-map .dual-range input[type=range]:focus-visible::-webkit-slider-thumb{outline:3px solid #f0b2b7;outline-offset:2px}
.page-map .timeline-bottom{display:flex;align-items:center;justify-content:space-between;gap:7px}
.page-map .timeline-endpoint{font-size:10px;color:#858d8e;min-width:26px}
.page-map .year-shortcuts{display:flex;gap:5px;align-items:center;justify-content:center;flex-wrap:wrap}
.page-map .year-shortcuts button{border:1px solid rgba(152,158,155,.24);background:rgba(255,255,255,.45);color:#60696a;border-radius:5px;font-size:10px;font-weight:600;padding:5px 10px;line-height:1.2}
.page-map .year-shortcuts button:hover{background:rgba(255,255,255,.95)}
.page-map .year-shortcuts button.is-active{background:#b80e1d;color:#fff;border-color:#b80e1d}
.page-map .timeline-footer{display:none}
.page-map .leaflet-container{background:#dfe8e7!important;font-family:Arial,Helvetica,sans-serif}
.page-map .leaflet-control-zoom{border:1px solid rgba(60,65,66,.12)!important;border-radius:8px!important;box-shadow:0 5px 18px rgba(0,0,0,.12)!important;overflow:hidden;margin-top:124px!important;margin-right:27px!important}
.page-map .leaflet-control-zoom a{color:#333;font-size:18px;background:rgba(255,255,255,.88)}
.page-map .leaflet-control-attribution{background:rgba(255,255,255,.72)!important;color:#687174!important;font-size:9px!important}
.page-map .leaflet-tooltip{border:1px solid #e1e4e2;border-radius:5px;box-shadow:0 5px 15px rgba(0,0,0,.12);font:12px Arial,Helvetica,sans-serif}
.page-map .analysis-wrap{max-width:1380px;margin:0 auto;padding:46px 30px 0}
.page-map .analysis-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}
.page-map .section-kicker{font-size:10px;font-weight:700;letter-spacing:.09em;color:#9f232b}
.page-map .analysis-heading h2{font-family:Arial,Helvetica,sans-serif;letter-spacing:-.025em;font-size:26px;line-height:1.2;margin:9px 0 6px;font-weight:700}
.page-map .analysis-heading p{margin:0;color:#6a7273;font-size:13px}
.page-map .source-time{font-size:10px;color:#7c8585}
.page-map .lower-grid{margin-top:22px;gap:18px}
.page-map .panel{box-shadow:0 3px 16px rgba(36,44,46,.035);border-color:#e2e5e2;background:#fff;border-radius:9px}
.page-map .section-head{padding:22px 24px 13px}
.page-map .section-head h2{font-size:17px;letter-spacing:0;font-weight:700}
.page-map .section-head p{font-size:12px}
.page-map .chart-bar{background:linear-gradient(#d3666e,#a81724)}
.page-map .year-chart{padding:24px 22px 16px}
.page-map .results{margin-top:18px}
.page-map .primary-button{background:#b5121e;font-size:12px;border-radius:5px}
.page-map .primary-button:hover{background:#8f101a}
.page-map .search-row input{max-width:430px}
.page-map .methodology{max-width:1020px;padding:36px 0 20px}
.page-map .methodology h2{font-size:20px;font-weight:700;letter-spacing:0}
.page-map .methodology p{font-size:12px;line-height:1.8}
.page-map .footer{padding-bottom:30px}
.page-map .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-map .mobile-sidebar-scrim{display:none}
@media(max-width:1100px){
  .page-map .floating-sidebar{width:308px;left:16px;top:16px;bottom:16px;padding-left:16px;padding-right:16px}
  .page-map .floating-timeline{left:342px;right:16px;bottom:16px;padding:13px 16px 10px}
  .page-map .floating-legend{bottom:171px;right:16px}
  .page-map .map-caption{right:16px;top:16px}
  .page-map .timeline-basis label{display:none}
  .page-map .topnav{gap:17px}
}
@media(max-width:760px){
  .page-map .topbar-inner{padding:0 13px;min-height:55px}
  .page-map .brand{min-width:auto;gap:8px}
  .page-map .brand-symbol{height:27px;width:33px;font-size:14px}
  .page-map .brand-label b{font-size:14px}
  .page-map .brand-label small{font-size:9px}
  .page-map .topnav{margin-left:auto;gap:12px}
  .page-map .topnav a{display:none}
  .page-map .topnav a.active{display:inline;text-decoration:none}
  .page-map .top-admin{display:none}
  .page-map .map-stage{height:calc(100vh - 55px);height:calc(100dvh - 55px);min-height:540px}
  .page-map .mobile-filter-toggle{display:block;position:absolute;left:12px;top:12px;z-index:800;padding:10px 12px;border-radius:8px;color:#262c2d;font-size:12px;font-weight:700;cursor:pointer}
  .page-map .mobile-filter-toggle span{margin-right:7px;font-size:15px;color:#b80e1d}
  .page-map .floating-sidebar{position:fixed;left:0;top:55px;bottom:0;max-height:none;height:calc(100dvh - 55px);width:min(355px,88vw);padding:0 18px 22px;border-radius:0 12px 12px 0;z-index:2200;transform:translateX(-112%);transition:transform .2s ease;box-shadow:0 10px 35px rgba(0,0,0,.2)}
  .page-map .floating-sidebar.is-open{transform:translateX(0)}
  .page-map .mobile-sidebar-scrim:not([hidden]){display:block;position:fixed;inset:55px 0 0;z-index:2100;background:rgba(15,22,25,.35)}
  .page-map .sidebar-close{display:block;margin:6px -2px 0 auto;border:0;background:transparent;color:#6d7476;font-size:29px;line-height:1;cursor:pointer;padding:0 6px}
  .page-map .map-caption{top:12px;right:12px;min-width:0;padding:10px 12px;max-width:180px}
  .page-map .map-caption strong{font-size:12px}
  .page-map .map-caption-label{font-size:8px}
  .page-map .map-caption>span:last-child{font-size:9px}
  .page-map .leaflet-control-zoom{margin-top:116px!important;margin-right:13px!important}
  .page-map .floating-legend{right:12px;bottom:196px;padding:9px}
  .page-map .floating-timeline{left:12px;right:12px;bottom:12px;max-width:none;padding:13px 14px 10px}
  .page-map .timeline-dates strong{font-size:21px}
  .page-map .timeline-basis{align-self:center}
  .page-map .timeline-basis select{min-width:0;width:160px;max-width:44vw;font-size:11px}
  .page-map .year-shortcuts{gap:3px}
  .page-map .year-shortcuts button{font-size:9px;padding:5px 6px}
  .page-map .timeline-bottom{gap:3px}
  .page-map .analysis-wrap{padding:32px 15px 0}
  .page-map .analysis-heading h2{font-size:22px}
  .page-map .source-time{display:none}
  .page-map .lower-grid{grid-template-columns:1fr;gap:14px}
  .page-map .section-head{padding:18px 16px 10px}
  .page-map .results .section-head{flex-wrap:wrap}
  .page-map .year-chart{padding-left:15px;padding-right:15px}
  .page-map .search-row{align-items:stretch}
}
@media(max-width:385px){
  .page-map .timeline-top{gap:8px}
  .page-map .timeline-dates strong{font-size:19px}
  .page-map .timeline-basis select{width:142px;font-size:10px}
  .page-map .timeline-endpoint{font-size:9px}
  .page-map .year-shortcuts button{padding:4px 5px}
  .page-map .map-caption{max-width:162px}
}
@media(prefers-reduced-motion:reduce){.page-map .floating-sidebar{transition:none}}

/* v3: OSM credit stays visible above overlays. */
.page-map .map-attribution{display:block;font-size:10px;color:#657071;margin-top:6px}
.page-map .map-attribution a{color:#6e1b23;text-decoration:underline;text-underline-offset:2px}
.page-map #tile-warning:not([hidden]){display:block;font-size:10px;color:#981a25;line-height:1.35;margin-top:3px}
.page-map .county-detail-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:12px;font-weight:700;color:#a51b26;padding:10px 12px;border:1px solid rgba(166,28,43,.25);border-radius:6px;background:rgba(255,255,255,.73);margin:10px 0 2px}
.page-map .county-detail-link:hover{background:#fff;border-color:#ad1e2a}
.page-map .county-detail-link[hidden]{display:none}
