.guardian-route-section { margin-top:18px; padding:23px; border-radius:22px; }
.guardian-route-heading { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:15px; }
.guardian-route-mark { width:48px; height:48px; border-radius:16px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,#1f6a58,#45a183); box-shadow:0 10px 24px rgba(31,106,88,.2); }
.guardian-route-mark svg { width:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.guardian-route-heading h2,.guardian-route-heading p { margin:0; }.guardian-route-heading h2 { margin-top:5px; font-size:21px; }.guardian-route-heading div>p:last-child { max-width:720px; margin-top:6px; color:var(--ui-muted); font-size:11px; line-height:1.5; }
.guardian-assess-button { min-height:48px; padding:0 18px; border:0; border-radius:18px; color:#fff; background:var(--ui-brand); font-size:12px; font-weight:900; cursor:pointer; }.guardian-assess-button:disabled { opacity:.65; cursor:wait; }
.guardian-route-actions { display:flex; align-items:stretch; gap:7px; }.guardian-compare-button { min-height:48px; padding:0 15px; border:1px solid var(--ui-border); border-radius:18px; color:var(--ui-text); background:var(--ui-surface-raised); font-size:11px; font-weight:850; cursor:pointer; }.guardian-compare-button:disabled { opacity:.65; cursor:wait; }
.guardian-route-status { margin:15px 0 0; padding:11px 13px; border-radius:14px; color:var(--ui-muted); background:var(--ui-surface-soft); font-size:11px; }.guardian-route-status[data-tone="error"] { color:#b4233b; background:rgba(180,35,59,.08); }.guardian-route-status[data-tone="success"] { color:#176e51; background:rgba(31,106,88,.09); }
.guardian-route-results { margin-top:16px; }
.guardian-route-results.is-stale { opacity:.68; }.guardian-route-results.is-stale::before { content:"Earlier assessment · the selected route has changed"; margin-bottom:10px; padding:10px 12px; border-radius:12px; display:block; color:#8b3d19; background:rgba(245,158,11,.12); font-size:10px; font-weight:850; }
.guardian-route-decision { margin-bottom:11px; padding:16px 18px; border-radius:19px; background:color-mix(in srgb,var(--ui-brand) 10%,var(--ui-surface-soft)); }.guardian-route-decision small,.guardian-route-decision strong,.guardian-route-decision span { display:block; }.guardian-route-decision small { color:var(--ui-brand); font-size:9px; font-weight:900; letter-spacing:.65px; text-transform:uppercase; }.guardian-route-decision strong { margin-top:5px; font-size:16px; }.guardian-route-decision span { margin-top:6px; color:var(--ui-muted); font-size:10.5px; line-height:1.5; }
.guardian-route-comparison { margin-top:12px; padding:16px; border:1px solid color-mix(in srgb,var(--ui-brand) 24%,var(--ui-border)); border-radius:19px; background:color-mix(in srgb,var(--ui-brand) 6%,var(--ui-surface-raised)); }.guardian-route-comparison h3,.guardian-route-comparison p { margin:0; }.guardian-route-comparison h3 { font-size:15px; }.guardian-route-comparison p { margin-top:6px; color:var(--ui-muted); font-size:10.5px; line-height:1.5; }.guardian-comparison-instruction { font-weight:750; }.guardian-comparison-routes { margin-top:11px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }.guardian-compared-route { padding:10px 11px; border:1px solid transparent; border-radius:13px; color:var(--ui-text); background:var(--ui-surface-soft); text-align:left; cursor:pointer; }.guardian-compared-route:hover,.guardian-compared-route:focus-visible { border-color:color-mix(in srgb,var(--ui-brand) 48%,var(--ui-border)); }.guardian-compared-route.active { border-color:var(--ui-brand); background:color-mix(in srgb,var(--ui-brand) 12%,var(--ui-surface-raised)); box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-brand) 10%,transparent); }.guardian-compared-route strong,.guardian-compared-route span { display:block; }.guardian-compared-route strong { font-size:11px; }.guardian-compared-route span { margin-top:4px; color:var(--ui-muted); font-size:9px; }
.guardian-route-overview { padding:18px; border:1px solid var(--ui-border); border-radius:20px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:15px; background:linear-gradient(145deg,var(--ui-surface-soft),color-mix(in srgb,var(--ui-brand) 7%,var(--ui-surface-soft))); }
.guardian-route-score { width:78px; height:78px; border-radius:50%; display:grid; place-items:center; color:#fff; background:conic-gradient(var(--guardian-score-color) calc(var(--guardian-score)*1%),rgba(130,145,139,.18) 0); position:relative; }.guardian-route-score::before { content:""; position:absolute; inset:7px; border-radius:50%; background:var(--ui-surface-raised); }.guardian-route-score strong,.guardian-route-score span { position:relative; z-index:2; }.guardian-route-score strong { color:var(--ui-text); font-size:23px; }.guardian-route-score span { margin-left:1px; color:var(--ui-muted); font-size:9px; }
.guardian-route-overview h3,.guardian-route-overview p { margin:0; }.guardian-route-overview h3 { font-size:17px; }.guardian-route-overview p { margin-top:5px; color:var(--ui-muted); font-size:10.5px; line-height:1.5; }.guardian-route-coverage { text-align:right; }.guardian-route-coverage strong,.guardian-route-coverage span { display:block; }.guardian-route-coverage strong { font-size:18px; }.guardian-route-coverage span { color:var(--ui-muted); font-size:9px; }
.guardian-nearby-efficiency{margin-top:12px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--ui-brand) 25%,var(--ui-border));border-radius:17px;display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--ui-brand) 7%,var(--ui-surface-raised))}.guardian-nearby-efficiency-icon{width:38px;height:38px;flex:0 0 38px;border-radius:12px;display:grid;place-items:center;color:var(--ui-brand);background:color-mix(in srgb,var(--ui-brand) 13%,var(--ui-surface-raised))}.guardian-nearby-efficiency-icon svg{width:22px;fill:none;stroke:currentColor;stroke-width:1.7}.guardian-nearby-efficiency strong,.guardian-nearby-efficiency span,.guardian-nearby-efficiency small{display:block}.guardian-nearby-efficiency strong{font-size:11px}.guardian-nearby-efficiency span{margin-top:3px;color:var(--ui-text);font-size:10px}.guardian-nearby-efficiency small{margin-top:4px;color:var(--ui-muted);font-size:9px;line-height:1.4}
.guardian-section-strip { margin-top:13px; display:grid; grid-template-columns:repeat(var(--guardian-sections),minmax(58px,1fr)); gap:7px; overflow-x:auto; }.guardian-section-button { min-width:58px; min-height:66px; padding:8px 5px; border:1px solid var(--ui-border); border-radius:15px; color:var(--ui-text); background:var(--ui-surface-soft); cursor:pointer; }.guardian-section-button::before { content:""; width:8px; height:8px; margin:0 auto 6px; border-radius:50%; display:block; background:var(--guardian-section-color); box-shadow:0 0 0 4px color-mix(in srgb,var(--guardian-section-color) 13%,transparent); }.guardian-section-button strong,.guardian-section-button span { display:block; }.guardian-section-button strong { font-size:11px; }.guardian-section-button span { margin-top:4px; color:var(--ui-muted); font-size:9px; }.guardian-section-button.active { border-color:var(--guardian-section-color); background:color-mix(in srgb,var(--guardian-section-color) 8%,var(--ui-surface-raised)); }
.guardian-section-detail { margin-top:12px; padding:18px; border:1px solid var(--ui-border); border-radius:20px; background:var(--ui-surface-raised); }.guardian-section-detail header { display:flex; justify-content:space-between; gap:12px; }.guardian-section-detail h3,.guardian-section-detail p { margin:0; }.guardian-section-detail h3 { font-size:15px; }.guardian-section-detail header span { color:var(--ui-brand); font-size:12px; font-weight:900; }.guardian-section-detail>p { margin-top:7px; color:var(--ui-muted); font-size:10.5px; line-height:1.5; }
.guardian-metric-grid { margin-top:13px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.guardian-metric { padding:12px; border-radius:15px; background:var(--ui-surface-soft); }.guardian-metric strong,.guardian-metric span,.guardian-metric small { display:block; }.guardian-metric strong { font-size:10px; }.guardian-metric span { margin-top:5px; font-size:11px; font-weight:800; }.guardian-metric small { margin-top:5px; color:var(--ui-muted); font-size:8.5px; line-height:1.35; }.guardian-route-footnote { margin:13px 0 0; color:var(--ui-muted); font-size:9.5px; line-height:1.45; }
.guardian-map-marker { width:32px; height:32px; padding:0; border:3px solid #fff; border-radius:50%!important; display:grid; place-items:center; color:#fff; background:var(--guardian-section-color); box-shadow:0 5px 14px rgba(5,30,23,.28); font-size:10px; font-weight:900; cursor:pointer; }
@media(max-width:700px){.guardian-route-heading{grid-template-columns:46px 1fr}.guardian-route-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr}.guardian-assess-button,.guardian-compare-button{width:100%}.guardian-route-overview{grid-template-columns:auto 1fr}.guardian-route-coverage{grid-column:1/-1;text-align:left;display:flex;gap:6px}.guardian-metric-grid{grid-template-columns:1fr 1fr}.guardian-comparison-routes{grid-template-columns:1fr}}
