@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#203632;background:#f4f7f6;font-size:16px;--green:#123c38;--accent:#cced9a;--line:#e1e8e5;--muted:#70807a}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h2{font-size:28px;letter-spacing:-1px;margin-bottom:10px}button{border:0}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d3ded8;border-radius:8px;background:#fff;color:#203632;min-height:46px}input:focus,select:focus,textarea:focus{outline:2px solid #85b696;outline-offset:2px}textarea{min-height:100px;resize:vertical}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500}label+label{margin-top:18px}.primary,.secondary{padding:12px 20px;border-radius:8px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:46px}.primary{background:var(--green);color:white}.primary:hover{background:#20554e}.secondary{background:#fff;color:var(--green);border:1px solid #d6e0db}.muted{color:var(--muted)}.overline,.eyebrow,.nav-label{font-size:12px;letter-spacing:1.8px;font-weight:700}.overline{color:#5b7d67}.login{display:grid;grid-template-columns:48% 52%;min-height:100vh}.login-brand{background:var(--green);color:white;padding:52px 64px;display:flex;flex-direction:column;justify-content:space-between}.logo{font-family:Manrope,sans-serif;font-size:46px;font-weight:800;letter-spacing:-5px;display:flex;align-items:center;gap:22px}.logo span{letter-spacing:3px;font-size:11px;font-weight:500;border-left:1px solid #ffffff50;padding-left:22px}.login-brand h1{font-size:clamp(36px,4vw,64px);line-height:1.18;letter-spacing:-2px;margin:22px 0}.login-brand em{font-style:normal;color:var(--accent)}.login-brand p:not(.eyebrow){color:#c2d4ce;line-height:1.8}.login-brand .eyebrow{color:var(--accent)}.login-brand small{color:#b5c9c2}.login-form{display:flex;align-items:center;justify-content:center;padding:36px}.login-box{width:100%;max-width:395px}.login-box h2{margin-top:18px}.login-box form{margin-top:36px}.login-box .primary{width:100%;margin-top:26px;justify-content:space-between}.text-button{background:none;color:#476a5e;font-size:14px;padding:18px 0}.access-note{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;line-height:1.8;color:#76827d}.access-note b{color:#4c6258}.sidebar{width:244px;background:var(--green);color:white;position:fixed;inset:0 auto 0 0;padding:30px 22px;display:flex;flex-direction:column}.sidebar .logo{font-size:40px;gap:18px;margin-bottom:56px}.sidebar .logo span{font-size:10px;padding-left:18px;letter-spacing:2px}.nav-label{color:#8daea4;font-size:11px;margin:0 12px 17px}.sidebar nav{display:grid;gap:8px}.nav-button{display:flex;align-items:center;text-align:left;gap:14px;background:transparent;color:#cbddd6;padding:14px 15px;border-radius:8px;font-size:15px}.nav-button.active{background:var(--accent);color:#1b3827;font-weight:700}.nav-icon{font-size:20px;width:24px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff26;padding-top:24px}.avatar{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#33574e;color:#def4c5;font-size:12px}.sidebar-bottom strong{display:block;font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.sidebar-bottom small{display:block;color:#97b4a8;font-size:12px;margin-top:4px}.sidebar-bottom button{margin-left:auto;color:white;background:transparent;font-size:23px}.workspace{margin-left:244px}.topbar{height:76px;padding:0 42px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#718178}.topbar b{color:#284539;font-weight:500}.slash{margin:0 16px;color:#c0cdc5}.date{font-size:13px}#content{max-width:1600px;margin:auto;padding:40px 42px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading h1{font-size:34px;letter-spacing:-1.4px;margin-bottom:8px}.page-heading p{margin:0;color:#748078;font-size:15px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.stat{padding:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.stat span{font-size:14px;color:#6e8075}.stat strong{display:block;font:700 34px Manrope;margin-top:12px;letter-spacing:-1px}.stat small{font-size:12px;font-weight:400;color:#7a8880;letter-spacing:0}.stat:first-child{background:#e9f1e4;border-color:#dce6d4}.panel{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-tools{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line);gap:18px}.panel-tools h3{font-size:17px;margin:0}.panel-tools select{max-width:245px;min-height:40px;font-size:14px;padding:9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#fafcfb;font-size:12px;text-transform:uppercase;letter-spacing:.7px;font-weight:500;color:#7a877f;padding:16px 24px}td{padding:20px 24px;border-top:1px solid #edf1ee;font-size:14px}td small{display:block;color:#869188;margin-top:4px;font-size:12px}.row-button{background:#eff4f1;color:#345c48;border-radius:7px;padding:8px 12px;font-size:13px}.badge{display:inline-block;padding:6px 11px;border-radius:6px;font-size:13px;font-weight:500;background:#e9f1e6;color:#497043}.badge.Critica{background:#fbe8e5;color:#a9352b}.badge.Da-gestire{background:#fff2c8;color:#846400}.badge.Gestita{background:#e1f1e4;color:#2e6b40}.empty{text-align:center;padding:72px 24px;color:#738176}.empty-symbol{display:grid;place-items:center;margin:0 auto 18px;background:#edf3ec;color:#517049;width:58px;height:58px;border-radius:16px;font-size:26px}.empty h3{color:#354f40;font-size:19px;margin-bottom:8px}.empty p{font-size:14px;line-height:1.6}.empty button{margin-top:12px}.subnote{font-size:12px;color:#839087;margin-top:16px}.company-strip{padding:17px 22px;background:#edf3e8;border:1px solid #dce7d3;border-radius:9px;margin-bottom:24px;font-size:14px;display:flex;justify-content:space-between;gap:15px}.company-strip span{color:#6a7b62}dialog{border:none;border-radius:16px;width:min(780px,calc(100% - 28px));max-height:90vh;padding:0;box-shadow:0 25px 90px #08231940;color:#203632}dialog::backdrop{background:#0d292a80;backdrop-filter:blur(3px)}.dialog-heading{padding:28px 30px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:24px;margin:8px 0 0}.icon-button{font-size:30px;background:none;color:#728478;align-self:flex-start}#fields{padding:26px 30px}.grid-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}.grid-form label{margin:0}.full{grid-column:1/-1}.form-section{font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:#789076;margin:6px 0 0;grid-column:1/-1}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks label{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:row;align-items:center;gap:10px;font-size:13px}.checks input{width:17px;height:17px;min-height:0;accent-color:var(--green)}.checks label:has(input:checked){background:#f0f5ea;border-color:#88aa77}.checks label span{margin-left:auto;white-space:nowrap;color:#7b8974}.total{display:flex;justify-content:space-between;align-items:center;border-radius:9px;background:#edf3e8;padding:18px;font-size:14px}.total b{font-size:23px}.dialog-footer{padding:20px 30px;background:#f8faf8;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:12px}#form-error{padding:0 30px;color:#a12c29;font-size:14px}#toast{position:fixed;bottom:24px;right:24px;padding:16px 24px;background:#173f32;color:white;border-radius:10px;box-shadow:0 8px 30px #0002;z-index:99;max-width:90vw}#login-message{font-size:14px;color:#9b392f}.notice{padding:18px;background:#fff3ce;border-radius:8px;line-height:1.6;color:#705819}a{color:#2d6851}button:focus-visible{outline:3px solid #94b97b;outline-offset:3px}@media(max-width:1000px){.sidebar{width:210px}.workspace{margin-left:210px}#content{padding:28px 24px}.topbar{padding:0 24px}.login-brand{padding:40px}.sidebar .logo span{display:none}.stats{gap:12px}.stat{padding:20px}}@media(max-width:700px){.login{grid-template-columns:1fr}.login-brand{padding:26px;gap:20px}.login-brand>div:nth-child(2),.login-brand>small{display:none}.login-form{padding:42px 26px}.sidebar{position:static;width:100%;padding:18px}.sidebar .logo{font-size:32px;margin:0 0 16px}.sidebar .logo span{display:block}.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow:auto}.nav-button{padding:10px 12px;white-space:nowrap;font-size:13px;gap:7px}.workspace{margin:0}.topbar{height:54px;padding:0 20px}.date{display:none}#content{padding:25px 18px}.page-heading{align-items:flex-start;gap:12px}.page-heading h1{font-size:28px}.page-heading .primary{font-size:13px;padding:11px 13px;white-space:nowrap}.stats{gap:8px;margin-bottom:22px}.stat{padding:15px 10px}.stat span{font-size:12px}.stat strong{font-size:27px}.stat small{display:none}.panel-tools{padding:18px;align-items:flex-start;flex-direction:column}.panel-tools select{max-width:100%}th,td{padding:16px}.grid-form{grid-template-columns:1fr}.full,.form-section{grid-column:auto}.checks{grid-template-columns:1fr}#fields{padding:22px}.dialog-heading{padding:22px}.company-strip{flex-direction:column;font-size:13px}}

