/* Spectra: tool-specific layout. Colours come from the shared tokens; --tc/--tt are set by .tool-spectra. */
.field{display:grid;gap:.35rem;font-size:.82rem;font-weight:620;color:var(--ink-2);min-width:0}
.field.wide{grid-column:1/-1}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .8rem}
.field-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem .8rem;margin-top:.9rem}
.fs-out{font:500 .74rem/1.3 var(--f-mono);color:var(--ink-3)}
.grp-label{font-size:.82rem;font-weight:620;color:var(--ink-2)}
.chk-row{align-self:end;min-height:2.6rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.5rem;margin:.9rem 0 0}
.facts>div{padding:.5rem .6rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg);min-width:0}
.facts dt{font:500 .68rem/1.3 var(--f-mono);color:var(--ink-3)}
.facts dd{margin:.2rem 0 0;font:700 .92rem/1.2 var(--f-sans);color:var(--ink);overflow-wrap:anywhere}
.tool-spectra .seg button{min-height:2.5rem}
.tool-spectra .chart-tools button{min-height:2.5rem;padding:0 .9rem}
fieldset.geo{border:0;padding:0;margin:0;display:grid;gap:.7rem;min-width:0}
fieldset.geo legend{font-size:.82rem;font-weight:620;color:var(--ink-2);padding:0;margin-bottom:.1rem}
.kstats.k5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:900px){.kstats.k5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.kstats.k5{grid-template-columns:repeat(2,minmax(0,1fr))}}
.defs{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.5rem .9rem;margin:.8rem 0 .9rem;font-size:.82rem;line-height:1.45}
.defs>div{min-width:0}
.defs dt{font:700 .74rem var(--f-mono);color:var(--ink);margin-bottom:.1rem}
.defs dd{margin:0;color:var(--ink-3)}
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:.9rem;align-items:start;margin-top:.9rem}
.split>.chart-card{margin-top:0}
@media (max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}
.zone-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:1.5rem 0 0;padding:0;list-style:none}
.zone-legend li{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border:1px solid var(--line);border-radius:var(--r-sm);font:500 .74rem var(--f-mono);color:var(--ink-3)}
.zone-legend li.on{border-color:var(--ink);color:var(--ink);font-weight:700}
.zone-legend i{width:.7rem;height:.7rem;border-radius:50%;flex:none}
.suggest{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.suggest li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.25rem .7rem;align-items:start;font-size:.92rem;line-height:1.5;color:var(--ink-2)}
.tag{font:700 .66rem/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:.38rem .5rem;border-radius:999px;border:1px solid currentColor;white-space:nowrap;margin-top:.12rem}
.tag.ok{color:var(--ok)}
.tag.watch{color:var(--warn)}
.tag.alert{color:var(--bad)}
.tbl{width:100%;border-collapse:collapse;font:500 .84rem/1.3 var(--f-mono)}
.tbl th,.tbl td{padding:.5rem .55rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.tbl th{font:600 .7rem var(--f-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}
.tbl td.num,.tbl th.num{text-align:right}
.export-tools{gap:.6rem}
@media (max-width:720px){.field-grid,.field-grid.three,.rec-grid{grid-template-columns:minmax(0,1fr)}.zone-legend{grid-template-columns:minmax(0,1fr)}}
