/* PALETTE BIANCO (predefinita): tema chiaro coerente col CRM (fondo bianco/grigio chiarissimo, testo scuro, accento verde Futura).
   Vale SOLO con <html data-pal="bianco">: le altre palette non leggono nulla di questo foglio.
   I valori dei colori di base sono in tokens.css ([data-pal=bianco]); qui ci sono i neutri a/b/c dell'aspetto 22/10 e le superfici
   che nelle palette scure usano colori fissi (vetro nero sopra il 3D, testo bianco, ombre).
   Contrasti: testo >= 4.5:1, icone/elementi grandi >= 3:1, misurati da tests/preventivatore/browser/palette-bianco.mjs. */
html[data-pal=bianco]{
  --c-bg:#F7F8F7; --c-s1:#FFFFFF; --c-s2:#F2F4F2; --c-s3:#E4E8E5;
  --c-line:#E1E6E3; --c-line2:#C9D1CC;
  --c-tx:#0E1411; --c-tx2:#27302B; --c-mu:#566059; --c-dim:#5C665F;
  --acc-s:rgba(11,122,75,.09); --acc-s2:rgba(11,122,75,.42);
  --yel:#0B7A4B;
  /* vetro sopra il 3D: bianco quasi pieno, bordo e ombra leggeri */
  --ov-bg:rgba(255,255,255,.94); --ov-line:#C9D1CC; --ov-sh:0 4px 16px rgba(14,20,17,.14);
  /* scena 3D e piano 2D (letti da app.js al cambio palette) */
  --s3-bg:#F1F3F2; --s3-fog:#EEF1F0; --s3-ground:#E6E9E6; --s3-sky-top:#D5E1EA; --s3-sky-hor:#F4F6F5; --s3-sky-bot:#E3E7E4;
  --s3-hemi-sky:#FFFFFF; --s3-hemi-ground:#B8BDB9; --s3-hemi-i:.62; --s3-sun-i:1.55; --s3-exp:.85;
  --s3-tech-bg:#EAEFEC; --s3-tech-ground:#F4F7F5; --s3-grid1:#0B7A4B; --s3-grid2:#C3CCC6; --s3-grid-op:.55;
  --s3-road:#CBCED2; --s3-road-map:0; --s3-neigh:#B4BAC0; --s3-neigh-op:.28; --s3-neigh-shadow:0; --s3-ctx-dim:.8; --s3-ctx-env:.35;
  --sez3-strutture:#86A3CF; --sez3-murature:#CDBFA8; --sez3-serramenti:#84C8C1; --sez3-impianti:#E6AE5E; --sez3-finiture:#CFA2BE; --sez3-altro:#AEB4BB; --s3-acc:#0B7A4B; --s3-emis:#12A565; --s3-edge:#2A3430;
  --p2-bg:#FFFFFF; --p2-line:#C9D1CC; --p2-tx:#0E1411; --p2-mu:#566059; --p2-halo:#FFFFFF; --p2-ok:#0B6B42; --p2-nomoney:#566059; --p2-grid:rgba(14,20,17,.07); --p2-sel:#0E1411;
  /* categorie (scala dei costi per parte): piu' scure del tema scuro, tutte >= 4.5:1 sul bianco e distinte fra loro */
  --sez-strutture:#2F5D9E; --sez-murature:#7A6A55; --sez-serramenti:#0E7C74; --sez-impianti:#B35C00; --sez-finiture:#8E4A7A; --sez-altro:#5A6169;
  --tb-amt:var(--acc); --p2-draft:#0B7A4B;
  --imp-luce:#A67C00; --imp-interruttore:#B35C00; --imp-presa:#B35C00; --imp-tv:#6B5FB5; --imp-quadro:#B3261E; --imp-clima:#2F78A8; --imp-acqua:#148A94; --imp-scarico:#5A6169; --imp-aeratore:#A0486B;
  --stato-todo:#5F6770; --stato-sosp:#9A5B00; --stato-esc:#B3261E; --stato-esist:#6B5B95;
  /* neutri del 3D e scala dei costi (un colore, dal chiaro allo scuro): il gradino piu' chiaro si legge ancora sul bianco */
  --sh:0 1px 2px rgba(14,20,17,.06); --neu:#CDD3CF; --neu-ombra:#8A938D; --scala-0:#52B58F; --scala-1:#0A2A3A;
}
html[data-pal=bianco] body,html[data-pal=bianco]{background:var(--c-bg);color:var(--c-tx)}
html[data-pal=bianco] #v3d{background:#EEF1EF}
html[data-pal=bianco] #v3d.tech{background:#E6ECE8}
html[data-pal=bianco] .optpanel{box-shadow:0 16px 40px rgba(14,20,17,.16)}
html[data-pal=bianco] .tf-row b{color:var(--c-tx)}
html[data-pal=bianco] .btn.danger{color:var(--err)}
html[data-pal=bianco] .btn.danger:hover{background:var(--err-bg)}
html[data-pal=bianco] .btn:hover{background:var(--c-s2)}
html[data-pal=bianco] .ck.warn{background:var(--warn-bg);border-color:#D9AA72;color:var(--c-tx)}

/* etichette, suggerimenti e barre sopra il 3D: vetro bianco, testo scuro */
html[data-pal=bianco] .lab,html[data-pal=bianco] .lab.dim,html[data-pal=bianco] #v3d.tech .lab,
html[data-pal=bianco] #tip3d,html[data-pal=bianco] .hint3first,html[data-pal=bianco] .pillbar,html[data-pal=bianco] .hint3,
html[data-pal=bianco] .steps button,html[data-pal=bianco] .steps button.now,html[data-pal=bianco] #rnav{background:var(--ov-bg);color:var(--c-tx);border-color:var(--ov-line);box-shadow:var(--ov-sh)}
html[data-pal=bianco] .lab b,html[data-pal=bianco] .lab.dim b,html[data-pal=bianco] .steps button.now{color:var(--c-tx)}
html[data-pal=bianco] .lab span,html[data-pal=bianco] #v3d.tech .lab span{color:var(--c-mu)}
html[data-pal=bianco] .lab.ok span{color:var(--acc)}
html[data-pal=bianco] .lab.sel{border:2px solid var(--acc)}
html[data-pal=bianco] .lab.dim:hover{background:var(--acc);color:var(--on-acc);border-color:var(--acc);box-shadow:none}
html[data-pal=bianco] .lab.dim:hover b{color:var(--on-acc)}
html[data-pal=bianco] .lab.pin i{background:#FFFFFF!important;color:var(--c-tx);box-shadow:0 0 0 1.5px var(--c-line2),0 3px 8px rgba(14,20,17,.18)}
html[data-pal=bianco] .lab.pin i::after{box-shadow:0 0 0 1.5px #fff}
html[data-pal=bianco] .lab.pin.sel i{box-shadow:0 0 0 2px var(--acc),0 3px 8px rgba(14,20,17,.18)}
html[data-pal=bianco] .pillbar button{color:var(--c-tx2)}
html[data-pal=bianco] .pillbar button:hover{background:rgba(14,20,17,.06)}
html[data-pal=bianco] .pillbar button.on,html[data-pal=bianco] #rnav button:hover{background:var(--acc);color:var(--on-acc)}
html[data-pal=bianco] .steps button{color:var(--c-tx2)}
html[data-pal=bianco] .steps button.now{border-color:var(--acc-s2)}

/* totale fisso del telefono, riga di sezione della tabella, numeri dei passi */
html[data-pal=bianco] #mtot{background:rgba(255,255,255,.97)}
html[data-pal=bianco] #mtot b{color:var(--c-tx)}
html[data-pal=bianco] table.ct tr.cs td{color:var(--c-tx)}
html[data-pal=bianco] .steps button.done b{background:var(--c-s2);color:var(--acc)}

/* finestre "Modifica tutte le voci" e "Copia di sicurezza": chiare, come il resto (nelle altre palette restano scure) */
html[data-pal=bianco] #vtab,html[data-pal=bianco] #cdati{background:rgba(14,20,17,.42)}
html[data-pal=bianco] #vtab .vt-box,html[data-pal=bianco] #cdati .cd-box{background:#FFFFFF;color:var(--c-tx);border-color:var(--c-line2)}
html[data-pal=bianco] .vt-top,html[data-pal=bianco] .cd-top,html[data-pal=bianco] .vt-piede{border-color:var(--c-line)}
html[data-pal=bianco] .vt-piede{background:var(--c-s2)}
html[data-pal=bianco] .vt-piede .vt-tot{color:var(--c-tx)}
html[data-pal=bianco] .vt-top p,html[data-pal=bianco] .cd-top p,html[data-pal=bianco] .vt-info,html[data-pal=bianco] .vt-hint,html[data-pal=bianco] .vt-corpo small,
html[data-pal=bianco] .vt-vuoto,html[data-pal=bianco] .vt-nota,html[data-pal=bianco] .cd-nota,html[data-pal=bianco] .cd-sub,html[data-pal=bianco] .cd-identico,
html[data-pal=bianco] .vt-corpo th,html[data-pal=bianco] .vt-n,html[data-pal=bianco] .vt-corpo td[data-l]::before{color:var(--c-mu)}
html[data-pal=bianco] .vt-corpo th{background:#FFFFFF;border-color:var(--c-line2)}
html[data-pal=bianco] .vt-corpo td{border-color:var(--c-line)}
html[data-pal=bianco] .vt-cod,html[data-pal=bianco] .vt-chk,html[data-pal=bianco] .cd-file{color:var(--c-tx2)}
html[data-pal=bianco] .vt-b,html[data-pal=bianco] .cd-b{background:#FFFFFF;color:var(--c-tx);border-color:var(--c-line2)}
html[data-pal=bianco] .vt-b:hover,html[data-pal=bianco] .cd-b:hover{background:var(--c-s2)}
html[data-pal=bianco] .vt-pri,html[data-pal=bianco] .cd-pri{background:var(--acc);border-color:var(--acc);color:var(--on-acc)}
html[data-pal=bianco] .vt-pri:hover,html[data-pal=bianco] .cd-pri:hover{background:var(--acc);filter:brightness(1.08)}
html[data-pal=bianco] .vt-filtri input[type=search],html[data-pal=bianco] .vt-filtri select,html[data-pal=bianco] .vt-corpo textarea,html[data-pal=bianco] .vt-corpo td input,
html[data-pal=bianco] .cd-voce select{background:#FFFFFF;color:var(--c-tx);border-color:var(--c-line2)}
html[data-pal=bianco] .vt-corpo input:focus,html[data-pal=bianco] .vt-corpo textarea:focus{outline-color:var(--acc)}
html[data-pal=bianco] .vt-msg,html[data-pal=bianco] .cd-msg{background:var(--acc-s);border-color:var(--acc-s2);color:var(--c-tx)}
html[data-pal=bianco] .vt-err,html[data-pal=bianco] .cd-errore{border-color:var(--err)!important;background:var(--err-bg)!important}
html[data-pal=bianco] .vt-warn td{background:var(--warn-bg)}
html[data-pal=bianco] .vt-warn td:first-child{box-shadow:inset 4px 0 0 var(--warn)}
html[data-pal=bianco] .vt-x{background:var(--err-bg);color:var(--err);border-color:#E7B4AE}
html[data-pal=bianco] .cd-voce{background:var(--c-s2);border-color:var(--c-line2)}
html[data-pal=bianco] .cd-file{border-color:var(--c-line2)}
html[data-pal=bianco] .cd-nuovo{color:var(--ok)}
html[data-pal=bianco] .cd-diverso{color:var(--warn)}
@media (max-width:760px){html[data-pal=bianco] .vt-corpo tr{border-color:var(--c-line2)}}

/* secondo monitor */
html[data-pal=bianco] .exth .pill{background:var(--acc);color:var(--on-acc)}
html[data-pal=bianco] .exth button{color:var(--c-tx)}

/* testo e campi che nelle palette scure usano "bianco su scuro": qui testo scuro su chiaro */
html[data-pal=bianco] .gf input,html[data-pal=bianco] .gf select,html[data-pal=bianco] .vin input,html[data-pal=bianco] table.mis input,html[data-pal=bianco] .lpr input,
html[data-pal=bianco] .coef3 input,html[data-pal=bianco] .elb button,html[data-pal=bianco] .ric,html[data-pal=bianco] .vpu b,html[data-pal=bianco] .lres b,
html[data-pal=bianco] .chipb.ok,html[data-pal=bianco] #rnav .rn,html[data-pal=bianco] .stati button.on,html[data-pal=bianco] .wl input,html[data-pal=bianco] .pillbar select,
html[data-pal=bianco] table.ct input,html[data-pal=bianco] .field input,html[data-pal=bianco] .field select{color:var(--c-tx)}
html[data-pal=bianco] .steps button b{background:var(--c-s3);color:var(--c-tx2)}
html[data-pal=bianco] .ehead .tag{color:#fff}
html[data-pal=bianco] .steps button.now b{background:var(--acc);color:var(--on-acc)}
html[data-pal=bianco] #rnav button{color:var(--c-tx)}
html[data-pal=bianco] #rnav button:hover{color:var(--on-acc)}
html[data-pal=bianco] .mod .mctl{opacity:.8}
html[data-pal=bianco] .tbtn.on i{box-shadow:0 0 0 2px #FFFFFF}