.topbar-actions{display:flex;align-items:center;gap:20px}.mobile-logout{display:none}@media(max-width:700px){.mobile-logout{display:block}.topbar-actions{gap:14px}.topbar-actions .text-button{font-size:13px}}
.danger-button{background:#fbe8e5;color:#9b3029}.danger-button:hover{background:#f5d4d0}
.badge.Annullato{background:#fbe8e5;color:#a9352b}
.badge.Richiesto{background:#fff2c8;color:#846400}.badge.Confermato{background:#e4eef9;color:#285f93}.badge.Completato{background:#e1f1e4;color:#2e6b40}.appointment-status{min-width:145px;margin-top:9px;padding:7px 9px;min-height:36px;font-size:13px}.appointment-note{max-width:280px;white-space:normal;line-height:1.55}
.badge.Da-effettuare{background:#fff2c8;color:#846400}.badge.Consegnata{background:#e1f1e4;color:#2e6b40}.badge.Problema{background:#fbe8e5;color:#a9352b}.delivery-order{display:grid;gap:7px;padding:16px 18px;background:#edf3e8;border-radius:9px}.delivery-order span{color:#5f7467;font-size:14px}.delivery-readonly>p{white-space:pre-wrap;line-height:1.7;margin:18px 0}.delivery-photo-grid{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.delivery-photo-grid figure{width:150px;margin:0;display:grid;gap:6px}.delivery-photo-grid img{display:block;width:150px;height:115px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.delivery-photo-grid button{padding:7px;background:#fbe8e5;color:#8b3029;border-radius:5px;font-size:12px}@media(max-width:700px){.delivery-photo-grid figure,.delivery-photo-grid img{width:125px}.delivery-photo-grid img{height:100px}}
.report-toolbar{background:#fff;padding:22px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}.week-picker,.report-actions{display:flex;align-items:center;gap:12px}.week-picker label{font-size:13px}.report-toolbar p{flex-basis:100%;font-size:13px;color:#64766c;margin:0;line-height:1.6}.day-heading{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#edf3e8;border-top:1px solid var(--line);gap:12px}.day-heading h3{font-size:16px;margin:0;text-transform:capitalize}.day-heading span{font-size:13px;color:#64766c}@media(max-width:700px){.report-toolbar{padding:16px}.week-picker{flex-wrap:wrap;gap:8px}.report-actions{width:100%}.report-actions button{flex:1}.day-heading{padding:16px;align-items:flex-start}.day-heading h3{font-size:14px}}
.audit-details{background:#edf3e8;padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.8;color:#45614f}
.daily-chart{display:flex;gap:7px;padding:28px 24px 20px;overflow:auto;border-bottom:1px solid var(--line)}.chart-column{flex:1;min-width:17px;text-align:center;font-size:12px;color:#64766c}.chart-track{height:150px;display:flex;align-items:flex-end;background:#f5f8f3;border-radius:4px}.chart-bar{width:100%;background:#3c7059;border-radius:4px 4px 0 0;min-height:0}.chart-column span{display:block;margin-top:8px}.billing-day{border-top:1px solid var(--line)}.billing-day summary{display:grid;grid-template-columns:minmax(180px,1fr) 1fr auto;gap:15px;padding:17px 24px;cursor:pointer;align-items:center;font-size:14px}.billing-day summary:hover{background:#f5f8f3}.billing-day summary span:nth-child(2){color:#708078}.billing-day[open] summary{background:#edf3e8}.billing-day strong{font-size:17px}.empty-day{padding:14px 24px;margin:0;font-size:14px}@media(max-width:700px){.billing-day summary{padding:16px;grid-template-columns:1fr auto;gap:8px}.billing-day summary span:nth-child(2){grid-column:1;grid-row:2;font-size:12px}.billing-day summary strong{grid-column:2;grid-row:1/3}.daily-chart{gap:5px;padding:20px 16px}.chart-column{min-width:20px}}
.billing-quantities{margin:24px 0}.quantity-help{margin:16px 24px;line-height:1.6}
