:root{--navy:#142d47;--navy2:#204361;--gold:#d2a94d;--green:#167b5b;--red:#b94848;--paper:#f4f3ed;--line:#deded6;--text:#203040;--muted:#73808b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.45 Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,.button,.primary,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:var(--navy);color:#fff;padding:24px 16px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:12px;font-size:19px;margin:0 8px 28px}.brand i,.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-style:normal;font-weight:900}.sidebar nav{display:grid;gap:5px}.sidebar nav a{padding:11px 13px;border-radius:10px;color:#cbd7e1;display:flex;gap:12px}.sidebar nav a:hover,.sidebar nav a.active{background:#294963;color:#fff}.sidebar nav span{width:22px;text-align:center}.profile{margin-top:auto;padding:16px 10px 0;border-top:1px solid #ffffff22;display:grid}.profile small{color:#aebdca}.profile a{color:#e8c978;margin-top:9px}main{margin-left:230px;padding:0 34px 50px;max-width:1500px}header{height:104px;display:flex;align-items:center;justify-content:space-between}header small{color:var(--muted);text-transform:capitalize}h1,h2,p{margin-top:0}header h1{margin:3px 0 0;font-size:26px}.avatar{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}.hero{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;border-radius:18px;padding:28px 34px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.hero.compact{min-height:150px}.hero span,.panel-title small{color:#e5bf67;font-size:11px;font-weight:800;letter-spacing:.12em}.hero h2{font-size:30px;max-width:650px;margin:7px 0}.hero p{color:#c6d2dc;margin:0}.ring{--p:0;width:118px;height:118px;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),#ffffff22 0);display:grid;place-content:center;text-align:center;position:relative}.ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--navy)}.ring b,.ring small{position:relative}.ring b{font-size:24px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.kpis article,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 4px 20px #152f4610}.kpis small{display:block;color:var(--muted)}.kpis b{display:block;font-size:25px;margin-top:7px;color:var(--navy)}.panel{margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.panel-title h2{margin:3px 0}.panel-title p{margin:0;color:var(--muted)}.primary,.button,button{display:inline-flex;border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;cursor:pointer;align-items:center;justify-content:center}.primary{background:var(--navy);border-color:var(--navy);color:#fff}.customer-row,.activity,.report-row{display:grid;align-items:center;gap:15px;padding:14px 4px;border-top:1px solid #ecece6}.customer-row{grid-template-columns:42px minmax(180px,1fr) minmax(160px,.7fr) auto}.customer-row small,.activity small{display:block;color:var(--muted)}.mark{width:38px;height:38px;background:#e7eee9;color:var(--green);border-radius:10px;display:grid;place-items:center;text-transform:uppercase;font-weight:800}.badge{background:#edf0f2;padding:5px 9px;border-radius:99px;font-size:12px;width:max-content}.badge.visited{background:#dff2eb;color:var(--green)}.badge.missed,.badge.to_plan{background:#f7e6e3;color:var(--red)}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.toolbar form{display:flex;gap:8px}.toolbar input,.toolbar select{min-width:220px}.table-head,.table-row{display:grid;gap:12px;align-items:center;padding:12px;border-bottom:1px solid #e8e8e2}.table-head{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:700}.table-row small{display:block;color:var(--muted)}.plan-head{grid-template-columns:1.3fr .7fr .8fr .7fr .7fr}.visit-head{grid-template-columns:.8fr 1.2fr 1fr .8fr .8fr}.two-cols{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.detail-grid div{background:#f7f7f3;padding:12px;border-radius:10px}.detail-grid small,.detail-grid b{display:block}.note{background:#fff8e8;padding:14px;border-radius:10px}.back{display:inline-block;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.form-grid label,.login-card label{display:grid;gap:5px;font-weight:600}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea,.toolbar input,.toolbar select,.login-card input{border:1px solid #ccd1d2;border-radius:8px;padding:10px;background:#fff;width:100%}.form-grid textarea{min-height:90px;resize:vertical}.form-grid button{width:max-content}.check{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center}.check input{width:auto}.activity{grid-template-columns:minmax(160px,1fr) auto}.empty{padding:30px;text-align:center;color:var(--muted)}details{border-top:1px solid var(--line);padding-top:13px;margin-top:13px}summary{cursor:pointer;font-weight:700;color:var(--navy)}.message.important{border-left:4px solid var(--gold)}.message p{margin-bottom:0}.report-row{grid-template-columns:1fr repeat(3,.6fr)}#map{height:620px;border-radius:12px}.flash,.alert{padding:12px 15px;border-radius:9px;margin-bottom:15px}.flash,.success{background:#dff2eb;color:#116347}.error{background:#f8e4e2;color:#a33}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#31546d)}.login-card{width:min(420px,calc(100% - 32px));background:#fff;border-radius:18px;padding:34px;display:grid;gap:15px;box-shadow:0 20px 70px #0004}.login-card .brand-mark{margin:auto}.login-card h1,.login-card p{text-align:center;margin-bottom:0}.login-card p{color:var(--muted)}.login-card .primary{width:100%;padding:12px}.login-card>a{text-align:center;color:var(--navy)}
.category-pill{display:inline-flex;vertical-align:middle;margin-left:6px;padding:3px 8px;border-radius:99px;background:#e7eef5;color:#315d87;font-size:11px;font-weight:700}.category-pill.bar{background:#fff0d7;color:#8b5d08}.map-legend{display:flex;gap:16px}.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i,.crm-map-marker span{display:block;width:13px;height:13px;border-radius:50%;background:#2677b5;border:2px solid #fff;box-shadow:0 1px 5px #0006}.map-legend i.bar,.crm-map-marker.bar span{background:#e48613!important}.crm-map-marker{background:transparent;border:0}
.user-account{padding:12px 0;margin:0;border-top:1px solid var(--line)}.user-account summary{display:flex;justify-content:space-between;align-items:center;list-style:none}.user-account summary::-webkit-details-marker{display:none}.user-account summary span,.user-account summary small{display:block}.user-account summary small{color:var(--muted)}.user-account summary em{font-style:normal}.user-account .form-grid{padding:14px;background:#f7f7f3;border-radius:10px}.user-danger{display:flex;justify-content:flex-end;margin-top:10px}.danger-button{border-color:#e7b3af!important;color:#a73535!important;background:#fff5f4!important}
.plan-row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-row-actions form{margin:0}.release-button{border-color:#e1b86a!important;color:#7d560c!important;background:#fff9ec!important}
.agenda-list{display:grid;gap:12px}.appointment-card{display:grid;grid-template-columns:90px minmax(220px,1fr) minmax(170px,.55fr);gap:20px;align-items:start}.appointment-card.completed{opacity:.62}.appointment-card.completed h2{text-decoration:line-through}.appointment-time b,.appointment-time small{display:block}.appointment-time b{font-size:25px;color:var(--navy)}.appointment-main h2{margin:7px 0 2px}.appointment-main p{margin-bottom:6px}.appointment-main>div{display:flex;align-items:center;gap:8px}.appointment-actions{display:grid;gap:8px;justify-items:end}.appointment-actions details{width:100%;margin:0}.appointment-actions summary{text-align:right}.appointment-edit{position:relative;width:min(620px,75vw);margin-left:auto;background:#f7f7f3;padding:12px;border-radius:10px}.inline-actions{display:flex;gap:7px;justify-content:flex-end}.inline-actions form{margin:0}.crm-dialog{width:min(680px,calc(100% - 28px));border:0;border-radius:16px;padding:24px;box-shadow:0 20px 80px #0005}.crm-dialog::backdrop{background:#10243a99}.dialog-title{display:flex;align-items:center;justify-content:space-between}.dialog-title h2{margin:0}.dialog-title button{font-size:22px}.map-warning{display:flex;justify-content:space-between;align-items:center;gap:15px;background:#fff4dd;border:1px solid #ecd09d;border-radius:12px;padding:13px 16px;margin-bottom:15px}.utility-page{background:var(--paper)}.utility-main{margin:0 auto;padding:45px 18px;max-width:850px}.geocode-panel{padding:30px}.geocode-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.geocode-stats span{background:#f4f6f3;border-radius:10px;padding:15px}.geocode-stats b,.geocode-stats small{display:block}.geocode-stats b{font-size:25px}.progress-track{height:14px;background:#e4e6e2;border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;background:var(--green);transition:width .3s}.privacy-note{font-size:12px;color:var(--muted);margin-top:25px}
.board-search-form{display:flex;gap:8px;margin-bottom:12px}.board-search-form input{flex:1;border:1px solid #ccd1d2;border-radius:8px;padding:10px}.board-plan-results{display:grid;grid-template-columns:1fr 1fr;gap:8px}.board-plan-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;align-items:center;gap:10px;padding:12px;background:#f7f7f3;border-radius:10px}.board-plan-row small{display:block;color:var(--muted)}.board-plan-row form{margin:0}
.report-toolbar{align-items:flex-start}.report-toolbar form{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));width:100%}.report-toolbar input,.report-toolbar select{min-width:0}.export-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:-7px 0 18px}.export-actions span{color:var(--muted);margin-right:auto}.report-kpis{grid-template-columns:repeat(6,1fr)}.report-table,.territory-table{grid-template-columns:1.4fr repeat(3,.7fr)}.route-start{background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:800}.route-builder{display:block}.route-search{width:100%;border:1px solid #ccd1d2;border-radius:9px;padding:11px;margin-bottom:12px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;max-height:580px;overflow:auto}.route-choice{display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;gap:10px;align-items:center;background:#f7f7f3;border:1px solid #e5e5de;border-radius:10px;padding:12px;cursor:pointer}.route-choice:has(input:checked){border-color:var(--gold);background:#fff9e9}.route-choice small{display:block;color:var(--muted)}.route-choice strong{font-size:11px;color:var(--green)}.route-stops{display:grid;gap:8px;padding-left:32px}.route-stops li{padding:10px 12px;background:#f7f7f3;border-radius:9px}.route-stops b,.route-stops span{display:block}.route-stops span{color:var(--muted)}
.my-customer-head{grid-template-columns:1.25fr .8fr .55fr 1.4fr}.my-customer-head small{display:block;color:var(--muted)}.my-customer-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.my-customer-actions form{margin:0}.my-customer-actions details,.inline-schedule{margin:0;padding:0;border:0}.schedule-form,.claim-form{display:flex;gap:7px;align-items:center}.schedule-form input,.claim-form input{border:1px solid #ccd1d2;border-radius:8px;padding:8px;min-width:190px}.dashboard-mine-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-mine-grid article{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;gap:10px;align-items:center;background:#f7f7f3;border-radius:10px;padding:12px}.dashboard-mine-grid small{display:block;color:var(--muted)}.dashboard-mine-grid details{margin:0;padding:0;border:0}.agenda-quick-create summary{font-size:17px}.agenda-quick-create[open] summary{margin-bottom:12px}
.coverage-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px}.coverage-legend span{display:flex;align-items:center;gap:5px}.coverage-legend i{width:12px;height:12px;border-radius:3px}.coverage-high{background:#167b5b}.coverage-medium{background:#d2a94d}.coverage-low{background:#d56b4b}.coverage-none{background:#dfe3e6}.coverage-layout{display:grid;grid-template-columns:minmax(380px,1.2fr) minmax(300px,.8fr);gap:22px;align-items:stretch}#calabria-coverage-map{height:520px;border-radius:12px;background:#eef2f3}.coverage-ranking{display:grid;align-content:start;gap:8px}.coverage-ranking h3{margin:0 0 5px}.coverage-ranking a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;background:#f7f7f3;border:1px solid transparent;border-radius:10px}.coverage-ranking a:hover,.coverage-ranking a.active{border-color:var(--gold);background:#fff9e9}.coverage-ranking small{display:block;color:var(--muted)}.coverage-ranking strong{font-size:20px;color:var(--navy)}
.priority-board{display:none}.priority-head{grid-template-columns:1.45fr .75fr .65fr .65fr auto}.priority-head small{display:block;color:var(--muted)}.priority-page .board-search-form select{border:1px solid #ccd1d2;border-radius:8px;padding:10px;min-width:180px}.priority-page .table-row{border-left:5px solid transparent;padding-left:12px}.priority-critical{border-left-color:#b94848!important;background:#fff7f6}.priority-urgent{border-left-color:#e48613!important;background:#fffaf1}.priority-attention{border-left-color:#d2a94d!important;background:#fffdf5}.priority-regular{border-left-color:#167b5b!important}.urgency-pill{display:inline-flex;width:max-content;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800}.urgency-critical{background:#f8dfdc;color:#9e3030}.urgency-urgent{background:#fff0d7;color:#8b5d08}.urgency-attention{background:#fff8d7;color:#78640a}.urgency-regular{background:#dff2eb;color:#116347}
.priority-actions,.customer-top-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.priority-actions form,.customer-top-actions form{margin:0}.priority-actions .primary{padding:7px 10px;font-size:12px}.claim-customer-form{display:flex;gap:7px;align-items:center}.claim-customer-form input{border:1px solid #ccd1d2;border-radius:8px;padding:9px}
.order-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.8fr);gap:18px;align-items:start}.product-search-label{display:grid;gap:7px;font-weight:700}.product-search-label input{border:1px solid #ccd1d2;border-radius:10px;padding:12px}.product-results{display:grid;gap:8px;max-height:68vh;overflow:auto}.product-choice{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid #e3e5e2;border-radius:10px}.product-choice small{display:block;color:var(--muted)}.order-cart{position:sticky;top:18px}.order-cart label{display:grid;gap:6px;margin-top:14px;font-weight:700}.order-cart select,.order-cart textarea{border:1px solid #ccd1d2;border-radius:9px;padding:10px}.cart-row{display:grid;grid-template-columns:minmax(0,1fr) 68px 34px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #e4e5e2}.cart-row small{display:block;color:var(--muted)}.cart-row input{width:100%;padding:8px;border:1px solid #ccd1d2;border-radius:8px}.cart-total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:16px}.order-submit{width:100%;margin-top:14px}.order-created{text-align:center;padding:30px}.order-created h2{font-size:28px}
.customer-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#ebd4d1;background:#fffafa}.customer-danger-zone p{margin-bottom:0;color:var(--muted)}.customer-danger-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.customer-danger-actions form{margin:0}
.agent-order-selector{display:grid;grid-template-columns:auto minmax(260px,420px);gap:12px;align-items:center;margin:0 0 18px;font-weight:800}.agent-order-selector select{border:1px solid #ccd1d2;border-radius:9px;padding:11px;background:#fff}
.order-history-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.order-history-actions .button{padding:7px 10px;font-size:12px}
.operations-strip{display:grid;grid-template-columns:180px 1fr;gap:10px;margin-bottom:18px;background:#fff5e5;border:1px solid #ebc878;border-radius:14px;padding:14px}.operations-strip>div small{display:block;color:var(--muted)}.operations-strip article{display:grid;padding:9px 12px;background:#fff;border-radius:9px}.operations-strip article.error{border-left:4px solid var(--red)}.operations-strip article.warning{border-left:4px solid var(--gold)}.operations-strip article span{font-size:12px;color:var(--muted)}
.customer-timeline{display:grid;gap:0}.timeline-event{display:grid;grid-template-columns:130px 16px minmax(0,1fr);gap:12px;align-items:start;padding:13px 0;border-top:1px solid #ecece6}.timeline-event:before{content:"";grid-column:2;width:11px;height:11px;margin-top:5px;border-radius:50%;background:var(--navy)}.timeline-event.order:before{background:var(--green)}.timeline-event.appointment:before{background:var(--gold)}.timeline-event time{grid-column:1;color:var(--muted);font-size:12px}.timeline-event div{grid-column:3}.timeline-event small{display:block;color:var(--muted)}
.permission-grid{display:grid;margin:18px 0}.permission-head,.permission-row{display:grid;grid-template-columns:minmax(280px,1fr) 140px 140px;gap:18px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.permission-head{background:#f4f5f2;text-transform:uppercase;font-size:12px}.permission-row small{display:block;color:var(--muted)}.permission-row input{width:22px;height:22px;justify-self:center}
.product-choice.product-unavailable{background:#f4f4f2;opacity:.7}.product-choice.product-unavailable small{color:#a33;font-weight:700}.product-choice button:disabled{cursor:not-allowed;background:#eceeed;color:#8a9298}
.manual-agent-map{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end;margin-bottom:18px}.manual-agent-map label{display:grid;gap:6px;font-weight:800}.manual-agent-map input,.manual-agent-map select{border:1px solid #ccd1d2;border-radius:9px;padding:10px;background:#fff}.agent-map-head{grid-template-columns:1fr 1.5fr 90px auto}.agent-map-head small{display:block;color:var(--muted)}.agent-map-head form{margin:0}
@media(max-width:700px){.manual-agent-map,.agent-map-head{grid-template-columns:1fr}.manual-agent-map button{width:100%}}
.brand img{width:58px;height:58px;object-fit:contain;flex:0 0 auto}.brand b{line-height:1.05}.brand{gap:10px;margin-top:-7px;margin-bottom:20px}
.admin-edit-link{display:inline-flex!important;align-items:center;justify-content:center;padding:4px 8px!important;border-radius:7px;background:#fff8e8;color:#765310!important;border:1px solid #e6c36e;font-size:11px;font-weight:800;white-space:nowrap}.customer-edit-main{max-width:920px}.edit-brand-logo{width:76px;height:76px;object-fit:contain}.edit-customer-actions{display:flex;justify-content:flex-end;gap:8px}
@media(max-width:900px){.sidebar{position:static;width:auto;min-height:auto}.sidebar nav{display:flex;overflow:auto}.sidebar nav a{white-space:nowrap}.profile{display:none}main{margin:0;padding:0 16px 40px}.hero{padding:22px}.hero h2{font-size:24px}.kpis{grid-template-columns:1fr 1fr}.two-cols,.order-layout{grid-template-columns:1fr}.order-cart{position:static}.detail-grid{grid-template-columns:1fr 1fr}.table-head{display:none}.plan-head,.visit-head{grid-template-columns:1fr 1fr}.customer-row{grid-template-columns:40px 1fr}.customer-row>span{grid-column:2}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}#map{height:65vh}.appointment-card{grid-template-columns:70px 1fr}.appointment-actions{grid-column:2;justify-items:start}.appointment-edit{width:100%;margin:0}.board-plan-results{grid-template-columns:1fr}}@media(max-width:520px){.kpis{grid-template-columns:1fr}.ring{display:none}.hero{display:block}.detail-grid{grid-template-columns:1fr}.plan-head,.visit-head{grid-template-columns:1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar form,.toolbar input,.toolbar select{width:100%}.report-row{grid-template-columns:1fr 1fr}.appointment-card{grid-template-columns:1fr}.appointment-actions{grid-column:1}.map-warning{align-items:stretch;flex-direction:column}.geocode-stats{grid-template-columns:1fr}.board-search-form{flex-direction:column}.board-plan-row,.product-choice{grid-template-columns:1fr}.product-choice span{font-weight:800}}
@media(max-width:1100px){.report-toolbar form{grid-template-columns:repeat(3,1fr)}.report-kpis{grid-template-columns:repeat(3,1fr)}.my-customer-head{grid-template-columns:1fr 1fr}.priority-head{grid-template-columns:1.2fr .7fr .6fr .7fr}}@media(max-width:900px){.route-grid,.dashboard-mine-grid,.coverage-layout{grid-template-columns:1fr}.export-actions{flex-wrap:wrap}.report-toolbar form{grid-template-columns:1fr 1fr}#calabria-coverage-map{height:460px}.priority-head{grid-template-columns:1fr 1fr}.priority-actions{justify-content:flex-end}}@media(max-width:520px){.report-toolbar form{grid-template-columns:1fr}.export-actions{align-items:stretch;flex-direction:column}.export-actions span{margin:0}.report-kpis{grid-template-columns:1fr}.route-choice,.dashboard-mine-grid article{grid-template-columns:auto 1fr}.route-choice .category-pill,.route-choice strong{grid-column:2}.my-customer-head,.priority-head{grid-template-columns:1fr}.my-customer-actions,.priority-actions,.customer-top-actions{justify-content:flex-start}.schedule-form,.claim-form,.claim-customer-form{align-items:stretch;flex-direction:column}.schedule-form input,.claim-form input,.claim-customer-form input{min-width:0;width:100%}.coverage-layout{display:block}#calabria-coverage-map{height:400px;margin-bottom:16px}.coverage-legend{margin-top:10px}}
.wide-utility{max-width:1180px}.sync-actions,.sync-actions form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.sync-actions form:last-child{flex:1;justify-content:flex-end}.sync-actions label{display:flex;gap:8px;align-items:center}.sync-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}.sync-stats article{display:flex;flex-direction:column;gap:8px}.sync-stats strong{font-size:2rem}.sync-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-top:1px solid #e8edf2}.sync-row>div{display:flex;flex-direction:column;gap:5px;min-width:220px}.sync-row form{display:flex;gap:8px;align-items:center;flex:1;justify-content:flex-end}.sync-row select:first-of-type{min-width:280px}.sync-row em{color:#b42318;font-style:normal;font-size:.85rem}@media(max-width:800px){.sync-stats{grid-template-columns:repeat(2,1fr)}.sync-row,.sync-row form{align-items:stretch;flex-direction:column}.sync-row select:first-of-type{min-width:0;width:100%}}
.sync-row-tools{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;gap:8px;flex:1}.sync-row-tools form{flex:0 1 auto}@media(max-width:800px){.sync-row-tools{align-items:stretch!important;flex-direction:column!important;width:100%}}
.customer-association-search{min-width:190px}@media(max-width:800px){.customer-association-search{min-width:0;width:100%}}
.sidebar{overflow-y:auto}.sidebar nav{flex-shrink:0}.profile{flex-shrink:0}
.alert-center{display:grid;gap:10px}.alert-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:12px}.alert-card.error{border-left:5px solid var(--red);background:#fff8f7}.alert-card.warning{border-left:5px solid var(--gold);background:#fffaf0}.alert-card.info{border-left:5px solid #4b88bd}.alert-card h2{margin:2px 0 5px;font-size:17px}.alert-card p{margin:0 0 8px}.alert-symbol{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:900}
.report-chart-columns{grid-template-columns:1.25fr .75fr}.chart-legend{display:flex;gap:12px}.chart-legend span{display:flex;align-items:center;gap:5px;font-size:12px}.chart-legend i{width:10px;height:10px;border-radius:2px}.chart-legend .visits,.activity-chart .visits{background:var(--navy)}.chart-legend .orders,.activity-chart .orders{background:var(--gold)}.activity-chart{height:260px;display:flex;align-items:stretch;gap:8px;padding-top:12px;overflow-x:auto}.activity-column{min-width:38px;flex:1;display:grid;grid-template-rows:1fr auto;gap:6px;text-align:center}.activity-column .bars{display:flex;align-items:end;justify-content:center;gap:3px;border-bottom:1px solid var(--line)}.activity-column .bars i{display:block;width:11px;min-height:2px;border-radius:4px 4px 0 0}.activity-column small{font-size:10px;color:var(--muted)}.horizontal-chart{display:grid;gap:15px}.horizontal-chart>div{display:grid;grid-template-columns:140px 1fr 80px;gap:10px;align-items:center}.horizontal-chart span small{display:block;color:var(--muted)}.horizontal-chart i,.dormant-bars i{height:12px;background:#edf0f2;border-radius:99px;overflow:hidden}.horizontal-chart em,.dormant-bars em{height:100%;display:block;background:var(--green);border-radius:99px}.horizontal-chart strong{text-align:right}.dormant-bars{display:grid;gap:14px}.dormant-bars>div{display:grid;grid-template-columns:100px 1fr 60px;gap:14px;align-items:center}.dormant-bars em{background:var(--gold)}
@media(max-width:900px){.report-chart-columns{grid-template-columns:1fr}.permission-head,.permission-row{grid-template-columns:1fr 90px 90px}.alert-card{grid-template-columns:36px 1fr}.alert-card form,.alert-card>.badge{grid-column:2}.horizontal-chart>div{grid-template-columns:110px 1fr 70px}}
.order-admin-row{grid-template-columns:1.05fr 1.5fr 1fr .9fr .7fr auto;align-items:center}
.order-admin-row small{display:block;margin-top:4px;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-agent-form{display:flex;gap:6px;align-items:center}.order-agent-form select{min-width:160px;max-width:210px}.bulk-agent-select:has(option:checked:not([value=""])){border-color:#c99a42;background:#fff9ec}
@media(max-width:900px){.order-admin-row{grid-template-columns:1fr}.order-admin-row.table-head{display:none}}
.cron-url-box{display:flex;gap:10px;align-items:center}.cron-url-box input{flex:1;font-family:monospace;font-size:12px}.cron-url-box button{white-space:nowrap}
@media(max-width:700px){.cron-url-box{align-items:stretch;flex-direction:column}}
.comparison-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.comparison-grid article{padding:16px;border-radius:14px;background:#f5f7fa;border:1px solid #e3e8ef}.comparison-grid article small,.comparison-grid article span{display:block}.comparison-grid article b{display:block;font-size:25px;margin:6px 0}.comparison-grid article.positive b,.trend-up{color:#18845b}.comparison-grid article.negative b,.trend-down{color:#c14848}.comparison-grid article.neutral b{color:#667085}.advanced-customer-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid #edf0f4;color:inherit;text-decoration:none}.advanced-customer-row:hover{background:#faf8f2}.advanced-customer-row small{display:block;margin-top:3px}.advanced-customer-row .rank{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#173f69;color:#fff;font-weight:700}.advanced-customer-row strong{white-space:nowrap}.advanced-customer-columns>.panel{min-width:0}
@media(max-width:900px){.comparison-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.comparison-grid{grid-template-columns:1fr}}
.mobile-menu-toggle{display:none}
@media(max-width:900px){
body{font-size:14px;-webkit-text-size-adjust:100%}.sidebar{position:sticky;top:0;width:100%;min-height:0;padding:9px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;z-index:100;box-shadow:0 4px 18px #07192a33}.sidebar .brand{margin:0;min-width:0}.sidebar .brand img{width:42px;height:42px}.sidebar .brand b{font-size:16px}.mobile-menu-toggle{display:flex;background:#ffffff16;border-color:#ffffff33;color:#fff;gap:8px;min-height:42px;padding:8px 12px}.mobile-menu-toggle span{font-size:21px;line-height:1}.sidebar nav{display:none;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:6px;max-height:calc(100vh - 76px);overflow-y:auto;padding:10px 0 6px}.sidebar.mobile-open nav{display:grid}.sidebar nav a{white-space:normal;min-height:46px;align-items:center;padding:10px}.sidebar nav span{flex:0 0 22px}main{margin:0;padding:0 12px 32px;width:100%;overflow:hidden}header{height:76px}header h1{font-size:22px}.panel,.kpis article{padding:16px;border-radius:12px}.panel-title{align-items:flex-start;flex-direction:column;gap:8px}.panel-title>form,.panel-title>.inline-actions{width:100%}button,.button,.primary{min-height:44px}.inline-actions{justify-content:flex-start;flex-wrap:wrap}input,select,textarea{font-size:16px!important}.toolbar form{flex-wrap:wrap}.toolbar form>*{flex:1 1 180px}.toolbar button,.toolbar .button{min-width:110px}.activity{grid-template-columns:1fr}.activity>*:last-child{justify-self:start}.customer-danger-zone{align-items:flex-start;flex-direction:column}.customer-danger-actions{width:100%}.customer-danger-actions form,.customer-danger-actions button{width:100%}.order-admin-row{gap:8px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:10px}.order-agent-form,.order-agent-form select{width:100%;max-width:none}.advanced-customer-row{grid-template-columns:auto minmax(0,1fr) auto}.advanced-customer-row small{white-space:normal}.crm-dialog{max-height:92vh;overflow:auto;padding:16px}}
@media(max-width:560px){
.sidebar nav{grid-template-columns:1fr}.hero{padding:18px}.hero h2{font-size:22px}.kpis{grid-template-columns:1fr 1fr;gap:9px}.kpis article{padding:13px}.kpis b{font-size:21px}.form-grid button,.form-grid .primary{width:100%}.appointment-card{padding:14px}.appointment-time{display:flex;align-items:baseline;gap:8px}.appointment-time b{font-size:21px}.appointment-actions,.appointment-actions a,.appointment-actions details,.appointment-actions form,.appointment-actions button{width:100%}.export-actions .button{width:100%}.comparison-grid{grid-template-columns:1fr 1fr}.comparison-grid article{padding:12px}.comparison-grid article b{font-size:21px}#map,#calabria-coverage-map{height:58vh;min-height:360px}.sync-actions,.sync-actions form,.sync-actions button{width:100%}.sync-stats{gap:8px}.sync-stats article{padding:13px}.advanced-customer-row{grid-template-columns:auto minmax(0,1fr)}.advanced-customer-row>strong{grid-column:2}}
.system-health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.system-health-grid article{border-top:5px solid #98a2b3}.system-health-grid article.health-ok{border-top-color:var(--green)}.system-health-grid article.health-warning{border-top-color:var(--gold)}.system-health-grid article.health-error{border-top-color:var(--red)}.system-health-grid small,.system-health-grid span{display:block}.system-health-grid b{display:block;font-size:20px;margin:7px 0}.system-actions{display:flex;gap:8px;flex-wrap:wrap}.audit-row{display:grid;grid-template-columns:130px minmax(180px,1fr) 180px minmax(160px,.8fr);gap:12px;align-items:center;padding:13px 4px;border-top:1px solid var(--line)}.audit-row small{display:block;color:var(--muted)}.audit-row details{margin:0;padding:0;border:0}.audit-row pre{max-height:180px;overflow:auto;white-space:pre-wrap;background:#f5f6f4;padding:10px}.sync-error-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.sync-error-row div{display:grid;gap:4px}.sync-error-row small{color:var(--muted)}.sync-error-row em{color:var(--red);font-style:normal}.backup-check-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.backup-check-row small{display:block;color:var(--muted)}
@media(max-width:900px){.system-health-grid{grid-template-columns:1fr 1fr}.audit-row{grid-template-columns:1fr 1fr}.audit-row details{grid-column:1/-1}.sync-error-row{align-items:stretch;flex-direction:column}.sync-error-row button{width:100%}}@media(max-width:560px){.system-health-grid{grid-template-columns:1fr}.audit-row,.backup-check-row{grid-template-columns:1fr}.system-actions,.system-actions .button{width:100%}}
.assistant-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px;margin-bottom:16px;border-radius:18px;background:linear-gradient(125deg,#142d47,#24577b);color:#fff}.assistant-hero small{color:#e5bf67;font-weight:800;letter-spacing:.12em}.assistant-hero h2{font-size:30px;margin:5px 0}.assistant-hero p{margin:0;color:#d4e0e9}.assistant-month{text-align:right}.assistant-month b,.assistant-month span{display:block}.assistant-month b{font-size:28px}.assistant-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.assistant-summary article,.assistant-summary a{margin:0}.assistant-summary b,.assistant-summary span{display:block}.assistant-summary b{font-size:23px;color:var(--navy)}.assistant-route{background:#fff8e8;border-color:#e7c66c}.assistant-columns{grid-template-columns:1fr 1fr}.assistant-appointment,.assistant-reorder{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.assistant-appointment time{font-size:20px;font-weight:800;color:var(--navy)}.assistant-appointment small,.assistant-reorder small{display:block;color:var(--muted)}.assistant-appointment>div{display:flex;gap:8px}.assistant-priority-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assistant-priority-grid>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafaf7}.assistant-priority-grid small{display:block;color:var(--muted)}.assistant-score{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;font-weight:900}.assistant-actions{grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.assistant-actions form{margin:0}.assistant-actions a{font-size:12px;font-weight:700}.assistant-voice textarea{min-height:120px}
@media(max-width:900px){.assistant-summary{grid-template-columns:1fr 1fr}.assistant-columns,.assistant-priority-grid{grid-template-columns:1fr}}@media(max-width:560px){.assistant-hero{align-items:flex-start;flex-direction:column;padding:20px}.assistant-month{text-align:left}.assistant-summary{grid-template-columns:1fr 1fr}.assistant-appointment,.assistant-reorder{grid-template-columns:1fr}.assistant-appointment>div,.assistant-reorder .button{width:100%}.assistant-appointment>div a{flex:1}.assistant-actions,.assistant-actions form,.assistant-actions button{width:100%}}
.assistant-proposed-route{border:2px solid #e5c469;background:linear-gradient(180deg,#fffdf7,#fff)}.assistant-route-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.assistant-route-list article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;background:#f7f7f3;border-radius:11px}.assistant-route-list article>strong{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:17px}.assistant-route-list small{display:block;color:var(--muted)}.assistant-route-list em{font-size:11px;font-style:normal;font-weight:800;color:var(--green)}.assistant-route-form{display:flex;align-items:end;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.assistant-route-form label{display:grid;gap:5px;font-weight:700}.assistant-route-form input{border:1px solid #ccd1d2;border-radius:8px;padding:9px;background:#fff}.assistant-suggestion{display:block;margin:4px 0;color:var(--green);font-size:12px}
@media(max-width:700px){.assistant-route-list{grid-template-columns:1fr}.assistant-route-form{align-items:stretch;flex-direction:column}.assistant-route-form button{width:100%}}
.nav-unread{margin-left:auto;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#d85b4f;color:#fff;display:grid;place-items:center;font-size:11px}.board-unread-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:14px 17px;border-radius:12px;background:#fff2d8;border:1px solid #e4bd61;color:#6e4b08}.board-unread-alert span{font-size:13px}.message-unread{border:2px solid #dfb44e;background:#fffdf7}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.message-read-form{margin-top:16px}.read-receipts ul{display:grid;gap:6px;padding:0;list-style:none}.read-receipts li{display:flex;justify-content:space-between;gap:15px;padding:8px 10px;border-radius:8px;background:#f5f6f3}.read-receipts li span{color:var(--muted);font-size:12px}@media(max-width:560px){.board-unread-alert,.message-meta,.read-receipts li{align-items:flex-start;flex-direction:column}.message-read-form button{width:100%}}
.board-admin-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.board-admin-actions form{margin:0}.board-toolbar{padding:12px 0}@media(max-width:560px){.board-admin-actions{align-items:stretch;flex-direction:column}.board-admin-actions form,.board-admin-actions button{width:100%}}
.itinerary-settings .form-grid{grid-template-columns:repeat(3,1fr)}.itinerary-layout{grid-template-columns:1.2fr .8fr}.route-add{width:100%;text-align:left}.route-add:disabled{opacity:.45}.route-selected{display:grid;gap:8px}.route-selected article{display:grid;grid-template-columns:28px 52px minmax(0,1fr) 36px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7f7f3}.route-selected article.dragging{opacity:.45;border-color:var(--gold)}.route-selected time{font-weight:900;color:var(--navy)}.route-selected span b,.route-selected span small{display:block}.route-selected span small{color:var(--muted)}.route-handle{cursor:grab;font-size:20px;color:var(--muted)}.route-remove{padding:4px;width:32px;height:32px;font-size:20px;color:var(--red)}.itinerary-preview,.itinerary-save button{width:100%;margin-top:12px}.itinerary-save{border-top:1px solid var(--line);margin-top:14px;padding-top:3px}@media(max-width:900px){.itinerary-settings .form-grid,.itinerary-layout{grid-template-columns:1fr}}@media(max-width:560px){.route-selected article{grid-template-columns:24px 44px minmax(0,1fr) 32px}}
#itinerary-map{height:520px;border-radius:12px;background:#eef2f3}.itinerary-numbered-marker{background:transparent!important;border:0!important}.itinerary-numbered-marker span{display:grid;place-items:center;width:34px;height:34px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px #0007;color:#fff;font-weight:900;font-size:14px}@media(max-width:560px){#itinerary-map{height:420px}}
.route-add[hidden]{display:none!important}
.route-optimizer-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:10px;border-radius:10px;background:#fff8e8}.route-optimizer-actions span{color:var(--green);font-size:12px;font-weight:800}.priority-head>span small{display:block;color:var(--muted);margin-top:3px}@media(max-width:560px){.route-optimizer-actions button{flex:1 1 100%}}

/* Clienti nelle vicinanze */
.nearby-customers-panel{margin-top:20px}
.nearby-customers-list{display:grid;gap:12px}
.nearby-customer-card{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid #e7e7e7;border-radius:16px;background:#fff}
.nearby-distance{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border-radius:14px;background:#f5f7fb}
.nearby-distance b{font-size:20px;line-height:1}
.nearby-distance small{margin-top:5px}
.nearby-customer-main h3{margin:0 0 4px;font-size:17px}
.nearby-customer-main p{margin:0;color:#6d7280}
.nearby-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.nearby-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){
  .nearby-customer-card{grid-template-columns:60px minmax(0,1fr);padding:12px}
  .nearby-distance{min-height:58px}
  .nearby-actions{grid-column:1/-1;justify-content:stretch}
  .nearby-actions .button{flex:1;text-align:center}
}

/* Mini mappa e percorsi stradali dei clienti vicini */
.nearby-road-map{height:430px;border-radius:14px;background:#eef2f3;margin-bottom:10px;overflow:hidden}
.nearby-map-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0 4px;color:var(--muted);font-size:12px}
.nearby-map-legend span{display:flex;align-items:center;gap:6px}
.nearby-map-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}
.legend-origin{background:var(--navy)}.legend-critical{background:var(--red)}.legend-urgent{background:#e48613}.legend-attention{background:var(--gold)}.legend-regular{background:var(--green)}
.routing-status{margin:8px 0 14px;padding:9px 12px;border-radius:9px;background:#f4f6f8;color:var(--muted);font-size:12px}
.nearby-road-data{display:flex;gap:8px;align-items:baseline;margin-top:7px;color:var(--navy)}
.nearby-road-data b{font-size:16px}.nearby-road-data small{color:var(--muted)}
.crm-map-marker-wrap{background:transparent!important;border:0!important}
.crm-map-marker{display:grid;width:24px;height:24px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px #0006;background:var(--green)}
.crm-map-marker.origin{width:32px;height:32px;place-items:center;background:var(--navy);color:#fff;font-size:15px}
.crm-map-marker.critical{background:var(--red)}.crm-map-marker.urgent{background:#e48613}.crm-map-marker.attention{background:var(--gold)}.crm-map-marker.regular{background:var(--green)}
.map-popup-route{margin-top:8px;padding:6px 9px;border-radius:7px;background:var(--navy);border-color:var(--navy);color:#fff;font-size:12px}
.nearby-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){.nearby-road-map{height:360px}.nearby-map-legend{gap:9px}.nearby-distance small{text-align:center;font-size:10px}.nearby-road-data{align-items:flex-start;flex-direction:column;gap:0}}

/* Fase 1 operativa */
.hero-number{font-size:42px}.opportunity-head{grid-template-columns:1.4fr 1.2fr .9fr 1fr .8fr}.opportunity-list article>div small{display:block}.smart-route-builder .form-grid{align-items:end}.smart-route-builder select{width:100%}.visit-preparation{margin-top:18px}.prep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.prep-grid article{border:1px solid #e8e5df;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:5px}.prep-grid small,.prep-grid span{color:#6f6b65}.quick-visit-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}.quick-visit-form .wide,.quick-outcomes{grid-column:1/-1}.quick-outcomes{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.quick-outcomes input{position:absolute;opacity:0}.quick-outcomes span{display:block;text-align:center;border:1px solid #ddd4c7;border-radius:12px;padding:12px 8px;cursor:pointer;font-weight:700}.quick-outcomes input:checked+span{background:#172b4d;color:#fff;border-color:#172b4d}.supervisor-agent-head{grid-template-columns:1.4fr .6fr .6fr .8fr .9fr}.supervisor-kpis{grid-template-columns:repeat(4,1fr)}
@media(max-width:800px){.opportunity-head{grid-template-columns:1fr}.opportunity-head.table-head{display:none}.opportunity-head.table-row{gap:8px}.prep-grid{grid-template-columns:1fr 1fr}.quick-outcomes{grid-template-columns:1fr 1fr}.quick-visit-form{grid-template-columns:1fr}.supervisor-agent-head{grid-template-columns:1.2fr .6fr .6fr}.supervisor-agent-head>:nth-child(4),.supervisor-agent-head>:nth-child(5){display:none}.supervisor-kpis{grid-template-columns:1fr 1fr}}

.customer-counter-admin{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#cfe0ef;background:#f8fbff}.customer-counter-admin p{margin-bottom:0;color:var(--muted);max-width:760px}.customer-counter-copy{min-width:0}.customer-counter-actions{display:flex;align-items:flex-end;gap:10px;flex:0 0 auto}.customer-counter-actions form{margin:0}.manual-visit-date-form{display:flex;align-items:flex-end;gap:8px}.manual-visit-date-form label{display:grid;gap:5px;font-size:12px;font-weight:800;color:var(--muted)}.manual-visit-date-form input{min-width:158px;border:1px solid #ccd6df;border-radius:8px;padding:9px;background:#fff;color:var(--navy)}
@media(max-width:1050px){.customer-counter-admin{align-items:flex-start;flex-direction:column}.customer-counter-actions{width:100%;flex-wrap:wrap}.customer-counter-actions>form:last-child{margin-left:auto}}@media(max-width:620px){.customer-counter-actions,.manual-visit-date-form{align-items:stretch;flex-direction:column;width:100%}.customer-counter-actions form,.customer-counter-actions button,.manual-visit-date-form label,.manual-visit-date-form input{width:100%}.customer-counter-actions>form:last-child{margin-left:0}}

.stat-warning{border-left:4px solid #d97706!important}
.stat-muted{border-left:4px solid #64748b!important;opacity:.9}
.report-kpis article span,.supervisor-kpis article span{display:block;margin-top:4px;font-size:.78rem;color:var(--muted,#64748b)}
.stats-integrity-note{margin-top:14px}
.stats-integrity-note p{margin:6px 0 0;color:var(--muted,#64748b);line-height:1.45}
.badge.deleted{background:#e2e8f0;color:#334155}

/* Importazione anagrafiche e categorie clienti */
.category-pill.cmu-orzine{background:#ede9fe;color:#6d28d9}.category-pill.web{background:#e5e7eb;color:#374151}.category-pill.pino{background:#dcfce7;color:#087443}.category-pill.coffee-shop{background:#dbeafe;color:#1d5f96}
.map-legend{flex-wrap:wrap}.map-legend i.coffee-shop,.nearby-map-legend i.coffee-shop,.crm-map-marker.coffee-shop span{background:#2677B5!important}.map-legend i.cmu-orzine,.nearby-map-legend i.cmu-orzine,.crm-map-marker.cmu-orzine span{background:#7C3AED!important}.map-legend i.web,.nearby-map-legend i.web,.crm-map-marker.web span{background:#374151!important}.map-legend i.pino,.nearby-map-legend i.pino,.crm-map-marker.pino span{background:#168A52!important}.nearby-map-legend i.bar{background:#E48613!important}
.customer-import-main{max-width:1180px}.import-upload-form{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:22px 0}.import-upload-form label{flex:1;min-width:280px}.import-rules{padding:18px;border-radius:16px;background:#f7f9fc}.import-rules li{margin:7px 0}.import-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:20px 0}.import-kpis article{background:#f7f9fc;border:1px solid #e4eaf1;border-radius:15px;padding:14px}.import-kpis small{display:block;color:var(--muted)}.import-kpis b{font-size:26px}.import-confirm{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0}.import-confirm small{display:block;color:var(--muted)}.import-preview-table{overflow:auto;border:1px solid #e3e9ef;border-radius:16px}.import-preview-head,.import-preview-row{display:grid;grid-template-columns:90px minmax(220px,1.5fr) minmax(160px,.8fr) 100px minmax(220px,1fr);gap:12px;align-items:center;padding:12px 14px;min-width:920px}.import-preview-head{background:#153c5f;color:#fff;font-weight:700}.import-preview-row{border-top:1px solid #e8edf2}.import-preview-row small{display:block;color:var(--muted)}.import-preview-row.new{background:#f0fdf4}.import-preview-row.update{background:#fffbeb}.import-preview-row.error{background:#fff1f2}.alert.error{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
@media(max-width:800px){.import-kpis{grid-template-columns:repeat(2,1fr)}.import-confirm{align-items:stretch;flex-direction:column}.import-confirm .inline-actions{justify-content:flex-start}}
.category-fix-kpis{grid-template-columns:repeat(6,minmax(120px,1fr))}.category-fix-action{display:flex;justify-content:flex-end;margin:18px 0}.category-fix-head,.category-fix-row{display:grid;grid-template-columns:90px minmax(210px,1.4fr) minmax(190px,1fr) 145px 145px 75px;gap:12px;align-items:center;padding:12px 14px;min-width:980px}.category-fix-head{background:#153c5f;color:#fff;font-weight:700}.category-fix-row{border-top:1px solid #e8edf2}.category-fix-row small{color:var(--muted)}@media(max-width:700px){.category-fix-kpis{grid-template-columns:repeat(2,1fr)}}
/* Registro attività dettagliato */
.audit-toolbar form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.audit-toolbar label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.audit-toolbar select{min-width:160px}.audit-row{grid-template-columns:130px minmax(240px,1.25fr) minmax(180px,.8fr) minmax(220px,1fr)}.audit-details details{border:0;padding:0;margin:0}.audit-details summary{cursor:pointer;font-weight:700;color:var(--orange)}.audit-diff{display:grid;gap:8px;margin-top:10px}.audit-diff>div,.audit-detail-line{display:grid;grid-template-columns:minmax(130px,.65fr) 1.35fr;gap:10px;padding:8px 10px;background:#f7f7f4;border-radius:8px}.audit-diff del{color:#9b2c2c}.audit-diff ins{color:#176b3a;text-decoration:none;font-weight:700}.audit-tech{display:grid;gap:4px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.audit-tech small{overflow-wrap:anywhere}.audit-user small{line-height:1.35}
@media(max-width:900px){.audit-row{grid-template-columns:1fr 1fr}.audit-details{grid-column:1/-1}.audit-toolbar form{width:100%}.audit-toolbar input,.audit-toolbar select{width:100%}}
@media(max-width:560px){.audit-row{grid-template-columns:1fr}.audit-diff>div,.audit-detail-line{grid-template-columns:1fr}.audit-toolbar form>*{width:100%}}

/* ===== CRM Roadmap 2.0 · mobile-first ===== */
.sidebar nav{display:block;overflow:auto;padding-right:2px}.nav-group{border:0;margin:0 0 6px;padding:0}.nav-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;color:#9fb1c1;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;cursor:pointer}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary b{transition:transform .18s}.nav-group[open]>summary b{transform:rotate(180deg)}.nav-group-links{display:grid;gap:4px;padding-bottom:5px}.nav-group-links a{padding:10px 12px!important}.nav-group-links a em{font-style:normal;min-width:0;flex:1}.nav-unread{margin-left:auto;min-width:21px;height:21px;padding:0 6px;border-radius:99px;background:#d2a94d;color:#142d47;display:grid;place-items:center;font-size:11px}.notification-badge{background:#ef4444;color:#fff}
.hero-button{background:#fff;color:var(--navy);border-color:#ffffff55}.notification-count,.territorial-top,.score-scale{min-width:125px;text-align:center;background:#ffffff12;border:1px solid #ffffff22;border-radius:16px;padding:15px}.notification-count b,.territorial-top strong,.score-scale b{display:block;font-size:28px}.notification-count small,.territorial-top small,.score-scale small{color:#c6d2dc}.territorial-top b{display:block;margin:4px 0;max-width:200px}
.notification-list{display:grid;gap:12px}.notification-card{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:0}.notification-card.unread{border-left:4px solid var(--gold)}.notification-card.urgent{border-color:#f0b8b3}.notification-card.warning{border-color:#edd3a8}.notification-card h2{font-size:18px;margin:2px 0 3px}.notification-card p{margin:0;color:var(--muted)}.notification-dot{width:10px;height:10px;border-radius:50%;background:#64748b}.notification-card.urgent .notification-dot{background:#dc2626}.notification-card.warning .notification-dot{background:#d97706}.notification-card.info .notification-dot{background:#2563eb}.notification-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.notification-actions form{margin:0}
.priority-score-list{display:grid;gap:10px}.priority-score-card{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:14px}.priority-score-card.critical{border-left:5px solid #b42318}.priority-score-card.urgent{border-left:5px solid #d97706}.priority-score-card.attention{border-left:5px solid #d2a94d}.priority-score-card.regular{border-left:5px solid #167b5b}.priority-score-value{width:68px;height:68px;border-radius:50%;background:#f4f6f8;display:grid;place-content:center;text-align:center}.priority-score-value b{font-size:25px;line-height:1}.priority-score-value small{font-size:10px;color:var(--muted)}.priority-score-main h3{margin:0 0 3px}.priority-score-main p{margin:0;color:var(--muted)}.priority-reasons{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.priority-reasons span,.priority-mini-score{background:#eef2f6;border-radius:99px;padding:5px 8px;font-size:11px}.priority-score-actions{display:grid;gap:7px;justify-items:end}.priority-score-actions form{margin:0}.score-scale{color:#fff}
.customer-pro-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.customer-pro-strip article{background:#f7f8f6;border:1px solid var(--line);border-radius:12px;padding:14px}.customer-pro-strip small,.customer-pro-strip b,.customer-pro-strip span{display:block}.customer-pro-strip b{font-size:21px;margin:4px 0;color:var(--navy)}.customer-pro-strip span{font-size:12px;color:var(--muted)}.customer-score-card{background:#fff8e8!important}.customer-quick-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.quick-outcomes{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:7px;grid-column:1/-1}.quick-outcomes label{display:block!important}.quick-outcomes input{position:absolute;opacity:0;pointer-events:none}.quick-outcomes span{display:block;text-align:center;border:1px solid var(--line);border-radius:9px;padding:10px;background:#fff}.quick-outcomes input:checked+span{background:var(--navy);color:#fff;border-color:var(--navy)}
.priority-mini-score{display:inline-flex;gap:4px;background:#fff4dd;color:#7d560c}.nearby-meta{display:flex;gap:6px;flex-wrap:wrap}.nearby-actions{display:flex;flex-direction:column;gap:6px}
#territorial-map{height:620px;border-radius:12px}.territorial-toolbar form{display:flex;gap:8px;align-items:end}.territorial-toolbar label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.territorial-toolbar select{min-width:190px}.heat-legend{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.heat-legend i{width:110px;height:10px;border-radius:99px;background:linear-gradient(90deg,#167b5b,#d2a94d,#d97706,#b42318)}.territorial-zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.territorial-zone-grid article{border:1px solid var(--line);border-radius:12px;padding:14px}.territorial-zone-grid article>div{display:flex;justify-content:space-between;gap:10px}.territorial-zone-grid article>div b{font-size:20px;color:#b42318}.territorial-zone-grid p{color:var(--muted);margin:8px 0 12px}.territorial-map-panel{overflow:hidden}
.auto-route-list{display:grid;gap:8px;margin:12px 0 18px}.auto-route-list article{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.auto-route-list time{font-size:20px;font-weight:800;color:var(--navy)}.auto-route-list small{display:block;color:var(--muted)}
.supervisor-table-wrap{overflow:auto}.supervisor-v2-head{grid-template-columns:minmax(150px,1fr) repeat(7,minmax(85px,.55fr));min-width:920px}.text-danger{color:#b42318;font-weight:800}.supervisor-actions{display:grid;gap:8px;align-content:start}.supervisor-actions>a{display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;padding:12px}.supervisor-actions>a small{color:var(--muted)}.compact-kpis{grid-template-columns:repeat(4,1fr);margin-bottom:0}.sales-effort-report .panel-title strong{font-size:20px;color:var(--navy)}

@media(max-width:1100px){.territorial-zone-grid{grid-template-columns:repeat(2,1fr)}.customer-pro-strip{grid-template-columns:1fr 1fr}.priority-score-card{grid-template-columns:72px minmax(0,1fr)}.priority-score-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap}.compact-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.sidebar{width:min(88vw,340px);transform:translateX(-102%);transition:transform .2s;box-shadow:12px 0 40px #0003;padding:16px 12px}.sidebar.mobile-open{transform:translateX(0)}.brand{margin:0 6px 12px}.mobile-menu-toggle{display:flex!important}.sidebar nav{padding-bottom:12px}.nav-group>summary{min-height:42px;padding:10px 12px}.nav-group-links a{min-height:46px;align-items:center}.profile{margin-top:12px}main{margin-left:0;padding:74px 14px 36px}header{height:auto;min-height:72px}.hero{padding:20px;align-items:flex-start;gap:16px}.hero h2{font-size:24px}.notification-card{grid-template-columns:10px minmax(0,1fr)}.notification-actions{grid-column:2}.customer-pro-strip{grid-template-columns:1fr 1fr}.territorial-zone-grid{grid-template-columns:1fr}#territorial-map{height:520px}.territorial-toolbar{align-items:stretch;flex-direction:column}.territorial-toolbar form{width:100%;display:grid;grid-template-columns:1fr 1fr}.territorial-toolbar form button{grid-column:1/-1}.territorial-toolbar select{min-width:0}.quick-outcomes{grid-template-columns:repeat(2,1fr)}.nearby-actions{flex-direction:row;flex-wrap:wrap}.compact-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:600px){main{padding-left:10px;padding-right:10px}.hero{border-radius:14px;display:grid}.hero>.inline-actions{justify-content:flex-start;flex-wrap:wrap}.notification-count,.territorial-top,.score-scale{min-width:0;width:100%;text-align:left}.territorial-top strong,.notification-count b,.score-scale b{font-size:23px}.priority-score-card{grid-template-columns:56px minmax(0,1fr);padding:11px;gap:10px}.priority-score-value{width:52px;height:52px}.priority-score-value b{font-size:20px}.priority-score-actions{justify-content:stretch}.priority-score-actions>*{flex:1}.priority-score-actions .button,.priority-score-actions button{width:100%}.customer-pro-strip{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr 1fr}.quick-outcomes{grid-template-columns:1fr 1fr}.notification-toolbar{align-items:stretch;flex-direction:column}.notification-actions{display:grid;grid-template-columns:1fr 1fr}.notification-actions .button,.notification-actions button{width:100%}.notification-actions form:last-child{grid-column:1/-1}.auto-route-list article{grid-template-columns:54px minmax(0,1fr)}.auto-route-list article>span{grid-column:2}.territorial-toolbar form{grid-template-columns:1fr}.territorial-toolbar form button{grid-column:auto}#territorial-map{height:440px}.compact-kpis{grid-template-columns:1fr}.customer-quick-actions{display:grid;grid-template-columns:1fr 1fr}.customer-quick-actions .button{width:100%}}
/* Mobile navigation final override: top bar + grouped drawer, no off-screen sidebar */
@media(max-width:900px){.sidebar{position:sticky;inset:auto;top:0;width:100%;min-height:0;transform:none!important;padding:9px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;box-shadow:0 4px 18px #07192a33}.sidebar.mobile-open{transform:none!important}.sidebar .brand{margin:0;min-width:0}.sidebar nav{display:none;grid-column:1/-1;grid-template-columns:1fr;gap:5px;max-height:calc(100vh - 76px);overflow-y:auto;padding:10px 0 6px}.sidebar.mobile-open nav{display:grid}.nav-group{width:100%}.nav-group-links{grid-template-columns:1fr 1fr}.profile{display:none}main{margin:0;padding:0 12px 32px}.mobile-menu-toggle{display:flex!important}}
@media(max-width:520px){.nav-group-links{grid-template-columns:1fr}.nav-group-links a{min-height:48px}.nav-group>summary{min-height:44px}}

/* Urgenza reale nei suggerimenti entro 30 km */
.nearby-customer-card.nearby-urgency-critical{border-left:5px solid var(--red)}
.nearby-customer-card.nearby-urgency-urgent{border-left:5px solid #e48613}
.nearby-customer-card.nearby-urgency-attention{border-left:5px solid var(--gold)}
.nearby-customer-card.nearby-urgency-regular{border-left:5px solid var(--green)}
.nearby-urgency-critical .nearby-distance{background:#fff1ef}
.nearby-urgency-urgent .nearby-distance{background:#fff7e9}
.nearby-urgency-attention .nearby-distance{background:#fffbe9}
.nearby-urgency-regular .nearby-distance{background:#edf8f4}

/* CRM commerciale: briefing, riordini, rischio e preparazione visita PRO */
.daily-brief{border-left:4px solid var(--gold)}
.brief-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.brief-grid a,.day-recap-grid>div{background:#f7f8f6;border:1px solid var(--line);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:3px}
.brief-grid b,.day-recap-grid b{font-size:24px;color:var(--navy)}
.brief-grid span,.day-recap-grid span{font-size:12px;color:var(--muted)}
.day-recap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.reorder-list{display:grid;gap:10px}.reorder-card{display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:16px;align-items:center;border:1px solid var(--line);border-left:5px solid #d5ad45;border-radius:12px;padding:14px;background:#fff}.reorder-card.late{border-left-color:#b94848}.reorder-card h3{margin:3px 0}.reorder-card p{margin:0;color:var(--muted)}.reorder-when{display:flex;flex-direction:column}.reorder-when b{color:var(--navy)}.reorder-when small,.reorder-when span{color:var(--muted)}
.risk-list{display:grid;gap:10px}.risk-card{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px auto;gap:14px;align-items:center;border:1px solid var(--line);border-left:5px solid #d5ad45;border-radius:12px;padding:14px}.risk-card.dormant{border-left-color:#b94848}.risk-card.declining{border-left-color:#d17b32}.risk-card.watch{border-left-color:#d5ad45}.risk-card h3{margin:4px 0}.risk-card p{margin:0 0 4px;color:var(--muted)}.risk-card>div:not(:first-child){display:flex;flex-direction:column}.risk-card>div:not(:first-child) small,.risk-card>div:not(:first-child) span{color:var(--muted)}.risk-label{display:inline-flex;width:max-content;border-radius:99px;background:#f2eee5;padding:4px 8px;font-size:12px;font-weight:800}.risk-card.dormant .risk-label{background:#f8e4e2;color:#a33}.risk-card.declining .risk-label{background:#fff0df;color:#a35f1f}
.prep-pro .prep-grid{margin-bottom:12px}.lost-products{border-top:1px solid var(--line);padding-top:14px;margin-top:4px}.lost-products>small{color:var(--gold);font-weight:800;letter-spacing:.08em}.lost-products h3{margin:4px 0 9px}.lost-products>div{display:flex;gap:7px;flex-wrap:wrap}.lost-products>div span{background:#fff4dd;border:1px solid #ecd09d;border-radius:99px;padding:7px 10px;font-size:12px}.prep-action{margin-top:12px;background:#eef3f6;border-radius:10px;padding:11px 13px}
.loss-reason-list{display:grid;gap:10px}.loss-reason-list article>div{display:flex;justify-content:space-between;gap:12px}.loss-reason-list article i{display:block;height:8px;background:#e5e5df;border-radius:99px;overflow:hidden;margin-top:5px}.loss-reason-list article i:after{content:"";display:block;width:var(--w);height:100%;background:var(--navy)}
@media(max-width:900px){.brief-grid{grid-template-columns:repeat(2,1fr)}.brief-grid a:last-child{grid-column:1/-1}.day-recap-grid{grid-template-columns:repeat(2,1fr)}.day-recap-grid>div:last-child{grid-column:1/-1}.reorder-card,.risk-card{grid-template-columns:1fr 1fr}.reorder-card>div:first-child,.risk-card>div:first-child{grid-column:1/-1}.reorder-card .inline-actions,.risk-card>a{grid-column:1/-1}.risk-card>a{width:100%}}
@media(max-width:560px){.brief-grid,.day-recap-grid{grid-template-columns:1fr 1fr}.daily-brief .panel-title .primary{width:100%}.reorder-card,.risk-card{grid-template-columns:1fr}.reorder-card>div:first-child,.risk-card>div:first-child,.reorder-card .inline-actions,.risk-card>a{grid-column:auto}.reorder-card .inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.reorder-card .button,.risk-card>a{width:100%}.lost-products>div{display:grid}.lost-products>div span{border-radius:10px}.prep-action{font-size:14px}}

/* Supervisor 2.0: vista agente + fix pulsante Analisi territoriale */
.supervisor-hero .supervisor-territorial-btn{color:#000!important}
.supervisor-agent-form{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,.8fr) minmax(145px,.8fr) minmax(145px,.8fr) auto auto;gap:10px;align-items:end}
.supervisor-agent-form label{display:grid;gap:5px;font-weight:700;color:var(--navy)}
.supervisor-agent-form select,.supervisor-agent-form input{width:100%;border:1px solid #ccd1d2;border-radius:8px;padding:10px;background:#fff}
.agent-brief-grid,.agent-recap-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px}
.agent-brief-grid article,.agent-recap-grid article{background:#f7f7f3;border:1px solid var(--line);border-radius:11px;padding:13px}
.agent-brief-grid small,.agent-recap-grid small{display:block;color:var(--muted)}
.agent-brief-grid b,.agent-recap-grid b{display:block;font-size:22px;color:var(--navy);margin-top:4px}
.supervisor-agent-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.supervisor-agent-columns>div{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.supervisor-agent-columns h3{margin:0 0 8px;color:var(--navy)}
.agent-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px;border-top:1px solid #ecece6}
.agent-detail-row:first-of-type{border-top:0}
.agent-detail-row span{min-width:0}.agent-detail-row b,.agent-detail-row small{display:block}.agent-detail-row small{color:var(--muted);white-space:normal}.agent-detail-row em{font-style:normal;white-space:nowrap;color:var(--navy);font-weight:700}
@media(max-width:900px){.supervisor-agent-form{grid-template-columns:1fr 1fr}.supervisor-agent-form button,.supervisor-agent-form .button{width:100%}.agent-brief-grid,.agent-recap-grid{grid-template-columns:repeat(2,1fr)}.supervisor-agent-columns{grid-template-columns:1fr}}
@media(max-width:560px){.supervisor-agent-form{grid-template-columns:1fr}.agent-period-field{display:grid}.agent-brief-grid,.agent-recap-grid{grid-template-columns:1fr 1fr}.agent-detail-row{align-items:flex-start}.agent-detail-row em{font-size:12px}}
