/* Aggiunte del gestionale sopra lo stile identico della Control Room (control-room.css). Stessi token, stessi componenti. */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

/* campi che la Control Room non usa ma il gestionale sì: stesso aspetto degli altri */
input[type=email],input[type=password],input[type=search],input[type=tel]{background:var(--surface-2);border:1px solid transparent;border-radius:10px;padding:8px 11px;min-width:0;width:100%;font-size:14px;transition:border-color .15s,background .15s}
label.f .opz{font-weight:400;color:var(--faint)}
label.f.req>span:first-child::after{content:" *";color:var(--gold)}
.hint{font-size:12px;color:var(--muted);margin-top:-4px}
a.btn{display:inline-block;text-decoration:none;text-align:center}
a.btn:hover{text-decoration:none}
.btn.lg{padding:10px 22px;font-size:15px}
.btn.block{display:block;width:100%}
form.inline{display:inline}
a.person{color:var(--fg);text-decoration:none}
a.person:hover{text-decoration:none}
.person .ic{font-size:15px}
.staff .avatar.k-home{background:linear-gradient(180deg,#5e5ce6,#3634a3)}
.staff .avatar.k-preventivi{background:linear-gradient(180deg,#30d158,#248a3d)}
.staff .avatar.k-approvazioni{background:linear-gradient(180deg,#64d2ff,#0a84ff)}
.staff .avatar.k-prezzi{background:linear-gradient(180deg,#ffb340,#ff9500)}
.staff .avatar.k-clienti{background:linear-gradient(180deg,#ff6482,#ff2d55)}
.staff .avatar.k-certificazioni{background:linear-gradient(180deg,#bf5af2,#8944ab)}
.staff .avatar.k-segnalazioni{background:linear-gradient(180deg,#ff6961,#d70015)}
.staff .avatar.k-accessi{background:linear-gradient(180deg,#8e8e93,#636366)}
.chat .avatar{background:linear-gradient(180deg,#5e5ce6,#3634a3)}
.note.ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}
.note.crit{background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit)}
.note ul{margin:6px 0 0;padding-left:18px}
.note .actions{margin-top:10px}
.dhead .back{font-size:13px;margin-bottom:4px;display:inline-block}

/* totali del preventivo */
.tot{display:flex;flex-direction:column;gap:0;max-width:440px;margin-left:auto;width:100%;font-variant-numeric:tabular-nums}
.tot div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;color:var(--muted);font-size:14px}
.tot div b{color:var(--fg);font-weight:600}
.tot .big{margin:8px 0 4px;padding:14px 16px;border-radius:var(--r-sm);background:var(--gold-dim);color:var(--fg);font-size:15px;font-weight:600}
.tot .big b{font-family:var(--f-display);font-size:26px;font-weight:700;letter-spacing:-.03em;color:var(--gold)}

/* righe del preventivo nel modulo */
.lines td{vertical-align:top}
.lines .esito{font-size:12.5px;margin-top:4px;color:var(--muted)}
.lines .esito.ok{color:var(--ok)}.lines .esito.crit{color:var(--crit)}
.lines td.c-prezzo{width:120px}.lines td.c-qta{width:90px}.lines td.c-x{width:44px}
.lines input[name=codice]{min-width:220px}

/* passi numerati del modulo */
.step{display:flex;align-items:center;gap:10px}
.step .n{width:26px;height:26px;border-radius:50%;background:var(--gold);color:var(--on-accent);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.step h3{font-size:17px}

/* scelte radio in stile scheda */
.opts{display:flex;flex-direction:column;gap:8px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-2);cursor:pointer;font-size:14px}
.opt input{margin-top:2px}
.opt b{display:block;font-weight:600}
.opt span span{color:var(--muted);font-size:13px}
.opt:has(input:checked){background:var(--gold-dim);box-shadow:inset 0 0 0 1.5px var(--gold-glow)}

details.fold>summary{cursor:pointer;color:var(--gold);font-size:14px;font-weight:500;list-style:none;padding:2px 0}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:"＋ "}details.fold[open]>summary::before{content:"－ "}
details.fold[open]>summary{margin-bottom:10px}

.pre{white-space:pre-wrap;font-size:14px;line-height:1.5}
.mail .pre{background:var(--surface);border-radius:10px;padding:10px 12px}
.cert{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.cert div{border-radius:var(--r-sm);padding:12px;text-align:center;background:var(--surface-2)}
.cert div b{display:block;font-family:var(--f-display);font-size:18px}
.cert div.si{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok)}
.cert div.no{background:color-mix(in srgb,var(--crit) 12%,transparent);color:var(--crit)}
tr.link{cursor:pointer}
.timeline .dir{font-size:13.5px}

/* accesso */
.auth{min-height:100vh;display:grid;place-items:center;padding:20px 0}
.auth .card{width:100%;max-width:400px}
.auth .brand{justify-content:center;margin-bottom:6px}

/* chat dell'assistente (stesso pannello della Control Room) */
.msg.assistant p{margin:0}.msg.assistant p+p{margin-top:6px}
.chat .off{font-size:12.5px;color:var(--muted);text-align:center;padding:4px 8px}
@media (max-width:760px){.lines input[name=codice]{min-width:160px}}

.auth .legal{font-size:11.5px;color:var(--faint);text-align:center}
