.psychrometric-dialog { width:min(1220px, calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; border:1px solid #cedbd6; border-radius:16px; color:#243d36; background:#f8faf9; box-shadow:0 24px 100px #0a30284d; }
.psychrometric-dialog::backdrop { background:#102e286e; }
.psychrometric-dialog * { box-sizing:border-box; }
.psychrometric-dialog header { display:flex; justify-content:space-between; align-items:start; gap:20px; padding:22px 26px 16px; border-bottom:1px solid #dce5e1; }
.psychrometric-dialog h2 { font-size:23px; margin:3px 0 6px; letter-spacing:-.4px; }
.psychrometric-dialog p { margin:6px 0; line-height:1.5; }
.psychrometric-eyebrow { text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:1.4px; color:#597269; }
.psychrometric-body { padding:18px 26px 24px; }
.psychrometric-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-bottom:12px; }
.psychrometric-controls label { display:flex; flex-direction:column; gap:5px; font-size:12px; font-weight:600; }
.psychrometric-controls select,.psychrometric-controls input { background:white; border:1px solid #bfcfc7; border-radius:7px; min-height:36px; padding:6px 9px; color:#243d36; font:inherit; }
.psychrometric-controls input[type=number] { width:94px; }
.psychrometric-dialog button { cursor:pointer; }
.psychrometric-dialog button:focus-visible,.psychrometric-dialog select:focus-visible,.psychrometric-dialog input:focus-visible,.psychrometric-dialog summary:focus-visible { outline:3px solid #267968; outline-offset:3px; }
.psychrometric-close { border:1px solid #c6d4cd; background:white; border-radius:7px; padding:7px 12px; color:inherit; }
.psychrometric-assumptions { font-size:12px; color:#52685f; margin-bottom:12px; }
.psychrometric-assumptions summary { cursor:pointer; margin-bottom:8px; }
.psychrometric-status { font-size:13px; padding:9px 0; color:#52685f; }
.psychrometric-status[data-error=true] { color:#9a362a; }
.psychrometric-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:10px 0 16px; }
.psychrometric-metric { border:1px solid #dce5e1; padding:12px 14px; border-radius:9px; background:white; }
.psychrometric-metric strong { font-size:24px; display:block; font-weight:650; }
.psychrometric-metric span { display:block; font-size:12px; margin-top:3px; color:#52685f; }
.psychrometric-chart { position:relative; background:white; border:1px solid #dce5e1; border-radius:10px; overflow:hidden; }
.psychrometric-chart svg { display:block; width:100%; height:auto; font-family:inherit; }
.psychrometric-chart canvas { position:absolute; inset:0; width:100%; height:100%; }
.psychrometric-readout { min-height:28px; margin:7px 0; font-size:12px; color:#52685f; }
.psychrometric-legend { display:flex; flex-wrap:wrap; align-items:center; gap:9px 18px; margin:12px 0 4px; font-size:12px; }
.psychrometric-legend span { display:inline-flex; align-items:center; gap:6px; }
.psychrometric-swatch { display:inline-block; width:11px; height:11px; border-radius:50%; background:var(--swatch); }
.psychrometric-zone { background:#c7ebd4; border:1px solid #338256; border-radius:2px; }
.psychrometric-recommendations { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:12px 0 18px; }
.psychrometric-recommendation { padding:15px; border-radius:9px; border:1px solid #dce5e1; background:white; }
.psychrometric-recommendation h4 { margin:0 0 7px; font-size:14px; }
.psychrometric-recommendation p { font-size:12px; color:#52685f; }
.psychrometric-recommendation small { display:block; color:#286f54; font-size:11px; margin-bottom:7px; }
.psychrometric-dialog h3 { margin:22px 0 6px; font-size:16px; }
.psychrometric-note { color:#52685f; font-size:12px; }
.psychrometric-table-wrap { overflow-x:auto; }
.psychrometric-dialog table { width:100%; border-collapse:collapse; font-size:12px; }
.psychrometric-dialog th,.psychrometric-dialog td { padding:7px 10px; border-bottom:1px solid #dce5e1; text-align:right; }
.psychrometric-dialog th:first-child,.psychrometric-dialog td:first-child { text-align:left; }
.psychrometric-dialog a { color:#216d59; }
.project-psychrometric-entry { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:0 0 14px; }
.project-psychrometric-entry span { font-size:12px; color:var(--muted,#64766e); }
.psychrometric-strategy-picker { display:flex; flex-wrap:nowrap; gap:6px; margin:10px 0 0; overflow-x:auto; padding-bottom:3px; }
.psychrometric-strategy-picker .psychrometric-strategy-toggle { display:flex; align-items:center; justify-content:center; flex:1 0 auto; min-width:64px; min-height:32px; margin:0; padding:5px 6px; border:1px solid var(--designer-card-border,#bfcfc7); border-radius:5px; color:inherit; background:var(--designer-card-button-bg,#f8faf9); font:inherit; font-size:11px; line-height:1.2; white-space:nowrap; cursor:pointer; }
.psychrometric-strategy-picker .psychrometric-strategy-toggle:hover { background:var(--designer-card-button-bg-hover,#e8efeb); }
.psychrometric-strategy-picker .psychrometric-strategy-toggle[aria-pressed=true] { border-color:var(--strategy-color); box-shadow:inset 0 -3px var(--strategy-color); font-weight:700; }
.psychrometric-strategy-total { display:flex; flex-wrap:wrap; align-items:center; gap:4px; font-size:12px; padding-top:7px; border-top:1px solid var(--designer-card-border,#cedbd6); }
.psychrometric-strategy-note { font-size:11px; line-height:1.4; margin:7px 0; opacity:.85; }
.psychrometric-strategy-detail { margin:12px 0; font-size:12px; }
.psychrometric-detail-select { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:600; }
.psychrometric-detail-select select { max-width:100%; padding:7px; font:inherit; color:inherit; border:1px solid var(--designer-card-border,#bfcfc7); border-radius:5px; background:var(--designer-card-control-bg,#fff); }
.psychrometric-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; margin-top:12px; }
.psychrometric-detail-layout p { font-size:12px; line-height:1.5; }
.psychrometric-detail-layout .psychrometric-controls { align-items:start; gap:12px; }
.psychrometric-detail-layout .psychrometric-controls label { flex:1 1 140px; }
.psychrometric-strategy-toggle:focus-visible,.psychrometric-info-button:focus-visible,.psychrometric-strategy-detail :is(select,input):focus-visible { outline:2px solid currentColor; outline-offset:3px; }
@media(max-width:700px) { .psychrometric-detail-layout { grid-template-columns:1fr; gap:12px; } }
@media(max-width:700px) { .psychrometric-dialog { width:calc(100vw - 12px); max-height:calc(100dvh - 12px); } .psychrometric-dialog header { padding:16px; } .psychrometric-dialog h2 {font-size:19px;} .psychrometric-body { padding:14px; } .psychrometric-metrics {grid-template-columns:repeat(2,1fr);} .psychrometric-recommendations {grid-template-columns:1fr;} .psychrometric-chart {overflow-x:auto;} .psychrometric-plot {min-width:680px; position:relative;} }

/* Match the neighboring climate information buttons; content stays off the plot. */
.psychrometric-embedded header,.psychrometric-dialog header { position:relative; display:flex; align-items:center; gap:8px; }
header .psychrometric-info-button { display:flex; align-items:center; justify-content:center; flex:none; width:36px; height:36px; min-height:36px; padding:7px; margin:0; border:0; border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
header .psychrometric-info-button:is(:hover,[aria-expanded=true]) { background:var(--designer-card-button-bg,#e8efeb); }
header .psychrometric-info-button svg { width:22px; height:22px; max-height:22px; stroke:currentColor; stroke-width:1.7; fill:none; }
header .psychrometric-info-button .climate-info-dot { fill:currentColor; stroke:none; }
.psychrometric-dialog header > [data-close] { margin-left:auto; }
header .psychrometric-info-popover { position:absolute; top:calc(100% + 6px); right:0; left:auto; z-index:30; width:min(460px,100%); max-height:min(600px,65vh); overflow:auto; overscroll-behavior:contain; padding:14px 16px; border:1px solid var(--designer-card-border,#989898); border-radius:6px; background:var(--designer-card-control-bg,#f8faf9); color:inherit; box-shadow:0 8px 24px #0003; font-size:12px; line-height:1.5; }
.psychrometric-info-popover[hidden] { display:none; }
.psychrometric-info-popover details { margin:12px 0 0; padding-top:10px; border-top:1px solid var(--designer-card-border,#bfcfc7); }
.psychrometric-info-popover summary { cursor:pointer; font-weight:600; }
.psychrometric-info-popover .psychrometric-detail-layout { grid-template-columns:1fr; gap:6px; }
.psychrometric-info-popover .psychrometric-controls { display:flex; flex-wrap:wrap; gap:8px; }
.psychrometric-info-popover .psychrometric-controls label { flex:1 1 140px; }
.psychrometric-info-popover [data-info-status] { margin:0 0 10px; }
.psychrometric-info-popover .psychrometric-strategy-counts { margin-bottom:12px; }

/* Keep the coverage summary below the strategy buttons and clear of the plot. */
.psychrometric-coverage { margin-top:8px; max-width:100%; overflow-x:auto; white-space:nowrap; color:inherit; font-size:11px; font-weight:400; line-height:1.5; font-variant-numeric:tabular-nums; }
.psychrometric-coverage span { font:inherit; }
/* Main dropdowns use the shared climate dashboard control sizing. */
