:root{--paper:#fbfbf9;--bg:#e4e7e1;--ink:#18211f;--ink-2:#5c6a66;--rule:#cbd1c9;--ok:#4a7a2e;--warn:#b8820c;--error:#ce4b1d;--l1:#2f6f6a;--l2:#b8820c;--l3:#ce4b1d;--l4:#8c1d18;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45}button,input{font-family:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;padding:0 0 16px}.brand h1{margin:0;font-size:17px;letter-spacing:-.01em}.brand .sub{margin:0;font-size:10px;color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.09em}.brand .mark{width:22px;height:22px;border-radius:6px;flex-shrink:0;background:linear-gradient(180deg,#2f6f6a 0 25%,#b8820c 25% 50%,#ce4b1d 50% 75%,#8c1d18 75% 100%)}.gate{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.gate-box{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:26px;width:100%;max-width:360px}.gate-box h2{margin:0 0 6px;font-size:16px}.g-msg{font-size:12.5px;margin:0 0 16px}.g-l,.g-msg{color:var(--ink-2)}.g-l{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}.g-l input{display:block;width:100%;margin-top:4px;padding:8px 9px;border:1px solid var(--rule);border-radius:6px;font-size:13px;background:#fff;color:var(--ink)}.g-l input:disabled{opacity:.6}.esito{font-size:12.5px;color:var(--error);margin:10px 0 0}.gate-diag{margin-top:18px;padding-top:14px;border-top:1px solid var(--rule)}.btn{border:1px solid var(--ink);background:var(--ink);color:#f4f6f3;padding:8px 13px;border-radius:7px;font-size:13px;cursor:pointer}.btn:disabled{opacity:.6;cursor:default}.btn.tiny{padding:5px 9px;font-size:12px;background:transparent;border-color:var(--rule);color:var(--ink-2)}.btn.tiny:hover{background:#fff}.view-placeholder{flex:1 1;padding:26px;max-width:720px}.view-placeholder__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:6px}.view-placeholder h1{margin:0;font-size:20px}.view-placeholder .sub{margin:2px 0 0;font-size:11px;color:var(--ink-2);font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em}.intro{font-size:13px;max-width:60ch}.intro,.muted{color:var(--ink-2)}.muted{font-size:12px}.health-status{font-family:var(--mono);font-size:11.5px;margin:0}.health-status--loading{color:var(--ink-2)}.health-status--ok{color:var(--ok)}.health-status--error{color:var(--error)}.shell{flex:1 1;display:flex;flex-direction:column;min-height:0}.shell-header{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 20px;background:var(--ink);color:#edf0ec}.shell-header .brand{padding:0}.shell-header .brand .sub{color:#93a19c}.shell-nav{display:flex;gap:4px;flex-wrap:wrap;flex:1 1}.shell-tab{border:0;background:transparent;color:#c8d2ce;padding:7px 12px;border-radius:8px;cursor:pointer;text-align:left;line-height:1.25}.shell-tab b{display:block;font-size:13px;font-weight:550}.shell-tab span{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:#7e8c87}.shell-tab:hover{background:#212c29}.shell-tab.on{background:#f4f6f3;color:var(--ink)}.shell-tab.on span{color:var(--ink-2)}.shell-utente{display:flex;align-items:center;gap:10px;font-size:12.5px}.shell-utente b{font-weight:600}.shell-utente .ru{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#f0a93b}.shell-main{flex:1 1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:var(--paper)}.view-pane{padding:26px;max-width:720px}.titolo{font-size:18px;margin:0;font-weight:650;letter-spacing:-.01em}.clienti-view{flex:1 1;display:flex;flex-direction:column;min-height:0}.filters{align-items:center;gap:10px;padding:11px 16px;background:var(--paper);border-bottom:1px solid var(--rule)}.chips,.filters{display:flex;flex-wrap:wrap}.chips{gap:7px}.chip{border:1px solid var(--rule);background:transparent;color:var(--ink-2);padding:5px 11px;border-radius:99px;font-size:12.5px;cursor:pointer}.chip.on{background:var(--ink);border-color:var(--ink);color:#f4f6f3}.cnt{font-family:var(--mono);font-size:11px;opacity:.65;margin-left:2px}.filters input[type=search]{padding:6px 10px;border:1px solid var(--rule);border-radius:7px;background:#fff;font-size:13px;min-width:170px;font-family:inherit}.filters-right{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px;line-height:0}.cols{display:grid;grid-template-columns:minmax(280px,38%) 1fr;flex:1 1;min-height:0}.list{overflow:auto;border-right:1px solid var(--rule);background:var(--paper)}.detail{overflow:auto;padding:22px;background:#f5f6f3}.row{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--rule);background:transparent;padding:12px 16px;cursor:pointer}.row.sel,.row:hover{background:#fff}.row.sel{box-shadow:inset 3px 0 0 var(--ink)}.row-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.nome{font-weight:600;font-size:13.5px}.cod{font-size:11px;color:var(--ink-2)}.cod,.imp{font-family:var(--mono)}.imp{font-size:14.5px;font-weight:600;white-space:nowrap}.imp.zero{color:var(--ok)}.row-bot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:7px}.azione{font-size:11.5px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em}.track{display:flex;gap:3px;align-items:center}.seg{width:20px;height:5px;border-radius:2px;background:var(--rule)}.seg.on{background:var(--s)}.seg.now{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--s)}.empty{max-width:420px;margin:60px auto;text-align:center;color:var(--ink-2);padding:0 16px}.empty h2{font-size:16px;margin:0 0 8px;color:var(--ink)}.card{background:#fff;border:1px solid var(--rule);border-radius:11px;padding:18px;margin-bottom:16px}.card h3{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-2);font-family:var(--mono);margin:0 0 12px;font-weight:650}.d-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.d-head h2{font-size:19px;margin:0}.d-tot{font-family:var(--mono);font-size:24px;font-weight:650;text-align:right;line-height:1.1}.d-tot small{display:block;font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2)}.steps{display:flex;gap:8px;margin:16px 0 6px;flex-wrap:wrap}.step{flex:1 1;min-width:112px;border-top:4px solid var(--rule);padding-top:8px;color:var(--ink-2)}.step.done{color:var(--ink)}.step.done,.step.now{border-color:var(--s)}.step.done.saltato{border-top-style:dashed}.step b{display:block;font-size:12px}.step span{font-family:var(--mono);font-size:11px}.step.now b{color:var(--s)}.table-scroll{overflow-x:auto}table.docs{width:100%;border-collapse:collapse;font-size:12.5px}table.docs th{text-align:left;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);font-weight:500;padding:0 8px 6px 0;border-bottom:1px solid var(--rule)}table.docs td{padding:6px 8px 6px 0;border-bottom:1px solid #ebeee9;font-family:var(--mono);white-space:nowrap}table.docs td.n{text-align:right}table.docs tr.next td{color:var(--ink-2)}table.docs tr.nc td{color:var(--ok)}table.docs tr.escl td{color:#a2aba6;text-decoration:line-through}table.docs tr.escl td:last-child{text-decoration:none}select.st-riga{font-family:var(--mono);font-size:11px;padding:2px 4px;border:1px solid var(--rule);border-radius:5px;background:#fff;color:var(--ink-2)}.gg{display:inline-block;min-width:34px;text-align:right}.mail-head{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.mail-head input{flex:1 1;min-width:180px;padding:7px 9px;border:1px solid var(--rule);border-radius:6px;font-family:var(--mono);font-size:12.5px}.mail{white-space:pre-wrap;padding:14px;max-height:420px;overflow:auto}.mail,.mail-edit{font-family:var(--mono);font-size:12.3px;line-height:1.6;background:#fafbf8;border:1px solid var(--rule);border-radius:8px}.mail-edit{width:100%;padding:10px}.oggetto{font-family:var(--mono);font-size:12.5px;background:#fafbf8;border:1px solid var(--rule);border-radius:8px;padding:9px 12px;margin-bottom:9px;word-break:break-word}.oggetto span{color:var(--ink-2);text-transform:uppercase;font-size:10px;letter-spacing:.08em;display:block;margin-bottom:2px}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.actions input{flex:1 1;min-width:200px;padding:7px 9px;font-size:12.5px;font-family:inherit}.actions input,.dt{border:1px solid var(--rule);border-radius:6px}.dt{padding:5px 7px}.dt,.storico{font-family:var(--mono);font-size:12px}.storico{color:var(--ink-2);display:flex;flex-direction:column;gap:5px}.storico i{font-style:normal;color:var(--ink)}.storico-mail summary{cursor:pointer}.storico-mail summary::marker{color:var(--ink-2)}.storico-mail-corpo{margin:8px 0 4px 4px}.storico-mail-corpo .cod{display:block;margin-bottom:6px}.warn{background:#fdf6e6;border:1px solid #e8d49b;color:#6b5310;border-radius:8px;padding:10px 12px;font-size:12.5px;margin-top:12px}.allegati-box{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule)}.allegati-titolo{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);font-weight:500;margin:0 0 8px}.allegati-lista{display:flex;flex-direction:column;gap:8px;margin:10px 0}.allegato-riga{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;background:#fafbf8;border:1px solid var(--rule);border-radius:8px;padding:8px 12px}.allegato-riga .nome{flex:1 1;font-weight:400;font-size:12.5px;word-break:break-word}.allegato-riga .dim{color:var(--ink-2);font-size:11px;white-space:nowrap}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:13px;gap:13px;max-width:640px}.grid2 label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2)}.grid2 input{padding:8px 9px;border:1px solid var(--rule);border-radius:7px;font-size:13px;font-family:var(--mono);color:var(--ink);background:#fff}.grid2 input:disabled{opacity:.65}.grid2 textarea{padding:8px 9px;border:1px solid var(--rule);border-radius:7px;font-size:12.5px;font-family:var(--mono);color:var(--ink);background:#fff;line-height:1.5;resize:vertical;min-height:220px}.grid2 textarea:disabled{opacity:.65}.template-livello{padding-top:10px;margin-top:10px;border-top:1px solid var(--rule);display:flex;flex-direction:column;gap:6px}.template-livello:first-of-type{border-top:none;padding-top:4px;margin-top:0}.template-livello h4{margin:0;font-size:13px;font-weight:600;color:var(--ink)}.segnaposto-lista{font-size:11.5px;color:var(--ink-2)}.segnaposto-lista summary{cursor:pointer}.segnaposto-lista .cod{margin-top:6px}.req{color:var(--error)}.grid2 .wide{grid-column:1/-1}.deleghe{display:flex;flex-direction:column;gap:2px}.deleghe,.smtp-section{padding-top:4px;border-top:1px solid var(--rule)}.smtp-fields{margin-top:4px;max-width:none}.deleghe-titolo{margin:8px 0 2px;font-size:13px;font-weight:600;color:var(--ink)}.grid2 label.checkbox-riga{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:normal;font-size:13px;color:var(--ink);padding:3px 0}.checkbox-riga input[type=checkbox]{width:15px;height:15px;accent-color:var(--l1);flex:none}.deleghe-nota{margin:6px 0 4px;max-width:520px}.drop{border:2px dashed var(--rule);border-radius:11px;padding:30px;text-align:center;display:flex;flex-direction:column;gap:9px;align-items:center;background:#fff;max-width:640px}.drop.over{border-color:var(--l1);background:#f0f6f4}.drop span{font-size:12px;color:var(--ink-2)}.fallback{margin-top:16px;font-size:12.5px;max-width:640px}.fallback summary{cursor:pointer;color:var(--ink-2)}.fallback textarea{width:100%;margin:9px 0;padding:9px;border:1px solid var(--rule);border-radius:7px;font-family:var(--mono);font-size:11.5px}.esito.ko{color:var(--error)}.esito.ok{color:var(--ok)}.carico{margin-top:18px;font-size:13px;font-family:var(--mono);color:var(--ink-2);border-left:3px solid var(--rule);padding-left:12px}.carico b{color:var(--ink)}table.ut{width:100%;border-collapse:collapse;font-size:13px;max-width:640px}table.ut th{text-align:left;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);font-weight:500;padding:0 10px 6px 0;border-bottom:1px solid var(--rule)}table.ut td{padding:8px 10px 8px 0;border-bottom:1px solid #ebeee9}table.ut td.io{font-weight:600}.pinbox{display:flex;gap:8px;flex-wrap:wrap;align-items:center;max-width:460px;margin-top:10px}.pinbox input{padding:9px 11px;border:1px solid var(--rule);border-radius:7px;font-family:var(--mono);font-size:13px;width:140px;background:#fff}.view-pane.wide{max-width:980px}.dash-hero{display:flex;gap:32px;flex-wrap:wrap}.dash-hero-stat{display:flex;flex-direction:column;gap:4px}.dash-hero-stat small{font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-2)}.dash-hero-stat b{font-family:var(--mono);font-size:32px;font-weight:650;color:var(--ink)}.dash-bar{display:flex;height:10px;border-radius:99px;overflow:hidden;margin:18px 0 20px;background:var(--rule)}.dash-bar span{background:var(--s);flex-grow:1;flex-basis:0}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.dash-livello{border-top:4px solid var(--s,var(--rule));display:flex;flex-direction:column;gap:4px}.dash-livello h4{margin:0;font-size:13px;font-weight:600;color:var(--ink)}.dash-livello-imp{font-family:var(--mono);font-size:20px;font-weight:650;color:var(--ink)}.dash-livello-btn{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff;font:inherit;text-align:left;width:100%;cursor:pointer}.dash-livello-btn:hover{border-color:var(--ink-2)}.dash-livello-btn.active{border-color:var(--ink)}@media (max-width:820px){.shell-header{padding:10px 12px}.shell-tab span{display:none}.cols{grid-template-columns:1fr}.list{max-height:46vh;border-right:0;border-bottom:1px solid var(--rule)}.detail{padding:14px}.view-pane{padding:16px}.dash-hero{gap:20px}.dash-hero-stat b{font-size:26px}}