/* Legge Facile — stile dello studio legale (sopra assets/app.css) */
:root{--oro:#b45309;--sem-ok:#16a34a;--sem-warn:#f59e0b;--sem-ko:#dc2626}

.logo-st{height:26px;width:26px;display:inline-flex;align-items:center;justify-content:center;font-size:20px}
.top-dx{display:flex;align-items:center;gap:8px}
.chip-ruolo{display:flex;align-items:center;gap:6px;color:#fff;font-weight:600;font-size:.9rem}
.chip-ruolo.tit .avatar{box-shadow:0 0 0 2px var(--oro)}
.solo-pc{display:none}
@media(min-width:768px){.solo-pc{display:inline}}
.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;
 background:var(--blu);object-fit:cover;flex:0 0 auto}
.avatar-txt{letter-spacing:.5px}
.menu a .ico{position:relative}
.pallino{position:absolute;top:-4px;right:-10px;background:#dc2626;color:#fff;border-radius:999px;
 font-size:.62rem;font-style:normal;font-weight:700;padding:1px 5px;line-height:1.3}
.demo-switch{display:inline-block;margin-left:8px}
.demo-switch a{margin-left:4px;padding:1px 7px;border-radius:999px;background:#fff;border:1px solid #f1d98a}
.demo-switch a.on{background:#0b3d91;color:#fff;border-color:#0b3d91}

/* testata: il nome dello studio si accorcia invece di allargare la pagina */
html,body{max-width:100%;overflow-x:hidden}
.top{gap:8px}
.top .brand{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:8px}
.top .brand > span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-dx{flex:0 0 auto}
.kpi small{display:block;overflow-wrap:anywhere}

/* righe dei fascicoli */
.riga-fasc{display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;background:var(--card);
 border:1px solid var(--bordo);border-left:5px solid var(--bordo);border-radius:var(--r);margin-bottom:8px;color:inherit}
.riga-fasc:hover{filter:brightness(.985)}
.riga-fasc.sem-ok{border-left-color:var(--sem-ok)}
.riga-fasc.sem-warn{border-left-color:var(--sem-warn)}
.riga-fasc.sem-ko{border-left-color:var(--sem-ko)}
.rf-ico{font-size:1.4rem;line-height:1.2}
.rf-testo{flex:1;min-width:0}
.rf-testo b{display:block;font-size:1.02rem}
.rf-testo small{display:block;color:var(--grigio);font-size:.82rem}
.rf-sem{display:block;font-style:normal;font-size:.85rem;font-weight:600;margin-top:3px}
.sem-ko .rf-sem{color:var(--sem-ko)}
.sem-warn .rf-sem{color:#92400e}
.sem-ok .rf-sem{color:var(--grigio);font-weight:400}

/* liste di scadenze e udienze */
.riga-sc{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--card);border:1px solid var(--bordo);
 border-left:5px solid var(--bordo);border-radius:var(--r);margin-bottom:8px}
.riga-sc.sem-ok{border-left-color:var(--sem-ok)}
.riga-sc.sem-warn{border-left-color:var(--sem-warn)}
.riga-sc.sem-ko{border-left-color:var(--sem-ko)}
.riga-sc.fatta{opacity:.55}
.riga-sc .quando{flex:0 0 74px;text-align:center;font-weight:800;line-height:1.1}
.riga-sc .quando small{display:block;font-weight:600;font-size:.7rem;color:var(--grigio);text-transform:uppercase}
.riga-sc .che{flex:1;min-width:0}
.riga-sc .che b{display:block}
.riga-sc .che small{color:var(--grigio);display:block;font-size:.82rem}
.riga-sc .che .norma{color:var(--oro);font-weight:600;font-size:.8rem}
.riga-sc form{margin:0}

/* giorno dell'agenda */
.giorno{margin:18px 0 8px;font-weight:800;text-transform:capitalize;display:flex;align-items:baseline;gap:8px}
.giorno small{font-weight:400;color:var(--grigio);text-transform:none}
.giorno.oggi{color:var(--blu)}

/* scheda del fascicolo */
.dati{display:grid;gap:6px 14px;grid-template-columns:1fr}
@media(min-width:600px){.dati{grid-template-columns:1fr 1fr}}
.dati div{display:flex;gap:8px;padding:6px 0;border-bottom:1px dashed var(--bordo)}
.dati span{color:var(--grigio);flex:0 0 42%;font-size:.9rem}
.dati b{flex:1;font-weight:600}
.titolo-f{display:flex;align-items:flex-start;gap:10px;margin-bottom:4px}
.titolo-f .ico{font-size:1.8rem}
.titolo-f h1{margin:0;font-size:1.25rem}
.titolo-f small{color:var(--grigio)}

/* calcolatore dei termini */
.calcolo{background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--r);padding:14px;margin:12px 0}
.calcolo .data-out{font-size:1.8rem;font-weight:800;color:var(--blu)}
.calcolo .spiega{font-size:.9rem;color:#334155;margin-top:6px}
.avviso{background:#fef3c7;border:1px solid #fcd34d;color:#78350f;border-radius:var(--r);padding:12px 14px;margin:12px 0;font-size:.92rem}
.avviso b{display:block}

/* parcella */
.riep{background:var(--card);border:1px solid var(--bordo);border-radius:var(--r);padding:14px}
.riep .r{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed var(--bordo)}
.riep .r.tot{font-weight:800;font-size:1.2rem;border-bottom:0;border-top:2px solid var(--testo);margin-top:6px;padding-top:10px}
.riep .r small{color:var(--grigio);font-weight:400}
.fase-riga{display:grid;grid-template-columns:1fr 110px 120px;gap:8px;align-items:center;margin-bottom:8px}
.fase-riga label{margin:0}
@media(max-width:560px){.fase-riga{grid-template-columns:1fr 90px}.fase-riga .val{grid-column:1/-1}}

/* diario */
.diario{list-style:none;padding:0;margin:0}
.diario li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--bordo)}
.diario .ev-ico{font-size:1.1rem}
.diario small{display:block;color:var(--grigio);font-size:.8rem}

/* conflitto di interessi */
.conflitto{background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d;border-radius:var(--r);padding:12px 14px;margin:10px 0}
.conflitto b{display:block}
.conflitto a{color:#7f1d1d;text-decoration:underline}

/* barra di ricerca e filtri */
.filtri{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.filtri select,.filtri input{min-height:40px;width:auto;flex:1;min-width:130px}

/* rischio antiriciclaggio */
.rischio{display:flex;align-items:center;gap:12px;margin:10px 0}
.rischio .punteggio{font-size:2rem;font-weight:800}
.check-lista label{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:0;padding:9px 0;border-bottom:1px solid var(--bordo)}
.check-lista input{width:22px;min-height:22px;flex:0 0 22px;margin-top:2px}

/* portale cliente */
.passo{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--bordo)}
.passo .n{flex:0 0 32px;height:32px;border-radius:50%;background:var(--blu);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}

/* stampa */
.foglio{background:#fff;padding:18px}
@media print{.pill-tabs,.filtri,.azioni-pag{display:none!important}}
