/* astro-testi (17/10/2026): «Testi Astrolab», solo Davide. Finestra larga: filtri ed elenco a sinistra, versioni a destra */

.modal.lg:has(.at-wrap){max-width:min(1440px, 97vw); height:92vh}
.at-wrap{display:flex; flex-direction:column; gap:12px}
.at-intro{display:flex; align-items:flex-start; gap:8px; margin:0; padding:9px 12px; border:1px solid var(--line); border-left:4px solid var(--accent);
  border-radius:var(--radius-s); background:var(--accent-soft); color:var(--ink); font-size:.92em}
.at-intro svg{flex:0 0 auto; margin-top:2px; color:var(--accent-2)}
.at-cols{display:grid; grid-template-columns:300px minmax(0, 1fr); gap:16px; align-items:start; min-height:0}
@media (max-width:900px){ .at-cols{grid-template-columns:1fr} }

/* ---- sinistra: filtri ed elenco */
.at-sx{position:sticky; top:0; display:flex; flex-direction:column; gap:8px; max-height:calc(92vh - 205px); min-height:0}
.at-filtri{display:flex; flex-direction:column; gap:4px; padding:10px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface-2)}
.at-filtri label{font-size:.8em; font-weight:600; color:var(--ink-2); margin:4px 0 0}
.at-filtri select,.at-filtri input{width:100%}
.at-cerca{display:flex; gap:6px}
.at-cerca input{flex:1 1 auto; min-width:0}
.at-conta{margin:0; font-size:.82em; color:var(--muted)}
.at-vuoto{margin:0; color:var(--muted)}
.at-lista{list-style:none; margin:0; padding:0; overflow:auto; min-height:0; flex:1 1 auto; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
.at-gr{position:sticky; top:0; z-index:1; padding:5px 10px; font-size:.78em; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  color:var(--ink-2); background:var(--surface-2); border-bottom:1px solid var(--line)}
.at-voce{display:flex; align-items:center; gap:4px 8px; padding:6px 10px 6px 12px; border-left:4px solid transparent;
  color:var(--ink); text-decoration:none; font-size:.9em; border-bottom:1px solid var(--line)}
.at-voce:hover{background:var(--surface-2)}
.at-voce-t{flex:1 1 0; min-width:0}
.at-voce .at-base,.at-voce .at-nv{flex:0 0 auto}
.at-voce.at-sel{border-left-color:var(--accent); background:var(--accent-soft); font-weight:700}
.at-voce.at-sel .at-voce-t::before{content:"▸ "; color:var(--accent-2)}
.at-pagine{display:flex; justify-content:space-between; gap:8px}

/* quante versioni: un quadratino per versione + il numero */
.at-nv{display:inline-flex; align-items:center; gap:2px; font-size:.78em; color:var(--ink-2)}
.at-nv i{display:inline-block; width:6px; height:10px; border-radius:1px; background:var(--accent)}
.at-nv b{margin-left:3px; font-weight:600}

/* «solo versione base»: bordo tratteggiato + icona + parola */
.at-base{display:inline-flex; align-items:center; gap:3px; font-size:.74em; font-weight:600; padding:0 6px; border:1px dashed #b58a1f;
  border-radius:20px; color:#7a5200; background:#fff6e0; white-space:nowrap}

/* ---- destra: il pezzo aperto */
.at-dx{min-width:0}
.at-scegli{display:flex; align-items:center; gap:8px; margin:40px 0; justify-content:center; color:var(--muted)}
.at-pz-hd{display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 12px}
.at-pz-hd h3{margin:0; font-size:1.15em}
.at-pz-dove{font-size:.85em; color:var(--ink-2)}
.at-regole{margin:4px 0 12px; font-size:.85em; color:var(--muted)}
.at-versioni{display:grid; grid-template-columns:repeat(auto-fit, minmax(340px, 1fr)); gap:12px; align-items:start}
.at-v{display:flex; flex-direction:column; gap:6px; margin:0; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius); background:var(--surface)}
.at-v-nuova{border-style:dashed; background:var(--surface-2)}
.at-v-hd{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px}
.at-v-sub{font-size:.8em; color:var(--muted)}
.at-v-meta{margin:0; font-size:.8em; color:var(--muted); line-height:1.4}
.at-v textarea{width:100%; min-height:16em; max-height:60vh; resize:vertical; font:inherit; font-size:.92em; line-height:1.5; padding:8px 10px}
.at-v-ft{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px}
.at-v-ft button{margin-left:auto; display:inline-flex; align-items:center; gap:5px}
.at-parole{font-size:.82em; color:var(--ink-2); font-variant-numeric:tabular-nums}

/* stati: sempre icona + parola */
.at-stato,.at-misura,.at-sporco{display:inline-flex; align-items:center; gap:3px; font-size:.78em; font-weight:600; padding:0 7px; border-radius:20px; border:1px solid}
.at-ok{color:#1d6b40; border-color:#9fd3b4; background:#e8f6ee}
.at-no{color:#8a2a29; border-color:#e7a9a8; background:#fdeaea}
.at-new{color:var(--ink-2); border-color:var(--line-2); border-style:dashed; background:var(--surface)}
.at-misura{color:#7a5200; border-color:#e3c27a; background:#fff6e0}
.at-sporco{color:#1d4f86; border-color:#9cc0e8; background:#e8f1fc}
.at-nascosto{display:none}
.at-v.at-cambiato{border-color:#5d95d6; box-shadow:0 0 0 1px #5d95d6}

.at-controlli{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:3px; font-size:.82em}
.at-controlli li{display:flex; align-items:flex-start; gap:5px; padding:4px 8px; border-radius:var(--radius-s)}
.at-controlli svg{flex:0 0 auto; margin-top:2px}
.at-err{background:#fdeaea; color:#8a2a29}
.at-avv{background:#fff6e0; color:#6b4800}
.at-pulito{display:flex; align-items:center; gap:5px; margin:0; font-size:.8em; color:#1d6b40}

.at-rev{font-size:.85em}
.at-rev summary{cursor:pointer; color:var(--ink-2); display:inline-flex; align-items:center; gap:4px}
.at-rev-r{margin:6px 0 0; padding:6px 8px; border-left:3px solid var(--line-2); background:var(--surface-2); border-radius:0 var(--radius-s) var(--radius-s) 0}
.at-rev-t{white-space:pre-wrap; color:var(--ink-2); margin-top:3px; max-height:14em; overflow:auto}
