/* Modern civic workspace. Loaded after the legacy presentation layers. */
:root{--green:#087f8c;--green-dark:#066571;--primary:#087f8c;--ink:#182d42;--muted:#586d80;--line:#dce6ed;--bg:#f4f7fa;--blue:#2579ba;--gold:#b57813;--coral:#bc5363;--radius:18px;--shadow:0 8px 28px #18354d09}
body{padding:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.85}
body:before{background:radial-gradient(ellipse at 5% 0,#dcefee80,transparent 42%)}
.sidebar,.sidebar:hover{inset:16px 16px 16px auto;width:232px;height:calc(100dvh - 32px);padding:22px 14px;background:#142d43;border:1px solid #254359;border-radius:22px;box-shadow:0 12px 40px #152e4314;transition:transform .2s}
.sidebar .brand,.sidebar:hover .brand{justify-content:flex-start;padding:0 8px 22px!important;border-bottom:1px solid #ffffff1f}
.brand img{width:44px;height:44px;border-radius:14px}.sidebar .brand>div,.sidebar .sidebar-caption,.sidebar .sidebar-bottom{display:block}.brand strong{color:#fff;font-size:19px}.brand small{color:#b9cddc;font-size:10px}
.sidebar-caption{color:#a6c1d0;font-size:10px;padding:20px 12px 6px}.sidebar .nav-item,.sidebar:hover .nav-item{justify-content:flex-start;gap:12px;padding:10px 13px!important;min-height:44px;font-size:12px!important;color:#c4d6e2;border:1px solid transparent;border-radius:12px;margin:4px 0}.sidebar .nav-item>span:not(.nav-dot){display:inline}.sidebar .nav-item svg{width:20px;height:20px;flex-shrink:0}.sidebar .nav-item.active,.sidebar .nav-item:hover{background:#254b60;color:#fff;border-color:#366479}.sidebar .nav-item.active{background:#087f8c;border-color:#1596a3}.nav-item.active:before{display:none}.sidebar-bottom{margin-top:20px;border-top:1px solid #ffffff1f;padding:16px 10px}.sidebar .privacy-link{color:#bed1dc;line-height:2}
.workspace{margin:0 264px 0 0;min-height:100dvh;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.topbar{position:relative;display:flex;flex-wrap:wrap;min-height:92px;padding:22px 32px;gap:18px;background:#ffffffb8;border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.breadcrumb{color:var(--muted);font-size:12px}.breadcrumb strong{color:var(--ink);font-weight:700}.top-actions{gap:9px;flex-wrap:wrap}.site-search{max-width:360px;min-width:180px;border:1px solid var(--line);background:#f4f7fa;border-radius:14px}.site-search input{font-size:12px;color:var(--ink)}.site-search button{background:var(--green);width:30px;height:30px;border-radius:10px}.account-button{background:#fff;border:1px solid var(--line);font-size:12px;color:var(--ink);padding:9px 12px}.top-actions .primary{font-size:12px}
main{max-width:1560px;padding:26px 32px 16px;margin-inline:auto}.primary{background:var(--green);border-color:var(--green);font-weight:700;border-radius:12px;box-shadow:0 4px 10px #087f8c12}.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.secondary{background:#fff;border-color:#cadbe5;color:#294c62}.secondary:hover{background:#edf6f7;border-color:#79b7bd}.text-button{color:#06737e}
button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #14899a;outline-offset:3px}input,select,textarea,.filters input,.filters select{background:#fff;color:var(--ink);border:1px solid #cbdbe4;border-radius:11px;font-size:13px;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #087f8c12}.form-help,.page-heading p{color:var(--muted)}
.form-panel,.report-card,.participation-panel,.trust-panel,.map-panel,.map-report-panel,.album-card,.dash-card,.dash-kpi,.stat-grid .stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.report-card{padding:24px 24px 0;transition:border-color .18s,transform .18s}.report-card:hover{border-color:#70b5bd;box-shadow:0 10px 26px #16384e0c;transform:translateY(-2px)}.report-card h3{font-size:16px;color:var(--ink);line-height:1.85}.report-card>p{color:var(--muted);font-size:13px}.card-bottom{border-color:var(--line);font-size:11px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.filters{padding:16px;background:#eaf0f5;border:1px solid var(--line);border-radius:16px;gap:10px}.badge{font-size:11px;background:#edf3f7;color:#37546c}.status-progress,.status-organization_resolved,.status-followup_resolved{background:#fff1d6;color:#795009}.status-citizen_confirmed{background:#ddf5e9;color:#15633f}.status-disputed,.status-reopened{background:#ffebee;color:#9f3349}
.page-heading h1,.form-panel h1{font-size:28px;color:var(--ink)}.section-title h2{font-size:21px;color:var(--ink)}.form-panel{padding:30px}.notice{background:#e5f3f4;color:#205b63;border-color:#b9dbdf}.modal{border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 80px #142d4333}.modal::backdrop{background:#10283e88;backdrop-filter:blur(5px)}
.dashboard-heading{padding:3px 0 26px;align-items:flex-end}.dashboard-heading h1{font-size:30px;font-weight:700;color:var(--ink);margin:8px 0}.dashboard-heading p,.dashboard-date,.dashboard-kicker{font-size:12px;color:var(--muted)}.dashboard-date strong{color:#35566d}.dashboard-kpis{gap:16px;margin-bottom:24px}.dash-kpi{padding:22px;grid-template-columns:44px 1fr;gap:12px}.kpi-symbol{width:44px;height:44px;border-radius:14px;background:#dff2f3;color:#087f8c}.dash-kpi strong{font-size:32px;font-weight:700;color:var(--ink)}.dash-kpi>div>span,.dash-kpi small{color:var(--muted);font-size:12px}.dash-kpi small{font-size:10px}.dashboard-grid{gap:20px}.dash-card{padding:24px}.dash-card h2{font-size:15px;font-weight:700;color:var(--ink)}.dash-card-head p,.chart-empty-note,.progress-card>p,.chart-key{color:var(--muted);font-size:11px}.dash-card-head select{font-size:11px;color:var(--ink);border-color:var(--line);max-width:150px}.trend-card{grid-column:span 8}.calendar-card{grid-column:span 4}.progress-card,.categories-card,.activity-card{grid-column:span 4}.chart-purple-line{stroke:#078795}.chart-orange-line{stroke:#c38a35}.chart-axis{fill:#576e80}.ring-value{stroke:#087f8c}.ring-track{stroke:#e6eff3}.ring-chart strong{color:var(--ink);font-weight:700}.ring-chart span{color:var(--muted)}.mini-badge{color:#486779;border-color:var(--line)}
.hero{background:linear-gradient(115deg,#e6f4f4,#f9fcff);border-color:#cde2e7;border-radius:22px}.hero h1{color:#153b51}.hero h1 em{color:#087f8c}.hero-copy>p,.hero-foot{color:#4c697b}.stat-grid .stat strong{color:#087f8c}.stat-grid .stat div>span{color:var(--muted)}.map-panel-head,.map-help,.map-attribution,.map-legend{background:#fff;color:var(--muted);border-color:var(--line)}.map-source-badge{background:#e6f4f4;color:#22606a}.map-controls .secondary{color:#254e64;border-color:var(--line)}.home-map-panel .map-stage{height:420px}.home-poll-banner{background:#fff7e8;border-color:#e7d6b3;color:#6b4b18}.home-poll-row{border-color:#e7d6b3}.home-poll-banner .primary{background:#876019;border-color:#876019}.home-poll-tabs button{color:#6b4b18;border-color:#d8c49d}.home-poll-tabs button[aria-selected=true]{background:#876019;border-color:#876019}.message.mine{background:#e4f4f2}.message{background:#f0f4f8}.description{line-height:2}footer{margin-top:32px;padding-top:24px;color:var(--muted);border-color:var(--line)}footer strong{color:var(--ink)}
@media(min-width:1500px){body{padding:0}.sidebar,.sidebar:hover{right:24px;top:24px;bottom:24px;height:calc(100dvh - 48px)}.workspace{margin-right:280px;min-height:100dvh}}
@media(max-width:1200px) and (min-width:761px){.sidebar,.sidebar:hover{width:200px}.workspace{margin-right:228px}.topbar{padding:18px 22px}.site-search{order:3;max-width:none;flex-basis:100%}main{padding:24px 22px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.trend-card,.calendar-card{grid-column:span 6}.progress-card,.categories-card,.activity-card{grid-column:span 4}}
@media(max-width:760px){body{padding:0}.sidebar,.sidebar:hover{width:min(290px,86vw);inset:0 0 0 auto;height:100dvh;border-radius:22px 0 0 22px;transform:translateX(110%);z-index:100}.sidebar.mobile-open{transform:translateX(0)}.sidebar .mobile-close{display:block;color:#fff;margin-inline-start:auto}.workspace{margin:0;min-height:100dvh;border-radius:0}.topbar{padding:14px 16px;gap:12px;align-items:center}.topbar .menu-toggle{display:inline-flex;color:var(--ink)}.breadcrumb{flex:1}.top-actions{gap:6px}.top-actions .account-button,.top-actions .primary{font-size:11px;padding:8px 10px}.site-search{order:3;flex-basis:100%;max-width:none;min-width:0}.site-search input{font-size:12px}.logout-button span{display:none}main{padding:20px 16px 12px}.dashboard-heading{align-items:flex-start;gap:12px}.dashboard-heading h1{font-size:24px}.dashboard-heading p{font-size:11px}.dashboard-date{font-size:10px;flex-shrink:0}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-kpi{padding:15px 12px;grid-template-columns:32px 1fr;gap:8px}.kpi-symbol{width:32px;height:32px;font-size:20px}.dash-kpi strong{font-size:25px}.dash-kpi>div>span{font-size:10px}.dash-kpi small{font-size:9px}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:16px}.dashboard-grid>.dash-card{grid-column:1}.dash-card{padding:20px}.report-grid{grid-template-columns:minmax(0,1fr)}.report-card{padding:22px 20px 0}.form-panel{padding:24px 18px}.form-grid,.lower-grid{grid-template-columns:minmax(0,1fr)}.filters{padding:12px}.filters input,.filters select{font-size:12px}.home-map-panel .map-stage{height:340px}.page-heading h1,.form-panel h1{font-size:25px}.modal{padding:26px 20px;max-width:calc(100vw - 24px)}footer{font-size:11px}.sidebar .nav-item{font-size:13px!important}}
@media(prefers-reduced-motion:reduce){.report-card,.sidebar{transition:none}.report-card:hover{transform:none}}
.dashboard-grid .dash-card h2{font-size:15px;color:var(--ink)}.dashboard-data-note,.calendar-note,.chart-empty-note{color:var(--muted);font-size:11px;line-height:1.9}.calendar-head{color:var(--ink);font-size:12px}.calendar-days time{color:#35566d}.calendar-days .today{background:#087f8c;color:white}.dashboard-mini-stats span{color:var(--muted)}.dashboard-mini-stats strong{color:var(--ink)}
@media(min-width:761px){.sidebar .mobile-close,.topbar .menu-toggle{display:none}}
@media(max-width:760px){.breadcrumb>strong{display:inline}.dashboard-date{display:none}.primary,.secondary,.account-button{min-height:40px}.sidebar .nav-item{min-height:44px}}
/* Explicit home regions prevent legacy grid placement from scattering panels. */
.home-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-template-areas:"polls polls" "intro intro" "paths paths" "stats stats" "note note" "map recent" "honors honors";gap:14px;align-items:start}
.home-board>*{min-width:0;margin:0}.home-board>.home-poll-banner{grid-area:polls}.home-board>.home-intro-shell{grid-area:intro;container-type:normal}.home-board>.home-pathways{grid-area:paths}.home-board>.stat-grid{grid-area:stats;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.home-board>.home-data-note{grid-area:note;font-size:12px;line-height:1.9}.home-board>.home-map-section{grid-area:map}.home-board>.home-recent{grid-area:recent}.home-board>.home-followups{grid-area:honors}
.home-board .home-intro-layout{display:block;margin:0}.home-board .home-intro-layout>.hero{display:grid;grid-template-columns:minmax(0,1fr) 200px;align-items:center;gap:32px;min-height:0;margin:0;padding:36px 40px;border:1px solid #cae3e4;border-radius:22px;background:linear-gradient(110deg,#e6f4f3,#fff);isolation:isolate}.home-board .hero:before,.home-board .hero:after{display:none}.home-board .hero-copy{min-width:0}.home-board .hero h1{font-size:32px;line-height:1.65;color:#17394d;margin:12px 0;letter-spacing:-.7px}.home-board .hero h1 br{display:none}.home-board .hero h1 em{color:#087f8c;background:none;-webkit-text-fill-color:currentColor}.home-board .hero-copy>p{font-size:14px;line-height:2;color:#486579;max-width:620px;margin:0 0 20px}.home-board .hero-copy>.eyebrow{background:#e4f2f1;border:0;color:#21666a;font-size:11px;padding:5px 12px}.home-board .hero-art{display:flex;align-items:center;justify-content:center;height:auto;min-height:0;margin:0;padding:0;order:initial}.home-board .hero-art .logo-frame{width:148px;height:148px;border:1px solid #cee2e5;border-radius:32px;animation:none;background:white;box-shadow:0 12px 30px #163a4e0b}.home-board .hero-art .orbit{display:none}.home-board .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0}.home-board .hero-foot{font-size:11px;color:#577587;margin:16px 0 0}.home-board .hero-actions .secondary{background:#fff;color:#31566d;border-color:#c8dce4}
.home-board .home-pathways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-pathways>a{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:none;min-width:0}.home-pathways strong{font-size:13px;color:var(--ink)}.home-pathways p{font-size:12px;color:var(--muted)}.home-pathways>a>div{min-width:0}.home-pathways .pathway-number{font-size:24px;color:var(--green)}.home-pathways>a:hover{border-color:#70b6be;background:#f8fcfc}
.home-board .stat{min-width:0;padding:20px;border-radius:16px}.home-board .stat strong{font-size:30px}.home-board .stat div>span{font-size:12px;color:var(--muted)}.home-board .home-map-section>.section-title,.home-recent>.section-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 14px}.home-board .section-title h2{font-size:18px;margin:0}.home-board .section-title a{font-size:12px}.home-board .home-map-section>.form-help{font-size:11px;line-height:1.9;margin:0 0 14px}.home-board .home-map-panel .map-stage{height:430px;min-height:300px}.home-board .home-recent{padding:20px;background:#fff;border:1px solid var(--line);border-radius:18px}.home-recent .report-grid{display:flex;flex-direction:column;gap:12px;max-height:550px;overflow-y:auto;scrollbar-width:thin;padding:2px}.home-recent .report-card{display:flex!important;flex-direction:column;flex-shrink:0;width:100%;padding:16px 16px 0;border:1px solid #e2eaf0;border-radius:12px;background:#f8fafc;box-shadow:none;text-align:right}.home-recent .report-card h3{font-size:14px;min-height:0;margin:0 0 8px}.home-recent .report-card>p{font-size:12px;line-height:1.9;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-recent .card-top{width:100%;margin:0 0 10px}.home-recent .card-bottom{width:100%;padding:10px 0;font-size:10px}.home-board>.home-followups{padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff}.home-board .honors-table-scroll{max-height:290px;overflow:auto}.home-board #honors-title{font-size:20px;color:var(--ink)}
@media(max-width:1100px){.home-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"polls" "intro" "paths" "stats" "note" "map" "recent" "honors"}.home-board .home-intro-layout>.hero{padding:30px;grid-template-columns:minmax(0,1fr) 150px}.home-board .home-pathways{gap:12px}.home-pathways>a{padding:16px;gap:10px}.home-recent .report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.home-recent .report-card{height:100%}}
@media(max-width:760px){.home-board{gap:18px}.home-board .home-intro-layout>.hero{display:block;padding:24px}.home-board .hero-art{display:none}.home-board .hero h1{font-size:27px}.home-board .hero-copy>p{font-size:13px}.home-board .home-pathways{grid-template-columns:1fr;gap:10px}.home-pathways>a{padding:16px}.home-board>.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-board .stat{padding:16px}.home-board .stat strong{font-size:26px}.home-board .stat div>span{font-size:11px}.home-recent .report-grid{grid-template-columns:1fr}.home-board .home-map-panel .map-stage{height:340px}.home-board>.home-followups,.home-board .home-recent{padding:18px}}

/* Compact rhythm: hidden banners must not reserve a row. */
.home-board:has(>.home-poll-banner[hidden]){grid-template-areas:"intro intro" "paths paths" "stats stats" "note note" "map recent" "honors honors"}
.home-board{column-gap:18px;row-gap:14px}.home-board>*{margin-block:0}.home-board .home-intro-layout{gap:0}.home-board .home-intro-layout>.hero{padding:24px 28px;gap:20px;min-height:0}.home-board .hero h1{font-size:28px;margin:8px 0;line-height:1.6}.home-board .hero-copy>p{margin:0 0 12px;font-size:13px;line-height:1.9}.home-board .hero-foot{margin-top:10px}.home-board .hero-art .logo-frame{width:120px;height:120px}.home-board .home-pathways{gap:12px}.home-board .home-pathways>a{padding:14px 16px;gap:10px}.home-board .home-pathways p{margin-top:2px;font-size:11px}.home-board .stat-grid{gap:12px}.home-board .stat{padding:14px 18px;gap:10px}.home-board .stat strong{font-size:26px;line-height:1.3}.home-board .stat div{gap:4px}.home-board>.home-data-note{font-size:11px;line-height:1.8}.home-board .home-map-panel .map-stage{height:370px;min-height:280px}.home-board .home-map-section>.section-title,.home-recent>.section-title{margin-bottom:10px}.home-board .home-map-section>.form-help{margin-bottom:10px}.home-board .home-recent{padding:16px}.home-recent .report-grid{max-height:460px;gap:10px}.home-board>.home-followups{padding:18px}.home-board .honors-table-scroll{max-height:220px;margin-block:10px}.home-board .home-followups>p{margin-bottom:8px}.home-board .home-followups .button-row{margin-block:10px}
@media(max-width:1100px){.home-board:has(>.home-poll-banner[hidden]){grid-template-areas:"intro" "paths" "stats" "note" "map" "recent" "honors"}.home-recent .report-grid{max-height:none}.home-board .home-map-panel .map-stage{height:340px}}
@media(max-width:760px){.home-board{gap:12px}.home-board .home-intro-layout>.hero{padding:20px}.home-board .hero h1{font-size:25px}.home-board .home-pathways{gap:8px}.home-board .home-pathways>a{padding:12px 14px}.home-board .stat{padding:12px 14px}.home-board .home-map-panel .map-stage{height:300px}.home-board .stat-grid{gap:8px}.home-board>.home-followups,.home-board .home-recent{padding:14px}}
/* Lower home: full-width map followed by two balanced content panels. */
.home-board{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"polls polls" "intro intro" "paths paths" "stats stats" "note note" "map map" "honors recent"}
.home-board:has(>.home-poll-banner[hidden]){grid-template-areas:"intro intro" "paths paths" "stats stats" "note note" "map map" "honors recent"}
.home-board>.home-followups,.home-board>.home-recent{width:100%;max-width:none;margin:0;min-width:0;align-self:stretch;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:none}
.home-board>.home-followups>.section-title,.home-board>.home-recent>.section-title{margin:0 0 12px;min-height:32px;gap:8px;align-items:center}.home-board #honors-title{font-size:18px;margin:0}.home-board .honors-badge{font-size:10px;padding:4px 8px}.home-board .home-followups>p{font-size:11px;line-height:1.8;margin:0 0 10px}
.home-board .honors-table-scroll{max-height:360px;margin:10px 0;overflow:auto}.home-board .honors-table{width:100%;min-width:0;table-layout:auto}.home-board .honors-table th,.home-board .honors-table td{padding:10px 8px;font-size:11px}.home-board .honors-table td:nth-child(2){white-space:normal}.home-board .citizen-name{overflow-wrap:anywhere}.home-board .honors-table caption{font-size:10px;padding:8px}.home-board #honors-status{font-size:11px;line-height:1.8;margin:8px 0}.home-board #honors-actions{margin:8px 0 0}.home-board #honors-actions button{font-size:11px;padding:8px 12px}.home-board .home-recent .report-grid{display:flex;flex-direction:column;max-height:440px;overflow-y:auto;gap:10px}.home-board .home-recent .report-card{height:auto}.home-board .home-map-panel .map-stage{height:380px}main>footer{margin-top:20px;padding-block:16px}
@media(max-width:900px){.home-board{grid-template-columns:minmax(0,1fr);grid-template-areas:"polls" "intro" "paths" "stats" "note" "map" "honors" "recent"}.home-board:has(>.home-poll-banner[hidden]){grid-template-areas:"intro" "paths" "stats" "note" "map" "honors" "recent"}.home-board>.home-followups,.home-board>.home-recent{padding:16px}.home-board .home-map-panel .map-stage{height:330px}}
