/* V22 presentation layer: preserve the map, colour palette and scoring, simplify the UI. */
:root{font-size:14px}
.shell{background:#fff}
.v22-mobile-bar,.v22-close-filters{display:none}
.v22-compare-open{background:#eaf5ef;border:1px solid #cbded2;border-radius:9px;color:#1f6b4d;padding:11px 15px;font-size:14px;font-weight:800;min-height:44px;white-space:nowrap}
.v22-compare-open span{font-size:12px;padding-left:5px;color:#4b7962}
.top-nav .nav-item{font-size:14px;min-height:44px}
.results-header{padding-top:18px}
.result-item.v22-result{padding:19px 20px 16px;overflow-wrap:anywhere}
.v22-result-heading{display:flex;align-items:start;justify-content:space-between;gap:14px;min-width:0}
.v22-place{min-width:0;flex:1}
.v22-place strong{display:block;font:800 17px/1.25 Manrope,sans-serif;color:#223d30}
.v22-place small{display:block;font-size:13px;line-height:1.4;color:#64786a;margin-top:5px}
.v22-match{flex:0 1 145px;min-width:0;text-align:right;align-self:start}
.v22-match strong{display:block;font:800 22px/1.2 Manrope,sans-serif;color:#155f9f;overflow-wrap:anywhere}
.v22-match strong small{font-size:12px}
.v22-match small{display:block;color:#60736a;font-size:12px;line-height:1.35;margin-top:5px;overflow-wrap:anywhere}
.v22-price{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin-top:12px}
.v22-price strong{font-size:17px;font-weight:800;color:#203e30}
.v22-price span{font-size:12px;color:#647c6b;line-height:1.4}
.v22-insights{display:flex;gap:6px 10px;flex-wrap:wrap;margin-top:12px;font-size:13px;line-height:1.4}
.v22-good{color:#237a54}.v22-tradeoff{color:#875f40}
.v22-failed{color:#9b3e40;font-size:13px;font-weight:700;margin:10px 0}
.v22-no-evidence{color:#617a6c;font-size:13px;margin:10px 0}
.v22-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:15px}
.v22-card-actions button{border:1px solid #d3e1d7;border-radius:8px;background:#fff;color:#276a50;font-size:13px;font-weight:700;min-height:42px;padding:9px 12px}
.v22-card-actions button.active{background:#e9f4ed;border-color:#94c7a7}
.v22-view-profile{margin-left:auto;font-size:13px;color:#286647;font-weight:700}
.v22-list-help{font-size:13px;padding:0 18px 12px;margin:0;color:#687d70;line-height:1.45}
.v22-list-help[hidden]{display:none}
.side-right .results-scroll{direction:ltr!important}
.side-right .results-scroll>*{direction:ltr!important}
.profile-subtitle,.profile-source,.profile-empty,.profile-fact,.profile-fact strong,.profile-fact span,.profile-intro b,.profile-intro span,.question-note{font-size:14px;line-height:1.5}
.profile-fact{flex-wrap:wrap;overflow-wrap:anywhere}
.profile-fact strong{max-width:66%}
.profile-fact span{max-width:55%}
.profile-body .profile-intro{flex-wrap:wrap}
.profile-body .profile-intro>strong{overflow-wrap:anywhere;white-space:normal}
.profile-body .profile-section h3{font-size:17px}
.v22-profile-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}
.v22-profile-summary>div{border:1px solid #dfebe2;background:#f6faf7;border-radius:12px;padding:14px;min-width:0}
.v22-profile-summary span,.v22-profile-summary small{display:block;color:#536c5e;font-size:13px;line-height:1.35}
.v22-profile-summary strong{display:block;font:800 23px/1.25 Manrope,sans-serif;color:#205b42;margin:7px 0;overflow-wrap:anywhere}
.v22-profile-insights{display:flex;flex-direction:column;gap:6px;font-size:14px;padding:12px 0}
.v22-confidence{font-size:13px;color:#596f61;line-height:1.5}
.v22-profile-detail{border-bottom:1px solid #d9e5dc;padding:15px 0}
.v22-profile-detail>summary{font-size:15px;font-weight:800;color:#1f6044;cursor:pointer;padding:8px 0;min-height:44px}
.v22-profile-detail .profile-section{padding:12px 0}
.v22-comparison{max-width:min(940px,calc(100vw - 24px));width:940px;max-height:92dvh;overflow:auto;padding:24px}
.v22-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:12px}
.v22-dialog-head h2{font:800 23px Manrope,sans-serif;margin:0}
.v22-dialog-head p{font-size:14px;color:#60756a}
.v22-dialog-head button{border:1px solid #d6e5da;background:#fff;border-radius:9px;width:44px;height:44px;font-size:23px}
.v22-comparison-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
.v22-comparison table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:590px}
.v22-comparison th,.v22-comparison td{padding:13px 10px;vertical-align:top;text-align:left;border-bottom:1px solid #edf1ec;font-size:14px;overflow-wrap:anywhere}
.v22-comparison th:first-child{width:23%}
.v22-comparison th:not(:first-child){width:25%}
.v22-comparison td small,.v22-comparison th small{display:block;font-size:12px;line-height:1.4;color:#5b7165;margin-top:5px}
.v22-comparison th strong{font-size:15px;display:block}
.v22-comparison th button{display:block;font-size:12px;border:0;background:none;color:#257653;min-height:34px;padding:6px 0}
.v22-comparison .v22-essential{background:#fff0f0;color:#923f47}
.v22-comparison .v22-difference{background:#f3f8fb}
.v22-comparison-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
.v22-comparison-actions button{border-radius:9px;background:#226f4f;color:#fff;border:0;padding:10px 16px;min-height:44px;font-size:14px;font-weight:800}
.v22-comparison-actions button:last-child{background:#f2f7f2;color:#276b4e;border:1px solid #d7e5d9}
.v22-local-note{font-size:13px;line-height:1.5;color:#64796a}
.heat-sidebar .heat-choice label,.heat-sidebar>p,.heat-method p,#heat-side-legend .heat-key,.heat-method small{font-size:14px;line-height:1.5}
.heat-sidebar select,.results-filters select,.searchbox input,.slider-top label{font-size:14px}
.question-note{font-size:13px}
.section-head h1{font-size:22px}
#v22-roads-note{position:absolute;z-index:7;left:12px;bottom:54px;max-width:270px;background:#ffffffee;border:1px solid #dae6dc;color:#49665a;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4;pointer-events:none}
#v22-roads-note[hidden]{display:none}
@media(max-width:850px){
 .shell{height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column}
 .topbar{flex:0 0 auto;display:flex;flex-wrap:wrap;padding:10px 14px;gap:8px;min-height:62px}
 .identity{min-width:0;max-width:100%}
 .brand-sub{display:none}
 .top-nav{order:3;flex:1 0 100%;overflow-x:auto;justify-content:flex-start;gap:4px}
 .top-nav .nav-item{min-height:44px;padding:9px 12px}
 .v22-compare-open{display:none}
 .intro-strip{min-height:40px;height:auto;flex:0 0 auto;padding:9px 14px}
 .data-warning{font-size:11px}
 .v22-mobile-bar{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:9px 12px;background:#fff;border-bottom:1px solid #dfe8e1;flex:0 0 auto}
 .v22-mobile-bar button{background:#f5f9f6;border:1px solid #d5e4d9;color:#216447;padding:9px 12px;min-height:44px;border-radius:9px;font-size:14px;font-weight:700;white-space:nowrap}
 .v22-view-toggle{display:flex;min-width:0}
 .v22-view-toggle button{border-radius:0;padding:9px 14px}
 .v22-view-toggle button:first-child{border-radius:8px 0 0 8px}
 .v22-view-toggle button:last-child{border-radius:0 8px 8px 0}
 .v22-view-toggle .active{background:#216b4d;color:#fff}
 .workspace,.workspace.v18-priorities-hidden{display:flex;flex:1;min-height:0;overflow:hidden;flex-direction:column}
 .workspace .map-column{order:1;display:flex;height:auto;min-height:0;flex:1}
 .workspace .side-right{order:2;display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
 .workspace.v22-view-list .map-column{display:none}
 .workspace.v22-view-list .side-right{display:flex}
 .workspace.v22-view-map .map-column{display:flex}
 .workspace.v22-view-map .side-right{display:none}
 .side-right .results-scroll{max-height:none;min-height:0;overflow-y:auto;flex:1}
 .workspace .side-left{display:none!important}
 .shell.v22-filters-open .workspace .side-left{display:block!important;position:fixed;z-index:40;top:0;bottom:0;left:0;right:0;overflow:auto;max-height:none;padding-top:55px;background:#fff}
 .shell.v22-filters-open .side-left #question-sidebar{display:block}
 .shell.v22-filters-open .side-left .question-scroll{overflow:visible;max-height:none}
 .shell.v22-filters-open .side-left #heat-sidebar{overflow:visible;max-height:none}
 .v22-close-filters{display:none}
 .shell.v22-filters-open .v22-close-filters{display:block;position:fixed;top:7px;right:15px;z-index:41;background:#276e50;border:0;color:#fff;padding:10px 17px;border-radius:9px;min-height:44px;font-size:14px;font-weight:800}
 .feature-groups{display:block}
 .side-left .side-inner{padding:15px 18px 30px}
 .v22-result{padding:18px!important}
 .profile-body{overflow-y:auto}
 .v22-comparison{padding:16px;max-width:calc(100vw - 14px);max-height:95dvh}
 .v22-comparison th,.v22-comparison td{font-size:13px}
}
@media(max-width:400px){
 .v22-mobile-bar{gap:5px;padding:8px}
 .v22-mobile-bar button{font-size:13px;padding:8px 9px}
 .v22-match{flex-basis:115px}
 .v22-price strong{font-size:16px}
 .v22-profile-summary{grid-template-columns:1fr}
}

/* Respect hidden view state when mobile filters are open. */
@media(max-width:850px){.shell.v22-filters-open .side-left #question-sidebar[hidden],.shell.v22-filters-open .side-left #heat-sidebar[hidden]{display:none!important}}

/* Keep useful sidebar notes legible rather than shrinking them. */
.family-box p,.family-box label,.anchor-row small,.heat-method p,.side-help{font-size:14px;line-height:1.5}
.family-box input[list],.family-box .inline-control output,.family-box .caution{font-size:13px}
@media(max-width:420px){
 .intro-strip .data-warning{display:none}
 .v22-mobile-bar button{min-width:0}
 .v22-result-heading{gap:8px}
}

.v22-comparison-actions button:disabled{opacity:.45;cursor:not-allowed}
