:root{
  --red:#d71920;--red-dark:#ad1017;--red-soft:#fff0f1;--orange:#f27b24;--green:#159447;
  --bg:#f5f6f8;--surface:#fff;--ink:#171a21;--muted:#737b88;--line:#e6e7eb;--shadow:0 10px 28px rgba(20,28,40,.08);
  --radius:18px;--sidebar:268px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink);background:var(--bg)
}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit}.app-shell{min-height:100vh}.workspace{min-width:0}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fff;border-right:1px solid var(--line);z-index:70;display:flex;flex-direction:column}.sidebar-hero{background:linear-gradient(145deg,#e21d25,#b60f16);color:#fff;padding:28px 24px 24px;min-height:198px;position:relative;overflow:hidden}.sidebar-hero:after{content:"";position:absolute;width:190px;height:190px;border:34px solid rgba(255,255,255,.05);border-radius:50%;right:-95px;bottom:-110px}.sidebar-logo{display:inline-flex;flex-direction:column;text-decoration:none;color:#fff;line-height:.9}.wordmark{font-size:42px;font-weight:950;letter-spacing:-.07em}.wordmark-sub{font-size:11px;font-weight:800;letter-spacing:.46em;margin:8px 0 0 7px}.sidebar-welcome{margin-top:28px;font-size:15px;opacity:.92}.sidebar-close{display:none;position:absolute;top:15px;right:15px;border:0;background:rgba(255,255,255,.18);color:#fff;width:42px;height:42px;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}.sidebar-nav{padding:14px 12px 22px;overflow:auto}.nav-item{min-height:50px;border-radius:12px;padding:0 12px;display:flex;align-items:center;gap:13px;text-decoration:none;font-weight:750;font-size:15px;color:#20242c}.nav-item:hover{background:#fff2f3;color:var(--red)}.nav-item:first-child{background:#fff0f1;color:var(--red)}.nav-ico{width:28px;height:28px;display:grid;place-items:center;color:var(--red);font-size:22px;font-weight:900}.nav-item small{margin-left:auto;font-size:9px;text-transform:uppercase;color:#a4a9b1}.nav-item.disabled{opacity:.48;cursor:not-allowed}.nav-separator{height:1px;background:var(--line);margin:10px 8px}.sidebar-footer{margin-top:auto;padding:14px 22px 22px;color:#9aa0aa;font-size:12px}.workspace{margin-left:var(--sidebar)}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:45}.menu-btn{display:none;border:1px solid var(--line);background:#fff;width:44px;height:44px;border-radius:12px;font-size:22px;cursor:pointer}.top-brand{display:flex;flex-direction:column;text-decoration:none;color:var(--red);line-height:.8}.top-wordmark{font-size:30px;font-weight:950;letter-spacing:-.07em}.top-wordmark-sub{font-size:8px;letter-spacing:.45em;font-weight:900;margin:6px 0 0 5px}.top-actions{display:flex;align-items:center;gap:10px;color:#444b56;font-weight:700;font-size:13px}.top-status-dot{width:10px;height:10px;border-radius:50%;background:#25b05b;box-shadow:0 0 0 4px #e7f7ed}.container{max-width:1280px;margin:0 auto 90px;padding:28px}.hero-red{min-height:222px;background:linear-gradient(135deg,#e21d25 0%,#c31018 58%,#a70e15 100%);border-radius:22px;padding:34px 38px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:0 16px 35px rgba(184,16,23,.18);overflow:hidden;position:relative}.hero-red:before,.hero-red:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}.hero-red:before{width:440px;height:440px;right:180px;top:-310px}.hero-red:after{width:300px;height:300px;right:-110px;bottom:-220px}.hero-copy{position:relative;z-index:2}.hero-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;opacity:.78}.hero-red h1{font-size:38px;margin:6px 0 5px;letter-spacing:-.03em}.hero-red p{font-size:18px;margin:0 0 24px;opacity:.9}.hero-cta{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--red);text-decoration:none;border-radius:999px;padding:14px 24px;font-size:15px;font-weight:900;box-shadow:0 10px 24px rgba(100,0,0,.13)}.hero-cta span{font-size:22px}.hero-brand{text-align:right;position:relative;z-index:2;min-width:360px}.hero-logo{font-size:62px;font-weight:950;letter-spacing:-.08em;line-height:.85}.hero-logo-sub{font-size:15px;letter-spacing:.58em;font-weight:850;margin-top:12px}.hero-tagline{font-size:10px;letter-spacing:.08em;font-weight:800;margin-top:16px;opacity:.88}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.metric-card{background:#fff;border:1px solid var(--line);border-radius:17px;min-height:122px;padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-decoration:none;box-shadow:0 6px 18px rgba(31,41,55,.035)}.metric-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.metric-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#fde9ea;color:var(--red);font-size:24px;font-weight:950}.metric-card strong{font-size:34px;line-height:1;color:var(--red);display:block}.metric-card span{display:block;font-weight:850;margin-top:5px}.metric-card small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.metric-card>b{font-size:28px;color:#a8adb5}.metric-card.warning .metric-icon{background:#fff2e8;color:var(--orange)}.metric-card.warning strong{color:var(--orange)}.metric-card.success .metric-icon{background:#e9f8ef;color:var(--green)}.metric-card.success strong{color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;margin-top:14px}.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(31,41,55,.035)}.dashboard-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.dashboard-card-head h2{font-size:16px;margin:0}.dashboard-card-head a{font-size:12px;color:var(--red);font-weight:800;text-decoration:none}.section-icon{color:var(--red);margin-right:6px}.compact-list{display:flex;flex-direction:column}.compact-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;text-decoration:none}.compact-row:last-child{border-bottom:0}.compact-row strong,.compact-row span{display:block}.compact-row strong{font-size:13px}.compact-row span{font-size:12px;color:var(--muted);margin-top:3px}.compact-row time{font-size:12px;color:var(--red);font-weight:850;white-space:nowrap}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid a{border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.quick-grid a>span{grid-row:1/3;color:var(--red);font-size:22px}.quick-grid strong,.quick-grid small{display:block}.quick-grid strong{font-size:13px}.quick-grid small{font-size:11px;color:var(--muted);margin-top:2px}.map-placeholder{min-height:188px;border-radius:14px;background:linear-gradient(135deg,#f5f1ec,#eef4ef);position:relative;overflow:hidden;border:1px solid #ece9e4}.map-placeholder:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(25deg,transparent 0 18px,rgba(180,180,180,.16) 19px 21px),repeating-linear-gradient(105deg,transparent 0 30px,rgba(160,190,175,.14) 31px 33px);opacity:.7}.pin{position:absolute;color:var(--red);font-size:38px;z-index:2;filter:drop-shadow(0 3px 2px #fff)}.p1{left:26%;top:26%}.p2{left:58%;top:46%}.p3{right:16%;top:18%}.map-copy{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.92);border-radius:12px;padding:11px 12px;z-index:3}.map-copy strong,.map-copy span{display:block}.map-copy span{font-size:11px;color:var(--muted);margin-top:3px}.recent-card{margin-top:14px}.activity-list{display:flex;flex-direction:column}.activity-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none}.activity-row:last-child{border-bottom:0}.activity-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--red)}.activity-main strong,.activity-main span{display:block}.activity-main strong{font-size:13px}.activity-main span{font-size:12px;color:var(--muted);margin-top:2px}.activity-row time{font-size:11px;color:var(--muted)}.soft-empty{padding:24px 10px;text-align:center;color:var(--muted);font-size:13px}.drawer-backdrop{display:none}.bottom-nav{display:none}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:18px}.pagehead h1{margin:2px 0 0;font-size:30px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--red);color:white;border:0;border-radius:11px;padding:11px 15px;text-decoration:none;font:inherit;font-size:14px;font-weight:800;cursor:pointer;min-height:42px}.btn.ghost,.btn.secondary{background:#fff;color:var(--ink);border:1px solid #d4dae2}.btn.success{background:var(--green)}.btn.full{width:100%}.button-row{display:flex;gap:8px;flex-wrap:wrap}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 5px 18px rgba(23,32,51,.04);margin-bottom:16px}.panel h2,.panel h3{margin-top:0}.panel-head{display:flex;justify-content:space-between;gap:10px}.context-banner{background:#fff7df;border:1px solid #f1d48d;border-radius:16px;padding:16px;margin-bottom:18px;display:flex;justify-content:space-between;gap:15px;align-items:center}.context-banner strong,.context-banner small{display:block;margin-top:4px}.filterbar{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;gap:9px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.filterbar select,.filterbar input,.stack select{border:1px solid #cfd6df;border-radius:10px;padding:11px 12px;background:#fff;font:inherit;min-height:42px}.searchbox{display:flex;align-items:center;gap:8px;flex:1;min-width:250px;border:1px solid #cfd6df;border-radius:10px;padding:0 12px}.searchbox input{border:0;outline:0;flex:1;padding-left:0;min-width:120px}.client-list,.ticket-list{display:flex;flex-direction:column;gap:10px}.client-card,.ticket-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:flex;justify-content:space-between;gap:15px;box-shadow:0 4px 14px rgba(23,32,51,.03)}.client-main{min-width:0}.client-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.client-title a{font-size:18px;font-weight:800;text-decoration:none}.code{font-size:11px;background:#eef2f6;border-radius:999px;padding:4px 7px;color:#64748b}.client-address{margin-top:7px}.client-meta{font-size:13px;color:var(--muted);margin-top:4px}.client-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.client-actions form{margin:0}.ticket-card{display:block}.ticket-card.is-urgent{border-left:5px solid var(--red)}.ticket-top{display:flex;justify-content:space-between;gap:12px;align-items:start}.ticket-id{font-size:12px;color:var(--muted);margin-right:8px}.ticket-title{font-size:18px;font-weight:850;text-decoration:none}.ticket-desc{color:#354052;line-height:1.45}.ticket-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:10px 0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#edf2f7;font-size:11px;font-weight:850;text-transform:uppercase;white-space:nowrap}.badge.warning{background:#fff2e2;color:#a65b00}.badge.success{background:#eaf8f0;color:#178047}.badge.danger{background:#feeceb;color:#b42318}.detail-grid,.ticket-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ticket-layout{grid-template-columns:minmax(0,1fr) 340px}.sticky{align-self:start;position:sticky;top:90px}.kv{margin:0}.kv div{display:grid;grid-template-columns:145px 1fr;padding:10px 0;border-bottom:1px solid var(--line)}.kv dt{font-size:13px;color:var(--muted)}.kv dd{margin:0;font-weight:650}.selected-client,.unassigned{padding:15px;border-radius:12px;margin-bottom:12px}.selected-client{background:#eaf8f0}.unassigned{background:#fff4d8}.selected-client strong,.selected-client span,.unassigned strong,.unassigned span{display:block}.selected-client span,.unassigned span{font-size:13px;margin-top:5px}.stack{display:flex;flex-direction:column;gap:8px}.message-body,.prewrap{white-space:pre-wrap;line-height:1.55}.sender{color:var(--muted);font-size:13px}.thread-msg{border-top:1px solid var(--line);padding:14px 0}.thread-msg small{display:block;color:var(--muted);margin-top:3px}.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:700}.form input,.form textarea,.form select{border:1px solid #cfd6df;border-radius:10px;padding:11px;font:inherit}.form textarea{min-height:110px}.form .wide{grid-column:1/-1}.empty{background:#fff;border:1px dashed #cdd5df;border-radius:16px;padding:32px;text-align:center;color:var(--muted)}.empty strong,.empty span{display:block}.empty strong{color:var(--ink);margin-bottom:5px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}.netstatus{position:fixed;right:14px;bottom:14px;background:#e6f8ed;color:#11723e;border:1px solid #bce4cc;border-radius:999px;padding:7px 11px;font-size:11px;z-index:90}.netstatus.offline{background:#feeceb;color:#b42318}hr{border:0;border-top:1px solid var(--line);margin:20px 0}
@media(max-width:1160px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.map-card{grid-column:1/-1}}
@media(max-width:1023px){body{padding-bottom:72px}.sidebar{transform:translateX(-102%);transition:transform .23s ease;box-shadow:0 0 40px rgba(0,0,0,.22)}.drawer-open .sidebar{transform:translateX(0)}.sidebar-close{display:block}.drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(16,20,28,.44);z-index:65;opacity:0;pointer-events:none;transition:opacity .23s}.drawer-open .drawer-backdrop{opacity:1;pointer-events:auto}.workspace{margin-left:0}.menu-btn{display:grid;place-items:center}.topbar{height:68px;padding:0 16px}.top-brand{position:absolute;left:50%;transform:translateX(-50%)}.top-user{display:none}.container{padding:18px 16px 28px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:68px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);z-index:60;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a,.bottom-nav button{border:0;background:transparent;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#596273;font:inherit}.bottom-nav span{font-size:21px;line-height:1}.bottom-nav small{font-size:10px}.bottom-nav a:first-child{color:var(--red)}.netstatus{bottom:78px}.hero-brand{min-width:270px}.hero-logo{font-size:50px}.dashboard-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.hero-red{padding:26px 24px;min-height:300px;display:block}.hero-brand{display:none}.hero-red h1{font-size:36px}.hero-red p{font-size:16px;max-width:320px}.hero-cta{width:100%;justify-content:center;margin-top:8px}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:118px;padding:14px;grid-template-columns:auto 1fr}.metric-card>b{display:none}.metric-icon{width:44px;height:44px}.metric-card strong{font-size:29px}.metric-card small{font-size:10px}.dashboard-grid{grid-template-columns:1fr}.map-card{grid-column:auto}.activity-row{grid-template-columns:auto minmax(0,1fr) auto}.activity-row time{display:none}.detail-grid,.ticket-layout{grid-template-columns:1fr}.sticky{position:static}.filterbar{align-items:stretch}.filterbar .searchbox,.filterbar select,.filterbar .btn{width:100%}.client-card{display:block}.client-actions{justify-content:flex-start;margin-top:13px}.client-actions .btn,.client-actions form,.client-actions form .btn{flex:1}.form{grid-template-columns:1fr}.form .wide{grid-column:auto}}
@media(max-width:460px){.container{padding:14px 12px 24px}.topbar{height:62px}.top-wordmark{font-size:25px}.hero-red{border-radius:18px;padding:24px 20px}.hero-red h1{font-size:32px}.hero-red p{font-size:15px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{padding:12px;gap:9px}.metric-icon{width:38px;height:38px;font-size:18px}.metric-card strong{font-size:25px}.metric-card span{font-size:12px}.dashboard-card{padding:15px}.pagehead h1{font-size:25px}.panel{padding:16px}.client-card,.ticket-card{padding:14px}.button-row .btn{flex:1}.context-banner{display:block}.context-banner .btn{margin-top:12px;width:100%}}

/* Mail inbox */
.mail-list{background:#fff;border:1px solid var(--border,#e5e7eb);border-radius:18px;overflow:hidden}
.mail-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:14px 16px;border-bottom:1px solid #edf0f2;text-decoration:none;color:inherit}
.mail-row:last-child{border-bottom:0}.mail-row:hover{background:#fafafa}.mail-unread{background:#fff8f8}.mail-unread .mail-subject,.mail-unread .mail-sender{font-weight:800}
.mail-state{padding-top:3px;color:#777}.status-dot{display:inline-block;width:10px;height:10px;background:#d71920;border-radius:50%}
.mail-main{min-width:0}.mail-sender{font-size:14px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-subject{margin-top:2px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-snippet{margin-top:3px;color:#6b7280;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mail-date{font-size:12px;color:#6b7280;white-space:nowrap}.attachment-list{display:grid;gap:8px}.attachment-row{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5e7eb;border-radius:10px}.attachment-row span{color:#6b7280;font-size:13px}
@media(max-width:640px){.mail-row{grid-template-columns:20px minmax(0,1fr);}.mail-date{grid-column:2}.mail-snippet{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.attachment-row{display:block}.attachment-row span{display:block;margin-top:4px}}

/* v0.2.3 — dettatura vocale */
.field-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.voice-btn{border:1px solid #e1b5b7;background:#fff6f6;color:var(--red);border-radius:999px;min-height:38px;padding:7px 12px;font:inherit;font-size:13px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.voice-btn:hover{background:#ffebec}.voice-btn.recording{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 0 0 5px rgba(215,25,32,.11)}.voice-status{display:block;min-height:18px;margin-top:6px;color:var(--muted);font-size:12px}.voice-status[data-state="recording"]{color:var(--red);font-weight:750}.voice-status[data-state="error"]{color:#b42318;font-weight:750}.voice-status[data-state="success"]{color:var(--green);font-weight:750}.voice-field textarea{min-height:120px}
@media(max-width:460px){.field-title-row{align-items:center}.voice-btn{min-width:88px;min-height:42px}.voice-field textarea{min-height:135px;font-size:16px}}

/* v0.2.4 — email <-> interventi */
.badge.info{background:#eaf3ff;color:#1d5fa7}
.mail-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.mail-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;font-size:13px;font-weight:850}.mail-tab.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);color:var(--red)}.mail-tab.warning.active{border-color:#d97706;color:#a65b00;background:#fff8ee}.mail-tab.success.active{border-color:var(--green);color:#178047;background:#f0fbf4}.mail-tab.info.active{border-color:#3b82f6;color:#1d5fa7;background:#f2f7ff}
.mail-associated{border-left:5px solid var(--green)}.mail-unassigned{border-left:5px solid #e09a31}.mail-association-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:12px}.mail-associated.mail-unread{background:#f5fff8}.mail-unassigned.mail-unread{background:#fffaf2}
.association-banner{border-radius:16px;padding:16px 18px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line)}.association-banner>div:first-child{min-width:0}.association-banner strong,.association-banner span{display:block}.association-banner strong{margin-top:7px}.association-banner span:not(.badge){margin-top:4px;color:var(--muted);font-size:13px}.association-banner.associated{background:#f0fbf4;border-color:#bfe8cf}.association-banner.unassociated{background:#fff9ef;border-color:#f0d39f}.mail-source-card h2{margin:9px 0 5px}.mail-preview{margin-top:14px;padding:14px;background:#f7f8fa;border-radius:12px;color:#394150;max-height:230px;overflow:auto}.association-actions{margin:12px 0 18px}.association-actions form{margin:0}.intervention-choice-list{display:flex;flex-direction:column;gap:10px}.intervention-choice{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.intervention-choice>div{min-width:0}.intervention-choice strong,.intervention-choice span{display:block}.intervention-choice span{font-size:12px;color:var(--muted);margin-top:4px}.intervention-choice p{margin:8px 0 0;color:#4b5563;line-height:1.4}.intervention-choice form{margin:0;flex:0 0 auto}.linked-mail-list{display:flex;flex-direction:column;gap:14px}.linked-mail-thread{border:1px solid var(--line);border-radius:14px;overflow:hidden}.linked-mail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:#f7f8fa}.linked-mail-head strong,.linked-mail-head span{display:block}.linked-mail-head span{font-size:12px;color:var(--muted);margin-top:3px}.linked-mail-message{padding:14px;border-top:1px solid var(--line)}.linked-mail-message>span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.linked-mail-message p{margin:8px 0 0;color:#3f4752;font-size:13px}
@media(max-width:640px){.mail-tabs{display:grid;grid-template-columns:1fr 1fr}.mail-tab{width:100%}.association-banner,.intervention-choice,.linked-mail-head{display:block}.association-banner .button-row,.association-banner>.btn,.intervention-choice form,.linked-mail-head .btn{margin-top:12px}.association-banner>.btn,.intervention-choice form .btn,.linked-mail-head .btn,.association-actions .btn{width:100%}}
/* v0.2.5 — riconoscimento automatico cliente da email */
.association-banner.recognized{background:#f1f7ff;border-color:#c8dcf4}.suggestion-list{margin-top:12px}
\n/* v0.2.6 - chiusura interventi */
.close-intervention-panel{border:1px solid #efc0c2;background:#fffafa}.close-form{display:grid;gap:16px}.close-form label{font-weight:800}.close-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd6df;border-radius:12px;padding:12px;font:inherit;resize:vertical;background:#fff}.close-confirm{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:16px}.close-confirm p{margin:0}.close-btn{background:var(--red);color:#fff;border-color:var(--red);min-height:46px}.close-btn:hover{filter:brightness(.94)}.intervention-closed-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#f0fbf4;border-color:#bfe8cf}.intervention-closed-banner h2{margin:8px 0 4px}.intervention-closed-banner p{margin:0;color:var(--muted)}.intervention-closed-banner form{margin:0;flex:0 0 auto}@media(max-width:640px){.close-confirm,.intervention-closed-banner{display:block}.close-confirm .close-btn,.intervention-closed-banner .btn{width:100%;margin-top:14px}.close-form textarea{font-size:16px}}\n\n\n/* v0.2.7 - archivio, email pulite, fatturazione e mobile */\n.work-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.work-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-weight:850;font-size:13px}.work-tab strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef2f6;font-size:11px}.work-tab.active{border-color:var(--red);color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.work-tab.success.active{border-color:var(--green);color:var(--green);background:#f4fbf7}.work-tab.billing.active,.work-tab.billing:hover{border-color:#d89424;color:#9a5a00;background:#fff9ef}.status-stack{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.association-new-client{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;margin:-2px 0 16px;background:#f7f8fa;border-radius:12px}.association-new-client span{color:var(--muted);font-size:13px}.selection-help{padding:14px 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px}.selection-help>div:first-child strong,.selection-help>div:first-child span{display:block}.selection-help>div:first-child span{font-size:12px;color:var(--muted);margin-top:4px}.selection-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.selection-status{display:block;min-height:18px;margin-top:8px;font-size:12px;color:var(--muted)}.message-body{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.kv dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.billing-choice{display:grid;gap:7px}.billing-choice select{width:100%;border:1px solid #cfd6df;border-radius:12px;padding:12px;font:inherit;background:#fff;min-height:46px}.billing-panel{border-color:#ead5ae;background:#fffdf9}.billing-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.billing-actions form{margin:0}.billing-inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.billing-inline-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:800}.billing-inline-form input,.invoice-quick-form input{border:1px solid #cfd6df;border-radius:10px;padding:10px 11px;font:inherit;min-height:42px}.invoice-quick-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.integration-note{margin-top:16px}.integration-note p{margin:6px 0 0;color:var(--muted)}.billing-card-actions{justify-content:flex-start}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}\n@media(max-width:640px){.work-tabs{display:grid;grid-template-columns:1fr 1fr}.work-tab{width:100%}.status-stack{justify-content:flex-start}.ticket-top{display:block}.ticket-top .status-stack{margin-top:10px}.association-new-client{display:block}.association-new-client .btn{width:100%;margin-top:10px}.selection-actions{display:grid;grid-template-columns:1fr}.selection-actions .btn{width:100%}.kv div{grid-template-columns:1fr;padding:9px 0}.kv dt{margin-bottom:3px}.kv dd{font-size:14px}.billing-actions,.billing-inline-form,.invoice-quick-form{display:grid;grid-template-columns:1fr;width:100%}.billing-actions form,.billing-actions .btn,.billing-inline-form label,.billing-inline-form input,.billing-inline-form .btn,.invoice-quick-form input,.invoice-quick-form .btn{width:100%}.message-body{font-size:15px;line-height:1.6}}\n
/* v0.2.7 workspace/template interfaccia */
.workspace-preset-row{display:flex;gap:8px;flex-wrap:wrap}.workspace-note{margin:14px 0 18px}.workspace-menu-list{display:grid;gap:8px}.workspace-menu-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:13px;padding:11px 12px;background:#fff}.workspace-check{display:flex;align-items:center;gap:11px;font-weight:800;min-width:0}.workspace-check input{width:20px;height:20px;accent-color:var(--red)}.workspace-order-actions{display:flex;gap:6px;flex:0 0 auto}.workspace-order-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:900;cursor:pointer}.workspace-order-btn:hover{background:var(--red-soft);color:var(--red)}.workspace-savebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.nav-item[hidden]{display:none!important}@media(max-width:640px){.workspace-preset-row{display:grid;grid-template-columns:1fr 1fr}.workspace-preset-row .btn{width:100%}.workspace-menu-row{padding:12px 10px}.workspace-savebar{display:grid;grid-template-columns:1fr}.workspace-savebar .btn{width:100%}}


/* OEFFE Assistant */
.assistant-fab-wrap{position:fixed;right:18px;bottom:82px;z-index:70}.assistant-fab{width:58px;height:58px;border-radius:50%;border:0;background:#d71920;color:#fff;font-size:25px;box-shadow:0 8px 28px rgba(0,0,0,.22);cursor:pointer}.assistant-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.34);opacity:0;pointer-events:none;transition:.2s;z-index:80}.assistant-backdrop.open{opacity:1;pointer-events:auto}.assistant-drawer{position:fixed;right:0;top:0;bottom:0;width:min(440px,100%);background:#fff;z-index:90;transform:translateX(105%);transition:.22s;display:flex;flex-direction:column;padding:16px;box-shadow:-10px 0 30px rgba(0,0,0,.15)}.assistant-drawer.open{transform:none}.assistant-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid #eee;padding-bottom:12px}.assistant-head strong{display:block;font-size:20px;margin-top:5px}.assistant-close{border:0;background:transparent;font-size:32px;line-height:1}.assistant-conversation{flex:1;overflow:auto;padding:14px 0;display:flex;flex-direction:column;gap:10px}.assistant-bubble{max-width:88%;padding:11px 13px;border-radius:15px;white-space:pre-wrap}.assistant-bot{background:#f2f3f5;align-self:flex-start}.assistant-user{background:#d71920;color:#fff;align-self:flex-end}.assistant-results{display:grid;gap:7px;max-height:210px;overflow:auto}.assistant-result{display:flex;flex-direction:column;padding:10px;border:1px solid #ddd;border-radius:11px;text-decoration:none;color:inherit}.assistant-result span{font-size:12px;color:#666;margin-top:2px}.assistant-command{display:grid;grid-template-columns:1fr auto auto;gap:7px;padding-top:10px}.assistant-command input{min-width:0;font-size:16px}.assistant-status{min-height:20px;font-size:13px;color:#666;margin:7px 0 0}.assistant-voice-row{display:flex;justify-content:space-between;gap:8px;align-items:end;border-top:1px solid #eee;padding-top:9px}.assistant-voice-row label{font-size:12px;display:grid;gap:3px}.assistant-voice-row select{max-width:180px}.assistant-page-card{max-width:680px}@media(max-width:520px){.assistant-command{grid-template-columns:1fr auto}.assistant-command input{grid-column:1/-1}.assistant-fab-wrap{bottom:76px;right:12px}.assistant-fab{width:54px;height:54px}.assistant-drawer{padding:12px}}

.assistant-preview{white-space:pre-wrap;max-height:190px;overflow:auto;background:#f6f6f7;border:1px solid #ddd;border-radius:10px;padding:10px;font:inherit;font-size:13px}

.email-action-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}

/* v0.2.8 complete field feedback */
.intervention-smart-actions{justify-content:flex-end;flex-wrap:wrap}.danger-outline{border-color:#e7b7ba!important;color:#b3161d!important;background:#fff!important}.danger-outline:hover{background:#fff0f1!important}.billing-f24-row{margin-top:14px}.billing-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:10px}.billing-grid label{display:grid;gap:6px;font-weight:800;font-size:13px}.billing-grid input,.billing-grid select{min-height:46px;border:1px solid #cfd6df;border-radius:11px;padding:10px 11px;font:inherit;background:#fff}.confirm-check{display:flex!important;align-items:flex-start;gap:10px;font-weight:700!important}.confirm-check input{width:20px;height:20px;accent-color:var(--red);flex:0 0 auto}.btn:disabled{opacity:.45;cursor:not-allowed}.danger-context{border-color:#edc1c4;background:#fff6f6}.ticket-card form{margin:0}.ticket-card .button-row{align-items:center}
@media(max-width:640px){.intervention-description-panel .panel-head{display:block}.intervention-smart-actions{display:grid;grid-template-columns:1fr;margin-top:12px}.intervention-smart-actions .btn{width:100%}.billing-grid{grid-template-columns:1fr}.ticket-card .button-row{display:grid;grid-template-columns:1fr 1fr}.ticket-card .button-row .btn,.ticket-card .button-row form,.ticket-card .button-row form .btn{width:100%}}


/* v0.2.9 - foto intervento */
.photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.photo-upload-form{margin:0}.photo-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}.photo-action-btn{cursor:pointer;user-select:none}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.photo-card-wrap{display:grid;gap:7px}.photo-card{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#eef1f4}.photo-card span{display:block;padding:8px 10px;font-size:11px;color:var(--muted)}.compact-empty{padding:16px}.inline-note{padding:11px 13px;border:1px solid var(--line);border-radius:11px;margin:10px 0}.success-note{background:#f0fbf4;border-color:#bfe8cf;color:#14773a}.error-note{background:#fff1f1;border-color:#f0b7ba;color:#a20f17}
@media(max-width:640px){.photo-actions{display:grid;grid-template-columns:1fr 1fr}.photo-action-btn{width:100%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.2.9 - archivio clienti pagina unica e gruppi amministratore */
.client-groupbar{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 14px}.client-group-chip{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "email count";align-items:center;gap:2px 10px;min-height:52px;min-width:155px;max-width:310px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:14px;text-decoration:none}.client-group-chip span{grid-area:label;font-weight:850;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-group-chip small{grid-area:email;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-group-chip strong{grid-area:count;display:grid;place-items:center;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:#eef2f6;font-size:12px}.client-group-chip.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);color:var(--red)}.client-group-chip.active small{color:#8b4650}.client-group-chip.private.active{border-color:#596579;color:#344054;box-shadow:inset 0 0 0 1px #596579}.client-email{overflow-wrap:anywhere;word-break:break-word}.client-list{content-visibility:auto}
@media(max-width:760px){.client-groupbar{display:grid;grid-template-columns:1fr 1fr}.client-group-chip{min-width:0;max-width:none;width:100%}}
@media(max-width:460px){.client-groupbar{grid-template-columns:1fr}.client-group-chip{min-height:48px}}

/* v0.2.9 - importazione Rubrica Fattura24 */
.import-upload-form{display:grid;gap:16px}.import-file-label{display:grid;gap:8px;font-weight:850}.import-file-label input{width:100%;border:1px dashed #c3cad4;border-radius:13px;padding:18px;background:#fafbfc;font:inherit}.import-file-label small{color:var(--muted);font-weight:500}.import-safety-panel{background:#fbfcfe}.import-safety-panel p{margin-bottom:0;color:var(--muted)}.import-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.import-summary-grid>div{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fbfcfd}.import-summary-grid strong{display:block;font-size:28px;color:var(--red)}.import-summary-grid span{display:block;margin-top:4px;font-size:12px;color:var(--muted);font-weight:750}.import-note{margin:14px 0 20px}.import-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.import-map-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:10px 12px}.import-map-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.import-map-grid b{color:var(--red)}.import-map-grid strong{font-size:12px}.import-ignored{font-size:12px;margin-top:12px}.import-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:13px}.import-table{width:100%;border-collapse:collapse;min-width:720px}.import-table th,.import-table td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top;font-size:13px}.import-table th{background:#f7f8fa;font-size:11px;text-transform:uppercase;color:var(--muted)}.import-table tr:last-child td{border-bottom:0}.import-table td strong,.import-table td small{display:block}.import-table td small{margin-top:4px;color:var(--muted)}.import-confirm-form{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
@media(max-width:700px){.import-summary-grid{grid-template-columns:1fr}.import-map-grid{grid-template-columns:1fr}.import-confirm-form{display:grid;grid-template-columns:1fr}.import-confirm-form .btn{width:100%}}

/* v0.2.9 allegati email */
.email-attachment-thumb{display:block;max-width:160px;max-height:110px;object-fit:cover;border-radius:9px;border:1px solid var(--line);margin-bottom:7px}

/* v0.2.9 mappa interattiva */
.map-controls{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.map-controls label{display:flex;gap:7px;align-items:center;font-weight:700}.map-controls label:has(select){flex-direction:column;align-items:flex-start}.map-controls select{border:1px solid #cfd6df;border-radius:10px;padding:9px}.map-shell{position:relative;padding:8px}.map-shell #oeffeMap{height:62vh;min-height:420px;border-radius:14px;z-index:1}.map-progress{position:absolute;left:18px;bottom:18px;z-index:500;background:#fff;padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:12px;box-shadow:0 3px 12px #0002}.map-shell.map-fullscreen{position:fixed;inset:8px;z-index:9999;margin:0;padding:8px}.map-shell.map-fullscreen #oeffeMap{height:calc(100vh - 16px)}
@media(max-width:760px){.map-shell #oeffeMap{height:68vh;min-height:380px}.map-controls>*{width:100%}.map-controls .btn{width:100%}}

/* v0.2.9 home personalizzabile */
.home-tools{display:flex;justify-content:flex-end;margin:10px 0}.home-customizer{border:1px solid #f0c5c5}.home-custom-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:14px 0}.home-custom-options label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;font-weight:700}
