/* Stili specifici del prodotto. Usare SEMPRE le variabili della palette (var(--pri), var(--panel), var(--tx),
   var(--mut), var(--line), var(--ok), var(--warn), var(--crit)...) così funzionano in tutte le palette e temi. */

/* Sestante */
.pipe{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}
.pipe .card{padding:12px}.pipe h3 small{font-weight:400}
.al.kan{align-items:flex-start;display:block}
.radar{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.q{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.q>span:first-child{flex:1 1 280px}
.rate{display:flex;gap:6px}
.rate label{cursor:pointer}
.rate input{position:absolute;opacity:0;width:1px;height:1px}
.rate span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);font-weight:600}
.rate input:checked+span{background:var(--pri);color:var(--pri-tx);border-color:var(--pri)}
.rate input:focus-visible+span{outline:2px solid var(--pri);outline-offset:2px}
.doc{max-width:860px}
.dochead{display:flex;justify-content:space-between;gap:12px;border-bottom:2px solid var(--pri);padding-bottom:10px}
@media print{.doc{max-width:none;padding:0}.radar{max-width:380px}.tbl{display:table}}

/* Contrasto AA (4,5:1) dei colori di stato e del grigio secondario nei temi chiari.
   Sostituisce i valori di palettes.css solo per questo prodotto; i temi scuri sono già conformi. */
:root,:root[data-theme="light"]{--ok:#197D51;--warn:#9D5F00;--crit:#C73A3A}
:root[data-pal="mod"],:root[data-pal="mod"][data-theme="light"]{--ok:#247A55;--warn:#A75614;--crit:#BE3F3F;--mut:#656F69}
:root[data-pal="tech"],:root[data-pal="tech"][data-theme="light"]{--ok:#367558;--warn:#975D08;--crit:#BF3939}
.doclogo{max-height:56px;max-width:220px;object-fit:contain;margin-bottom:6px}
