:root{--service-navy:var(--theme-header);--service-blue:var(--theme-primary);--service-cyan:var(--theme-secondary);--service-mint:var(--theme-secondary);--service-sky:var(--theme-subtle);--service-line:var(--theme-line);--service-warn:var(--theme-warning);--service-red:var(--theme-danger)}
.service-header{background:linear-gradient(112deg,var(--theme-header) 0%,var(--theme-header) 68%,var(--theme-header) 100%)}
.service-controls{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--theme-panel) 97.0%,transparent);border-bottom:1px solid var(--service-line);box-shadow:0 8px 24px color-mix(in srgb,var(--theme-shadow-colour) 7.0%,transparent);backdrop-filter:blur(12px)}
.service-filter-grid{max-width:1600px;margin:auto;padding:.78rem clamp(1rem,3vw,3rem) .62rem;display:grid;grid-template-columns:1.35fr repeat(5,1fr) auto;gap:.62rem;align-items:end}.service-filter-grid label{font-size:.8rem}.service-filter-grid input,.service-filter-grid select{min-height:43px}.service-main{width:min(1600px,100%);padding-top:1rem}
.service-intro{display:grid;grid-template-columns:1.15fr 1fr auto;align-items:center;gap:1rem;padding:1.15rem 1.25rem;border-radius:20px;background:var(--service-navy);color:var(--theme-inverse);box-shadow:0 18px 42px color-mix(in srgb,var(--theme-shadow-colour) 17.0%,transparent)}.service-intro h2{font-size:clamp(1.3rem,2vw,1.85rem);margin:.15rem 0 .35rem}.service-intro p{margin:0;color:var(--theme-muted);max-width:760px}.service-path{display:flex;align-items:center;justify-content:center;gap:.42rem;flex-wrap:wrap}.service-path span{padding:.42rem .58rem;border:1px solid color-mix(in srgb,var(--theme-line) 20.0%,transparent);border-radius:8px;background:color-mix(in srgb,var(--theme-panel) 7.0%,transparent);font-size:.75rem;font-weight:800}.service-path i{color:var(--service-mint);font-style:normal}.service-intro .formula-link{max-width:150px;text-align:center;border:1px solid color-mix(in srgb,var(--theme-line) 25.0%,transparent);border-radius:10px;padding:.55rem;color:var(--service-mint)}
.service-kpis{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.65rem;margin-top:1rem}.service-kpi{min-height:118px;padding:.82rem;border:1px solid var(--service-line);border-radius:14px;background:var(--theme-panel);box-shadow:0 7px 22px color-mix(in srgb,var(--theme-shadow-colour) 4.0%,transparent)}.service-kpi small{display:block;min-height:35px;color:var(--theme-muted);font-weight:750;font-size:.72rem}.service-kpi strong{display:block;color:var(--service-navy);font-size:1.32rem;line-height:1.05}.service-kpi span{display:block;margin-top:.35rem;color:var(--theme-text);font-size:.69rem;line-height:1.3}
.service-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(350px,.72fr);gap:1rem;align-items:start}.service-map-panel{min-width:0}.village-detail{position:sticky;top:146px;max-height:calc(100vh - 170px);overflow:auto;border-top:5px solid var(--service-cyan)}.layer-switch,.theme-tabs{display:flex;gap:.45rem;flex-wrap:wrap}.layer-switch button,.theme-tabs button{min-height:38px;padding:.45rem .66rem;border:1px solid var(--service-line);border-radius:9px;background:var(--theme-subtle);color:var(--theme-text);font-size:.76rem;font-weight:800;cursor:pointer}.layer-switch button.active,.theme-tabs button.active{background:var(--service-navy);border-color:var(--service-navy);color:var(--theme-inverse)}.map-legend{display:flex;gap:.8rem;align-items:center;margin:.75rem 0;color:var(--theme-text);font-size:.75rem}.legend-gradient{width:180px;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--theme-subtle),var(--theme-primary),var(--theme-primary))}.district-tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.district-tile{min-height:98px;padding:.62rem;border:0;border-radius:11px;background:var(--tile);color:var(--tile-ink);text-align:left;cursor:pointer}.district-tile strong,.district-tile span,.district-tile small{display:block}.district-tile strong{font-size:.78rem}.district-tile span{font-size:1.15rem;font-weight:850;margin:.24rem 0}.district-tile small{font-size:.67rem;opacity:.88}
.structure-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.structure-card{border:1px solid var(--service-line);border-radius:13px;overflow:hidden}.structure-card header{padding:.8rem;background:var(--service-sky)}.structure-card header strong,.structure-card header span{display:block}.structure-card header span{font-size:.72rem;color:var(--theme-text)}.structure-card details{border-top:1px solid var(--service-line);padding:.62rem .75rem}.structure-card summary{cursor:pointer;font-weight:800;font-size:.8rem}.leaf-line{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-top:.45rem;padding:.42rem;background:var(--theme-subtle);border-radius:7px;font-size:.72rem}.leaf-line small{color:var(--theme-muted)}.leaf-line strong{color:var(--service-blue)}
.theme-tabs{justify-content:flex-end}.theme-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1rem}.theme-stat{padding:.72rem;border-radius:11px;background:var(--service-sky)}.theme-stat small,.theme-stat strong{display:block}.theme-stat small{color:var(--theme-muted);font-size:.72rem}.theme-stat strong{margin-top:.18rem;font-size:1.15rem}.theme-analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.district-bars,.indicator-list{display:grid;gap:.52rem;max-height:520px;overflow:auto;padding-right:.25rem}.district-bar,.indicator-row{display:grid;grid-template-columns:125px 1fr 48px;gap:.6rem;align-items:center;font-size:.75rem}.district-bar button,.indicator-row button{min-height:0;padding:0;border:0;background:none;text-align:left;font-weight:800;color:var(--service-navy);cursor:pointer}.mini-track{height:11px;border-radius:99px;background:var(--theme-subtle);overflow:hidden}.mini-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--service-blue),var(--service-mint))}.mini-value{text-align:right;font-weight:850}.target-table-wrap,.heatmap-wrap{overflow:auto;margin-top:1rem;border:1px solid var(--service-line);border-radius:12px}.context-tags{display:flex;gap:.3rem;flex-wrap:wrap}.context-tag{padding:.18rem .38rem;border-radius:6px;background:var(--theme-subtle);color:var(--theme-text);font-size:.68rem}.quality-ok{color:var(--theme-text);font-weight:800}.quality-warn{color:var(--theme-warning);font-weight:800}
.service-heatmap{display:grid;min-width:1320px;grid-template-columns:160px repeat(34,34px);gap:2px;padding:.5rem;background:var(--theme-subtle)}.heat-cell{min-height:34px;display:grid;place-items:center;border-radius:4px;font-size:.64rem}.heat-head{writing-mode:vertical-rl;transform:rotate(180deg);height:145px;justify-content:start;padding-top:.35rem;background:var(--theme-panel);color:var(--theme-text)}.heat-label{justify-content:start;padding-left:.45rem;background:var(--theme-panel);font-weight:800;white-space:nowrap}.heat-cell button{min-height:0;border:0;background:none;color:inherit;font-size:inherit;font-weight:inherit;cursor:pointer}
.priority-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem;margin-top:1rem}.priority-chip{padding:.65rem;border-left:4px solid var(--priority-color);border-radius:9px;background:var(--theme-subtle)}.priority-chip strong,.priority-chip span{display:block}.priority-chip strong{font-size:1.15rem}.priority-chip span{font-size:.7rem;color:var(--theme-text)}.priority-label{display:inline-block;padding:.28rem .5rem;border-radius:8px;background:var(--theme-subtle);font-size:.7rem;font-weight:850}.reason-list{margin:0;padding-left:1rem;color:var(--theme-text);font-size:.74rem}
.recommendation-note{padding:.8rem 1rem;border-left:5px solid var(--service-warn);border-radius:10px;background:var(--theme-subtle);color:var(--theme-muted);font-size:.84rem}.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.recommendation-card{min-width:0;padding:.78rem;border:1px solid var(--service-line);border-radius:12px}.recommendation-card header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}.recommendation-card h3{min-width:0;font-size:.86rem;overflow-wrap:anywhere}.recommendation-card p{margin:.42rem 0;color:var(--theme-muted);font-size:.75rem}.recommendation-card dl{display:grid;grid-template-columns:105px minmax(0,1fr);gap:.28rem;margin:0;font-size:.72rem}.recommendation-card dt{color:var(--theme-text)}.recommendation-card dd{min-width:0;margin:0;font-weight:750;overflow-wrap:anywhere}.horizon-tag{color:var(--service-blue);font-size:.67rem;font-weight:850}
.detail-head{display:flex;justify-content:space-between;gap:.7rem}.detail-head h2{margin:.12rem 0}.detail-score{font-size:1.7rem;font-weight:900;color:var(--service-blue)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0}.detail-stat{padding:.6rem;border-radius:9px;background:var(--service-sky)}.detail-stat small,.detail-stat strong{display:block}.detail-stat small{font-size:.68rem;color:var(--theme-muted)}.detail-section{border-top:1px solid var(--service-line);padding-top:.7rem;margin-top:.7rem}.detail-section h3{margin-bottom:.45rem}.detail-rule{border:1px solid var(--service-line);border-radius:8px;padding:.52rem;margin-top:.4rem}.detail-rule summary{cursor:pointer;font-weight:800;font-size:.75rem}.trace-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.45rem}.trace-field{padding:.45rem;border-radius:6px;background:var(--theme-subtle);font-size:.69rem;overflow-wrap:anywhere}.trace-field small,.trace-field strong{display:block}.detail-actions{display:flex;gap:.45rem;flex-wrap:wrap}.detail-actions button{min-height:38px}
@media(max-width:1320px){.service-filter-grid{grid-template-columns:repeat(4,1fr)}.search-wide{grid-column:span 2}.service-intro{grid-template-columns:1fr 1fr}.service-intro .formula-link{max-width:none}.service-kpis{grid-template-columns:repeat(3,1fr)}.district-tiles{grid-template-columns:repeat(5,1fr)}.recommendation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.service-workspace,.theme-analysis-grid{grid-template-columns:1fr}.village-detail{position:static;max-height:none}.structure-grid{grid-template-columns:1fr}.district-tiles{grid-template-columns:repeat(3,1fr)}.theme-summary,.priority-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.service-controls{position:static}.service-filter-grid{grid-template-columns:1fr 1fr}.search-wide{grid-column:1/-1}.service-intro{grid-template-columns:1fr;border-radius:0;margin-left:-1rem;margin-right:-1rem}.service-path{justify-content:flex-start}.service-kpis{grid-template-columns:1fr 1fr}.district-tiles{grid-template-columns:1fr 1fr}.theme-tabs{justify-content:flex-start}.recommendation-grid{grid-template-columns:1fr}.service-main{padding-left:1rem;padding-right:1rem}}
@media(max-width:470px){.service-filter-grid,.service-kpis,.theme-summary,.priority-summary,.detail-grid{grid-template-columns:1fr}.search-wide{grid-column:auto}.district-tiles{grid-template-columns:1fr}.trace-grid{grid-template-columns:1fr}.top-actions{width:100%}.top-actions .button{flex:1}}
