.ts-page-shell{--ts-nav:#123f3a;--ts-nav2:#0b2f2b;--ts-accent:#df301f;--ts-accent-dark:#b72518;--ts-bg:#f3f7f8;--ts-card:#fff;--ts-ink:#19333a;--ts-muted:#64757b;--ts-line:#dbe5e8;width:100%;max-width:100%;margin:0 auto}.ts-page-shell,.ts-page-shell *,.ts-page-shell *::before,.ts-page-shell *::after{box-sizing:border-box}.ts-app{--ts-nav:#123f3a;--ts-nav2:#0b2f2b;--ts-accent:#df301f;--ts-accent-dark:#b72518;--ts-bg:#f3f7f8;--ts-card:#fff;--ts-ink:#19333a;--ts-muted:#64757b;--ts-line:#dbe5e8;display:grid;grid-template-columns:270px minmax(0,1fr);min-height:78vh;width:100%;max-width:100%;background:var(--ts-bg);color:var(--ts-ink);border:1px solid var(--ts-line);border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(25,51,58,.09);position:relative;font-family:inherit;line-height:1.5}.ts-app button,.ts-page-shell .ts-secondary-button,.ts-app input,.ts-app select,.ts-app textarea{font:inherit}.ts-alpha-banner{position:absolute;z-index:4;left:270px;right:0;top:0;background:#fff2cc;color:#493700;border-bottom:1px solid #e9c96c;padding:8px 16px;display:flex;gap:12px;flex-wrap:wrap;font-size:.9rem}.ts-sidebar{background:linear-gradient(180deg,var(--ts-nav),var(--ts-nav2));color:#fff;padding:20px 14px}.ts-brand{display:flex;align-items:center;gap:12px;padding:5px 8px 18px}.ts-brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:12px;padding:5px}.ts-brand strong,.ts-brand small,.ts-db small{display:block;color:inherit}.ts-brand small,.ts-db small{opacity:.75}.ts-user,.ts-db{margin:0 8px 10px;padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:10px;font-size:.86rem;color:#fff}.ts-nav{display:grid;gap:4px}.ts-nav button{border:0;background:transparent;color:rgba(255,255,255,.82);text-align:left;padding:9px 11px;border-radius:9px;cursor:pointer;width:100%;box-shadow:none}.ts-nav button:hover,.ts-nav button:focus-visible,.ts-nav button.is-active{background:rgba(255,255,255,.14);color:#fff;outline:none}.ts-nav button:focus-visible{box-shadow:0 0 0 2px #fff inset}.ts-main{min-width:0;padding:66px 24px 30px;overflow:hidden}.ts-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}.ts-header h1{margin:0;font-size:1.8rem;line-height:1.2;color:var(--ts-ink)}.ts-header p{margin:5px 0 0;color:var(--ts-muted)}.ts-chip{background:#dff4ec;color:#126b4d;padding:6px 10px;border-radius:999px;font-weight:700;font-size:.82rem;white-space:nowrap}.ts-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.ts-cards-five{grid-template-columns:repeat(5,minmax(0,1fr))}.ts-cards article,.ts-panel{background:var(--ts-card);border:1px solid var(--ts-line);border-radius:14px;padding:18px;min-width:0}.ts-cards span,.ts-cards small{display:block;color:var(--ts-muted)}.ts-cards strong{display:block;font-size:1.35rem;margin:5px 0;overflow-wrap:anywhere}.ts-grid-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.ts-panel h2{margin:0 0 10px;color:var(--ts-ink);font-size:1.25rem}.ts-panel p{margin:0 0 10px}.ts-placeholder{min-height:250px;border:2px dashed var(--ts-line);border-radius:14px;display:grid;place-items:center;text-align:center;color:var(--ts-muted);padding:20px}.ts-alert,.ts-embed-warning{border-radius:10px;padding:12px 14px;margin:0 0 16px}.ts-alert-danger,.ts-embed-warning{background:#fff0f0;color:#78221c;border:1px solid #e4a19c}.ts-runtime-diagnostics{margin:0 0 14px;border:1px solid #b8c7cd;background:#f8fbfc;border-radius:12px;padding:12px 14px;color:#203a42}.ts-runtime-diagnostics summary{cursor:pointer;font-weight:700}.ts-runtime-diagnostics p{margin:8px 0}.ts-runtime-diagnostics ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:8px 0 12px;padding-left:20px}.ts-runtime-diagnostics li[data-status="ok"]{color:#16623e}.ts-runtime-diagnostics li[data-status="warning"]{color:#795400}.ts-runtime-diagnostics li[data-status="error"]{color:#8a211b;font-weight:700}.ts-secondary-button{border:1px solid #56727b;background:#fff;color:#203a42;border-radius:8px;padding:8px 12px;cursor:pointer}.ts-copy-result{margin-left:10px;font-size:.9rem}.ts-is-hidden{display:none!important}.ts-panel-heading,.ts-editor-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ts-panel-heading{margin-bottom:16px}.ts-panel-heading h2,.ts-editor-heading h3{margin:0}.ts-panel-heading p{color:var(--ts-muted);margin:4px 0 0}.ts-primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:9px;padding:9px 14px;background:var(--ts-accent,#df301f);color:#fff!important;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap}.ts-primary-button:hover{background:var(--ts-accent-dark,#b72518);color:#fff}.ts-secondary-link{display:inline-flex;align-items:center;padding:8px 12px;color:var(--ts-ink);text-decoration:none}.ts-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:#f8fbfc;border:1px solid #cbdcdf;border-radius:13px;padding:16px;margin-bottom:18px}.ts-editor-heading{grid-column:1/-1;padding-bottom:10px;border-bottom:1px solid var(--ts-line)}.ts-editor-heading a{color:var(--ts-accent);font-weight:700}.ts-field{display:grid;gap:5px;min-width:0}.ts-field span,.ts-filterbar label span{font-size:.82rem;font-weight:700;color:#425b63}.ts-field input,.ts-field select,.ts-field textarea,.ts-filterbar input,.ts-filterbar select{width:100%;min-width:0;border:1px solid #b9cbd0;border-radius:8px;background:#fff;color:var(--ts-ink);padding:9px 10px;box-shadow:none}.ts-field textarea{resize:vertical}.ts-field input:focus,.ts-field select:focus,.ts-field textarea:focus,.ts-filterbar input:focus,.ts-filterbar select:focus{outline:2px solid rgba(18,63,58,.22);border-color:var(--ts-nav)}.ts-span-2{grid-column:span 2}.ts-span-4{grid-column:1/-1}.ts-check-grid{display:flex;gap:10px 18px;flex-wrap:wrap;padding:10px;border:1px solid var(--ts-line);border-radius:9px;background:#fff}.ts-check-grid label{display:flex;gap:6px;align-items:center;font-size:.9rem}.ts-check-grid input[type="checkbox"]{width:auto}.ts-form-actions{display:flex;gap:8px;align-items:center;padding-top:4px}.ts-filterbar{display:grid;grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(125px,1fr)) auto;gap:10px;align-items:end;background:#f6f9fa;border:1px solid var(--ts-line);border-radius:12px;padding:12px;margin-bottom:14px}.ts-filterbar label{display:grid;gap:4px;min-width:0}.ts-table-wrap{width:100%;overflow:auto;border:1px solid var(--ts-line);border-radius:11px}.ts-table{border-collapse:collapse;width:100%;min-width:850px;background:#fff;font-size:.9rem}.ts-table th,.ts-table td{padding:11px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--ts-line)}.ts-table th{background:#edf3f4;color:#304b52;font-size:.8rem;text-transform:uppercase;letter-spacing:.02em;position:sticky;top:0;z-index:1}.ts-table tbody tr:hover{background:#fbfdfd}.ts-table td strong,.ts-table td small{display:block}.ts-table td small{color:var(--ts-muted);margin-top:3px}.ts-empty{text-align:center!important;color:var(--ts-muted);padding:28px!important}.ts-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.78rem;font-weight:700}.ts-status-active{background:#dff4ec;color:#126b4d}.ts-status-archived{background:#e9ecef;color:#53636a}.ts-row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.ts-row-actions form{margin:0;display:inline}.ts-row-actions a,.ts-row-actions button{border:0;background:transparent;color:#125e70;padding:0;text-decoration:underline;cursor:pointer;font-size:.85rem}.ts-row-actions button.is-danger{color:#a3261b}.ts-mini-flags{display:flex;gap:4px;flex-wrap:wrap}.ts-mini-flags span{display:inline-flex;border-radius:6px;padding:3px 6px;background:#eaf1f3;color:#31545d;font-size:.72rem}.ts-table-note{margin:10px 0 0!important;color:var(--ts-muted);font-size:.82rem}body.ts-page-trasportosolidale #sp-main-body{padding-top:24px;padding-bottom:24px}body.ts-page-trasportosolidale.ts-layout-fullwidth #sp-main-body>.container,body.ts-page-trasportosolidale.ts-layout-fullwidth #sp-main-body>.container-fluid{width:100%;max-width:none;padding-left:16px;padding-right:16px}body.ts-page-trasportosolidale.ts-layout-fullwidth #sp-component{width:100%;max-width:100%;flex:0 0 100%}body.ts-page-trasportosolidale.ts-layout-fullwidth #sp-left,body.ts-page-trasportosolidale.ts-layout-fullwidth #sp-right{display:none!important}@media(max-width:1300px){.ts-cards-five{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-filterbar{grid-template-columns:repeat(3,minmax(0,1fr))}.ts-filterbar .ts-secondary-button{align-self:end}}@media(max-width:1100px){.ts-app{grid-template-columns:220px minmax(0,1fr)}.ts-alpha-banner{left:220px}.ts-cards,.ts-cards-five{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-runtime-diagnostics ul{grid-template-columns:1fr}.ts-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-span-4{grid-column:1/-1}.ts-filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.ts-app{display:block;border-radius:12px}.ts-alpha-banner{position:static}.ts-sidebar{padding:14px}.ts-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-main{padding:20px 14px}.ts-cards,.ts-cards-five,.ts-grid-two{grid-template-columns:1fr}.ts-header{display:block}.ts-chip{display:inline-block;margin-top:10px}.ts-editor{grid-template-columns:1fr}.ts-span-2,.ts-span-4{grid-column:1}.ts-panel-heading{align-items:center}.ts-filterbar{grid-template-columns:1fr}.ts-table{min-width:760px}}@media(max-width:480px){.ts-nav{grid-template-columns:1fr}.ts-runtime-diagnostics{padding:10px}.ts-main{padding:16px 10px}.ts-panel{padding:13px}.ts-panel-heading{display:block}.ts-panel-heading .ts-primary-button{margin-top:10px}.ts-editor{padding:12px}}
.ts-access-page{min-height:70vh;display:grid;place-items:center;padding:32px 16px}.ts-access-card{width:min(520px,100%);background:#fff;border:1px solid #dce5e9;border-radius:18px;padding:30px;box-shadow:0 18px 50px rgba(23,57,68,.12);text-align:center}.ts-access-card>img{max-width:150px;max-height:80px;object-fit:contain}.ts-access-card h1{margin:14px 0 8px}.ts-login-form{display:grid;gap:14px;text-align:left;margin:24px 0 12px}.ts-login-form label:not(.ts-remember){display:grid;gap:6px;font-weight:700}.ts-login-form input[type=text],.ts-login-form input[type=password]{width:100%;padding:12px;border:1px solid #bfcdd3;border-radius:9px}.ts-login-form .ts-primary-button{display:flex!important;width:100%;min-height:48px;margin-top:2px;background:#176b5a!important;color:#fff!important;border:0!important;border-radius:10px!important;font-size:1rem!important;font-weight:800!important;line-height:1.2!important;opacity:1!important;visibility:visible!important}.ts-login-form .ts-primary-button:hover,.ts-login-form .ts-primary-button:focus-visible{background:#0f584a!important;color:#fff!important;outline:3px solid rgba(23,107,90,.24);outline-offset:2px}.ts-remember{display:flex;align-items:center;gap:8px}.ts-access-links{margin:14px 0}.ts-choice-list{display:grid;gap:10px;text-align:left;margin:20px 0}.ts-choice-list label{display:flex;gap:10px;align-items:center;border:1px solid #dbe5e9;border-radius:10px;padding:12px}.ts-user small,.ts-context small{display:block}.ts-context{padding:12px;background:rgba(255,255,255,.08);border-radius:9px;margin:10px 0}.ts-context form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}.ts-context select,.ts-context button,.ts-logout button{min-height:34px;border-radius:7px}.ts-context button,.ts-logout button{border:0;padding:0 10px;cursor:pointer}.ts-logout{margin:8px 0}.ts-logout button{width:100%}.ts-assignment-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;border:1px solid #dbe5e9;border-radius:10px;padding:14px}.ts-assignment-box legend{font-weight:800;padding:0 6px}.ts-assignment-box label{display:flex;align-items:center;gap:8px}.ts-table td small{display:block;color:#687980;margin-top:3px}.ts-editor h3 small{font-weight:400;color:#6b7b82}@media(max-width:700px){.ts-access-card{padding:22px}.ts-context form{grid-template-columns:1fr}.ts-assignment-box{grid-template-columns:1fr}}

.ts-user-picker{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 18px;padding:14px;border:1px solid #d8dee7;border-radius:10px;background:#f8fafc}.ts-user-picker .ts-field{min-width:min(100%,360px);margin:0}.ts-user-picker .ts-primary-button{margin-bottom:1px}.ts-alert-warning{border-color:#e6b85c;background:#fff8e5;color:#684b12}

.ts-user-create{margin:0 0 18px;border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfc;overflow:hidden}.ts-user-create>summary{cursor:pointer;padding:13px 16px;font-weight:800;color:var(--ts-nav);background:#eef5f5}.ts-user-create[open]>summary{border-bottom:1px solid var(--ts-line)}.ts-user-create>.ts-editor{margin:0;border:0;border-radius:0}.ts-alert-info{background:#edf7fb;color:#174f61;border:1px solid #a9d5e2}.ts-field small{color:var(--ts-muted);font-size:.78rem}.ts-field strong{padding:9px 0}

.ts-account-box{grid-column:1/-1;border:1px solid #bfd1d5;border-radius:12px;padding:14px;background:#fff}.ts-account-box legend{font-weight:800;padding:0 6px;color:var(--ts-nav)}.ts-account-modes{display:flex;gap:10px 20px;flex-wrap:wrap;margin:4px 0 12px}.ts-account-modes label{display:flex;align-items:center;gap:6px}.ts-account-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border-radius:9px;background:#f4f8f9}.ts-account-panel>small{grid-column:1/-1;color:var(--ts-muted)}.ts-linked-account{padding:10px;border-radius:8px;background:#eaf5f1;margin-bottom:10px}.ts-linked-account small{display:block;color:var(--ts-muted)}.ts-delete-form{display:grid!important;gap:5px;padding:6px;border:1px solid #e6b8b3;border-radius:8px;background:#fff7f6}.ts-delete-account{display:flex;align-items:center;gap:5px;font-size:.76rem;color:#7b241c}.ts-delete-account input{width:auto}@media(max-width:760px){.ts-account-panel{grid-template-columns:1fr}}

.ts-account-help{display:block;margin:0 0 10px;color:var(--ts-muted)}.ts-account-panel{margin-top:10px;padding:12px;border:1px dashed var(--ts-line);border-radius:9px;background:#fbfdfd}.ts-account-panel.ts-is-hidden{display:none!important}

/* Alpha 6 CLEAN: servizi, accesso semplice e coda messaggi */
.ts-mobile-admin-box{margin:0 0 18px}.ts-mobile-admin-box h3{margin:0 0 6px;color:var(--ts-nav)}.ts-mobile-admin-box p{margin:0 0 10px}.ts-inline-admin-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:10px 0}.ts-inline-admin-form label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.ts-inline-admin-form input,.ts-inline-admin-form select,.ts-mobile-link-output{min-height:40px;border:1px solid #b9cbd0;border-radius:8px;background:#fff;padding:8px 10px}.ts-mobile-link-output{display:block;width:100%;margin:8px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem}.ts-grid-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.ts-grid-stats article{border:1px solid var(--ts-line);border-radius:11px;background:#f8fbfc;padding:12px}.ts-grid-stats span,.ts-grid-stats small{display:block;color:var(--ts-muted)}.ts-grid-stats strong{display:block;font-size:1.25rem;margin:4px 0}.ts-service-card-status{font-weight:800}.ts-registry-panel select option[hidden]{display:none}.ts-table .ts-status-service{background:#edf7fb;color:#174f61}@media(max-width:760px){.ts-grid-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-inline-admin-form{display:grid;grid-template-columns:1fr;width:100%}}@media(max-width:480px){.ts-grid-stats{grid-template-columns:1fr}}

[data-ts-vehicle-compatibility][data-status=ok]{font-weight:700;}
[data-ts-vehicle-compatibility][data-status=error]{font-weight:700;}

/* Alpha 6 CLEAN.6: configurazione telefono tramite QR Code locale (nessun servizio esterno) */
.ts-phone-config-card{border:2px solid #a9d6cb;background:#f0fbf8}.ts-phone-config-card>strong{display:block;font-size:1.15rem;margin-bottom:6px}.ts-phone-config-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:20px;align-items:center;margin:14px 0}.ts-qr-panel{display:grid;justify-items:center;gap:8px;text-align:center}.ts-qr-code{width:min(280px,100%);aspect-ratio:1/1;background:#fff;border:1px solid #c9d8dc;border-radius:12px;padding:10px;display:grid;place-items:center}.ts-qr-code svg{display:block;width:100%;height:100%;max-width:260px;max-height:260px}.ts-qr-code[data-status="error"]{aspect-ratio:auto;min-height:100px;padding:20px;color:#8a211b;font-weight:700}.ts-phone-config-actions{display:grid;gap:12px;justify-items:start}.ts-phone-config-actions p{margin:0}.ts-phone-config-actions details{width:100%;max-width:620px}.ts-phone-config-launch{padding:12px;border:1px dashed #79aa9f;border-radius:10px;background:#f5fbf9}.ts-phone-config-launch small{display:block;max-width:580px}@media(max-width:760px){.ts-phone-config-grid{grid-template-columns:1fr}.ts-phone-config-actions{justify-items:stretch}.ts-phone-config-actions .ts-primary-button{width:100%}}

/* Alpha 6.11 — servizi TEST / cancellazione multipla */
.ts-select-col{width:84px;white-space:nowrap;text-align:center}.ts-select-col input[type=checkbox]{transform:scale(1.15)}#ts-service-bulk-delete{margin:12px 0;align-items:center;gap:12px;flex-wrap:wrap}#ts-service-bulk-delete small{max-width:760px}.ts-table td strong+small{display:block}
.ts-alert-warning{background:#fff8dd;color:#6a5310;border:1px solid #e8d080}

/* Alpha 6.16.4 — Report e rendicontazioni / stampa professionale */
.ts-report-heading{align-items:flex-start}.ts-report-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ts-report-actions form{margin:0}.ts-report-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0 18px;padding:14px;border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfc}.ts-report-filter label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.ts-report-filter input,.ts-report-filter select{min-height:40px;border:1px solid #b9cbd0;border-radius:8px;background:#fff;padding:7px 9px;width:100%}.ts-report-group-by{border:2px solid #7aa7a0;border-radius:10px;background:#eef8f5;padding:8px 10px;margin:0;min-width:0}.ts-report-group-by legend{padding:0 5px;color:#123f3a;font-size:.82rem;font-weight:800}.ts-report-group-options{display:flex;gap:6px;flex-wrap:wrap}.ts-report-group-options label{display:block!important;position:relative;cursor:pointer}.ts-report-group-options input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important}.ts-report-group-options span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 10px;border:1px solid #9bbab5;border-radius:8px;background:#fff;color:#123f3a!important;font-size:.82rem!important;font-weight:800}.ts-report-group-options input:checked+span{background:#123f3a;color:#fff!important;border-color:#123f3a}.ts-report-group-options input:focus-visible+span{outline:2px solid #df301f;outline-offset:2px}.ts-report-group-by small{display:block;color:#607078;font-size:.72rem;font-weight:400;margin-top:5px}.ts-report-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.ts-report-filter-actions .ts-secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:40px}.ts-report-screen-title{margin:4px 0 12px}.ts-report-screen-title h3{margin:0 0 3px;color:var(--ts-nav)}.ts-report-screen-title p{margin:0;color:var(--ts-muted);font-size:.82rem}.ts-report-stats{margin-top:8px}.ts-report-table-wrap{margin-top:12px}.ts-report-table{min-width:980px}.ts-report-table th{white-space:nowrap}.ts-report-table td{vertical-align:top}.ts-report-table td strong{white-space:nowrap}.ts-print-only{display:none!important}.ts-report-document-meta{gap:5px;flex-wrap:wrap}.ts-report-document-meta span{border:1px solid #cfdadd;border-radius:999px;padding:3px 7px;font-size:.74rem}.ts-report-document-footer{justify-content:space-between;gap:16px;margin-top:10px;padding-top:7px;border-top:1px solid #cfdadd;color:#607078;font-size:.72rem}.ts-report-type-vehicle_usage{min-width:900px}.ts-report-type-vehicle_usage>thead>tr>th{white-space:normal}.ts-report-type-vehicle_usage>tbody>tr>td{padding:0!important}.ts-vehicle-usage-day{padding:12px;background:#fff}.ts-vehicle-usage-missing{background:#fffdf4}.ts-vehicle-usage-head{display:grid;grid-template-columns:.8fr 1.15fr 1.35fr .55fr 1.4fr;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--ts-line)}.ts-vehicle-usage-head>div{min-width:0}.ts-vehicle-usage-head span,.ts-vehicle-usage-km span{display:block;color:var(--ts-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.ts-vehicle-usage-head strong{display:block;margin-top:2px}.ts-vehicle-usage-head small{display:block;color:var(--ts-muted);margin-top:2px}.ts-vehicle-usage-km{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:9px 0}.ts-vehicle-usage-km article{border:1px solid var(--ts-line);border-radius:8px;background:#f8fbfc;padding:7px 8px}.ts-vehicle-usage-km strong{display:block;margin-top:2px;font-size:1rem}.ts-vehicle-usage-warning{margin:8px 0;padding:8px 10px;border:1px solid #e2c967;border-radius:8px;background:#fff8dd;color:#6a5310;font-size:.8rem}.ts-vehicle-usage-services>strong{display:block;margin:8px 0 5px}.ts-usage-services-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.8rem}.ts-usage-services-table th,.ts-usage-services-table td{padding:6px 6px;border:1px solid var(--ts-line);text-align:left;vertical-align:top}.ts-usage-services-table th{background:#edf3f4;color:#304b52;font-size:.7rem;text-transform:uppercase;position:static}.ts-usage-services-table td small{display:block;color:var(--ts-muted);margin-top:2px}.ts-usage-services-table th:nth-child(1){width:6%}.ts-usage-services-table th:nth-child(2){width:7%}.ts-usage-services-table th:nth-child(3){width:13%}.ts-usage-services-table th:nth-child(4){width:39%}.ts-usage-services-table th:nth-child(5){width:9%}.ts-usage-services-table th:nth-child(6){width:10%}.ts-usage-services-table th:nth-child(7){width:7%}.ts-usage-services-table th:nth-child(8){width:9%}@media(max-width:1100px){.ts-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.ts-report-filter{grid-template-columns:1fr}.ts-report-actions{margin-top:10px}}
/* Fallback per Ctrl+P: il pulsante Stampa usa una finestra documento dedicata, che evita pagine vuote del template Joomla. */
@media print{
  @page{size:A4 landscape;margin:5mm}
  .ts-no-print,.ts-sidebar,.ts-alpha-banner,.ts-header,.ts-table-note,.ts-runtime-diagnostics,.ts-embed-warning{display:none!important}
  .ts-page-shell,.ts-app,.ts-main,.ts-view,.ts-report-panel{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
  .ts-main>.ts-view:not([data-ts-panel="report"]){display:none!important}
  .ts-report-print-root{display:block!important}.ts-print-only{display:flex!important}
  .ts-report-document-header{align-items:center;gap:10px;border-bottom:2px solid #173f3a;padding-bottom:7px;margin-bottom:6px}.ts-report-document-header img{width:48px;height:48px;object-fit:contain}.ts-report-document-title{flex:1}.ts-report-document-title span,.ts-report-document-generated span{display:block;font-size:7.5pt;color:#607078;text-transform:uppercase;letter-spacing:.08em}.ts-report-document-title h1{margin:0;color:#173f3a;font-size:15pt;line-height:1.15}.ts-report-document-title strong{font-size:9pt}.ts-report-document-generated{text-align:right;font-size:8pt}.ts-report-document-meta{display:flex!important;margin:0 0 6px}.ts-report-document-meta span{font-size:7pt}
  .ts-report-stats{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin:0 0 6px!important;break-inside:avoid;page-break-inside:avoid}.ts-report-stats article{padding:5px 7px!important;border:1px solid #c6d0d3!important;border-radius:4px!important;background:#fff!important}.ts-report-stats span,.ts-report-stats small{font-size:7pt!important}.ts-report-stats strong{font-size:11pt!important;margin:1px 0!important}
  .ts-report-table-wrap{overflow:visible!important;border:0!important;border-radius:0!important;margin-top:0!important}.ts-report-table{min-width:0!important;width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:7.5pt!important;line-height:1.25!important}.ts-report-table thead{display:table-header-group!important}.ts-report-table tfoot{display:table-footer-group!important}.ts-report-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.ts-report-table th,.ts-report-table td{padding:3.5px 4px!important;border:1px solid #aebdc1!important;overflow-wrap:anywhere!important;word-break:normal!important}.ts-report-table th{position:static!important;background:#eaf1f2!important;color:#243f46!important;font-size:6.8pt!important}.ts-report-table td strong{white-space:normal!important}.ts-report-table td small{margin-top:1px!important;color:#52666d!important}.ts-report-table tbody tr:hover{background:#fff!important}.ts-mini-flags{gap:2px!important}.ts-mini-flags span{padding:1px 3px!important;background:#edf2f3!important;font-size:6.5pt!important}
  .ts-report-type-services th:nth-child(1){width:10%}.ts-report-type-services th:nth-child(2){width:11%}.ts-report-type-services th:nth-child(3){width:24%}.ts-report-type-services th:nth-child(4){width:20%}.ts-report-type-services th:nth-child(5){width:8%}.ts-report-type-services th:nth-child(6){width:21%}.ts-report-type-services th:nth-child(7){width:6%}.ts-report-type-services.ts-report-global-associations th:nth-child(1){width:9%}.ts-report-type-services.ts-report-global-associations th:nth-child(2){width:10%}.ts-report-type-services.ts-report-global-associations th:nth-child(3){width:10%}.ts-report-type-services.ts-report-global-associations th:nth-child(4){width:21%}.ts-report-type-services.ts-report-global-associations th:nth-child(5){width:18%}.ts-report-type-services.ts-report-global-associations th:nth-child(6){width:7%}.ts-report-type-services.ts-report-global-associations th:nth-child(7){width:19%}.ts-report-type-services.ts-report-global-associations th:nth-child(8){width:6%}.ts-report-type-vehicle_usage.ts-report-global-associations{font-size:6.8pt}.ts-report-type-vehicles{font-size:6.8pt}.ts-report-type-vehicles th:nth-child(1){width:13%}.ts-report-type-vehicles th:nth-child(2){width:12%}.ts-report-type-vehicles th:nth-child(3){width:10%}.ts-report-type-vehicles th:nth-child(4){width:17%}.ts-report-type-vehicles th:nth-child(5){width:11%}.ts-report-type-vehicles th:nth-child(6){width:14%}.ts-report-type-vehicles th:nth-child(7){width:13%;white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important}.ts-report-type-vehicles th:nth-child(8){width:10%}.ts-report-vehicle-equipment,.ts-report-vehicle-expiry{display:block}.ts-report-type-vehicles td:nth-child(4) small,.ts-report-type-vehicles td:nth-child(6) small{margin-top:1px!important}.ts-report-vehicle-odometer{white-space:nowrap!important}.ts-report-type-vehicle_usage>tbody>tr{break-inside:auto!important;page-break-inside:auto!important}.ts-report-type-vehicle_usage>tbody>tr>td{padding:0!important}.ts-vehicle-usage-day{padding:5px!important}.ts-vehicle-usage-head{display:grid!important;grid-template-columns:.8fr 1.15fr 1.35fr .55fr 1.4fr!important;gap:5px!important;padding-bottom:4px!important;border-bottom:1px solid #c7d3d6!important}.ts-vehicle-usage-head span,.ts-vehicle-usage-km span{display:block!important;color:#607078!important;font-size:6.2pt!important;font-weight:700!important;text-transform:uppercase}.ts-vehicle-usage-head strong{display:block!important;font-size:7.4pt!important;margin-top:1px!important}.ts-vehicle-usage-head small{display:block!important;font-size:6.2pt!important;color:#607078!important}.ts-vehicle-usage-km{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:4px!important;margin:4px 0!important}.ts-vehicle-usage-km article{border:1px solid #c7d3d6!important;border-radius:3px!important;background:#f8fbfb!important;padding:3px 4px!important}.ts-vehicle-usage-km strong{display:block!important;font-size:8pt!important;margin-top:1px!important}.ts-vehicle-usage-warning{margin:4px 0!important;padding:4px 5px!important;border:1px solid #d9bf57!important;border-radius:3px!important;background:#fff8dd!important;color:#6a5310!important;font-size:6.5pt!important}.ts-vehicle-usage-services>strong{display:block!important;margin:4px 0 3px!important;font-size:7pt!important}.ts-usage-services-table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important;font-size:6.4pt!important;line-height:1.18!important}.ts-usage-services-table thead{display:table-header-group!important}.ts-usage-services-table tr{break-inside:avoid!important;page-break-inside:avoid!important}.ts-usage-services-table th,.ts-usage-services-table td{padding:2.8px 3px!important;border:1px solid #b9c6c9!important;text-align:left!important;vertical-align:top!important;overflow-wrap:anywhere!important}.ts-usage-services-table th{background:#edf3f4!important;color:#304b52!important;font-size:5.9pt!important;text-transform:uppercase!important}.ts-usage-services-table td small{display:block!important;color:#607078!important;margin-top:1px!important}.ts-usage-services-table th:nth-child(1){width:6%}.ts-usage-services-table th:nth-child(2){width:7%}.ts-usage-services-table th:nth-child(3){width:13%}.ts-usage-services-table th:nth-child(4){width:39%}.ts-usage-services-table th:nth-child(5){width:9%}.ts-usage-services-table th:nth-child(6){width:10%}.ts-usage-services-table th:nth-child(7){width:7%}.ts-usage-services-table th:nth-child(8){width:9%}
  .ts-report-document-footer{display:flex!important;break-inside:avoid;page-break-inside:avoid}
}

.ts-report-no-needs{color:#53666d;font-size:.92em;}

.ts-report-type-associations{font-size:6.35pt}.ts-report-type-associations th:nth-child(1){width:12%}.ts-report-type-associations th:nth-child(2){width:13%}.ts-report-type-associations th:nth-child(3){width:17%}.ts-report-type-associations th:nth-child(4){width:8%}.ts-report-type-associations th:nth-child(5){width:7%}.ts-report-type-associations th:nth-child(6){width:6%}.ts-report-type-associations th:nth-child(7){width:6%}.ts-report-type-associations th:nth-child(8){width:7%}.ts-report-type-associations th:nth-child(9){width:7%}.ts-report-type-associations th:nth-child(10){width:7%}.ts-report-type-associations th:nth-child(11){width:10%}

/* alpha6.16.10 - Report Associazioni a schede leggibili */
.ts-report-type-associations{font-size:.9rem;table-layout:fixed}
.ts-report-type-associations>thead>tr>th{width:100%;font-size:.78rem}
.ts-report-type-associations>tbody>tr>td{padding:0;border-bottom:1px solid var(--ts-line)}
.ts-association-report-card{padding:12px 14px;background:#fff}
.ts-association-report-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:9px;border-bottom:1px solid var(--ts-line)}
.ts-association-report-head span,.ts-association-report-info span,.ts-association-report-counts span{display:block;color:var(--ts-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
.ts-association-report-head strong{display:block;font-size:1.05rem;color:var(--ts-ink);margin-top:2px}
.ts-association-report-head small{display:block;color:var(--ts-muted);margin-top:2px}
.ts-association-report-status{text-align:right;white-space:nowrap}
.ts-association-report-info{display:grid;grid-template-columns:1.15fr 1.45fr .6fr;gap:9px;margin:9px 0}
.ts-association-report-info article,.ts-association-report-counts article{border:1px solid var(--ts-line);border-radius:8px;background:#f8fbfc;padding:8px 9px;min-width:0}
.ts-association-report-info strong{display:block;margin-top:2px;font-size:.92rem}
.ts-association-report-info small{display:block;color:var(--ts-muted);margin-top:2px;overflow-wrap:anywhere}
.ts-association-report-counts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.ts-association-report-counts strong{display:block;margin-top:2px;font-size:1.08rem;color:var(--ts-ink)}
.ts-association-report-total{background:#eef6f4!important;border-color:#b9d1cb!important}
@media(max-width:900px){.ts-association-report-info{grid-template-columns:1fr}.ts-association-report-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media print{
  .ts-report-type-associations{font-size:7.5pt!important}
  .ts-report-type-associations>thead>tr>th{width:100%!important;font-size:6.8pt!important}
  .ts-report-type-associations>tbody>tr>td{padding:0!important}
  .ts-association-report-card{padding:5px 6px!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .ts-association-report-head{gap:12px!important;padding-bottom:4px!important}
  .ts-association-report-head span,.ts-association-report-info span,.ts-association-report-counts span{font-size:6.2pt!important}
  .ts-association-report-head strong{font-size:9pt!important;margin-top:1px!important}
  .ts-association-report-head small{font-size:7pt!important;margin-top:1px!important}
  .ts-association-report-info{display:grid!important;grid-template-columns:1.15fr 1.45fr .6fr!important;gap:4px!important;margin:4px 0!important}
  .ts-association-report-info article,.ts-association-report-counts article{padding:3px 4px!important;border-radius:3px!important}
  .ts-association-report-info strong{font-size:8.2pt!important;margin-top:1px!important}
  .ts-association-report-info small{font-size:7pt!important;margin-top:1px!important}
  .ts-association-report-counts{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px!important}
  .ts-association-report-counts strong{font-size:8.5pt!important;margin-top:1px!important}
}

/* alpha6.17.0 — sicurezza, log e retention */
.ts-security-retention{margin:18px 0 24px;padding:18px;border:1px solid #cbd8d8;border-radius:14px;background:#fbfdfd}
.ts-security-retention-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.ts-security-retention-head h3{margin:0 0 4px}.ts-security-retention-head p{margin:0;color:#526363}.ts-security-retention-badge{padding:8px 10px;border-radius:999px;background:#eef6f1;font-size:.88rem;white-space:nowrap}
.ts-security-retention-stats,.ts-retention-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}.ts-security-retention-stats article,.ts-retention-preview-grid article{border:1px solid #d7e1e1;border-radius:10px;padding:10px;background:#fff}.ts-security-retention-stats span,.ts-retention-preview-grid span{display:block;font-size:.76rem;font-weight:700;text-transform:uppercase;color:#526363}.ts-security-retention-stats strong,.ts-retention-preview-grid strong{display:block;font-size:1.1rem;margin:3px 0}.ts-security-retention-stats small,.ts-retention-preview-grid small{display:block;color:#677777}
.ts-retention-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin:16px 0}.ts-retention-form label{display:grid;gap:5px}.ts-retention-form label>span{font-weight:700}.ts-retention-form input[type=number]{width:100%;min-height:42px;padding:8px;border:1px solid #b8caca;border-radius:8px}.ts-retention-form-actions{grid-column:1/-1}.ts-retention-preview h4{margin:16px 0 6px}.ts-retention-cleanup{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.ts-retention-cleanup label{display:flex;gap:8px;align-items:flex-start;max-width:720px}.ts-danger-button{border:0;border-radius:9px;padding:10px 14px;background:#a52a23;color:#fff;font-weight:800}.ts-danger-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.ts-security-retention-head{display:block}.ts-security-retention-badge{display:inline-block;margin-top:10px}.ts-security-retention-stats,.ts-retention-preview-grid,.ts-retention-form{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ts-security-retention-stats,.ts-retention-preview-grid,.ts-retention-form{grid-template-columns:1fr}.ts-retention-cleanup{display:grid}}

/* alpha6.18 - Agenda operativa */
.ts-agenda-heading{align-items:flex-start}.ts-agenda-filter{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin:14px 0 12px;padding:14px;border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfc}.ts-agenda-filter label{display:grid;gap:5px;font-size:.82rem;font-weight:700}.ts-agenda-filter input,.ts-agenda-filter select{min-height:40px;border:1px solid #b9cbd0;border-radius:8px;background:#fff;padding:7px 9px;width:100%}.ts-agenda-mode{grid-column:span 2;border:2px solid #7aa7a0;border-radius:10px;background:#eef8f5;padding:8px 10px;margin:0}.ts-agenda-mode legend{padding:0 5px;color:#123f3a;font-size:.82rem;font-weight:800}.ts-agenda-mode>div{display:flex;gap:6px;flex-wrap:wrap}.ts-agenda-mode label{display:block!important;position:relative;cursor:pointer}.ts-agenda-mode input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px!important;min-height:0!important}.ts-agenda-mode span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:6px 11px;border:1px solid #9bbab5;border-radius:8px;background:#fff;color:#123f3a;font-size:.82rem;font-weight:800}.ts-agenda-mode input:checked+span{background:#123f3a;color:#fff;border-color:#123f3a}.ts-agenda-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.ts-agenda-filter-actions .ts-secondary-button,.ts-agenda-nav .ts-secondary-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.ts-agenda-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 14px}.ts-agenda-nav>strong{color:var(--ts-nav);text-align:center}.ts-agenda-stats{margin:0 0 12px}.ts-agenda-groups{display:grid;gap:12px}.ts-agenda-group{border:1px solid var(--ts-line);border-radius:12px;background:#fff;overflow:hidden}.ts-agenda-group>header{display:flex;justify-content:space-between;align-items:end;gap:12px;padding:10px 12px;background:#eef4f5;border-bottom:1px solid var(--ts-line)}.ts-agenda-group>header span{display:block;color:var(--ts-muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.ts-agenda-group>header h3{margin:1px 0 0;color:var(--ts-nav);font-size:1rem}.ts-agenda-group>header>strong{font-size:.8rem;color:var(--ts-muted)}.ts-agenda-empty{padding:18px;color:var(--ts-muted);text-align:center}.ts-agenda-table-wrap{overflow:auto}.ts-agenda-table{width:100%;min-width:960px;border-collapse:collapse;table-layout:fixed}.ts-agenda-table th,.ts-agenda-table td{padding:8px 9px;border-bottom:1px solid var(--ts-line);text-align:left;vertical-align:top}.ts-agenda-table th{background:#f7fafb;color:#365158;font-size:.72rem;text-transform:uppercase}.ts-agenda-table td{font-size:.84rem}.ts-agenda-table td strong,.ts-agenda-table td small{display:block}.ts-agenda-table td small{margin-top:2px;color:var(--ts-muted)}.ts-agenda-table th:nth-child(1){width:8%}.ts-agenda-table th:nth-child(2){width:29%}.ts-agenda-table th:nth-child(3){width:20%}.ts-agenda-table th:nth-child(4){width:18%}.ts-agenda-table th:nth-child(5){width:15%}.ts-agenda-table th:nth-child(6){width:10%}.ts-agenda-table-has-date th:nth-child(1){width:7%}.ts-agenda-table-has-date th:nth-child(2){width:9%}.ts-agenda-table-has-date th:nth-child(3){width:28%}.ts-agenda-table-has-date th:nth-child(4){width:20%}.ts-agenda-table-has-date th:nth-child(5){width:17%}.ts-agenda-table-has-date th:nth-child(6){width:11%}.ts-agenda-table-has-date th:nth-child(7){width:8%}.ts-agenda-table td{overflow-wrap:anywhere;word-break:normal}.ts-agenda-status{display:inline-flex;padding:2px 6px;border-radius:999px;background:#eaf1f2;font-weight:800}.ts-agenda-status-in_progress{background:#fff1cc}.ts-agenda-status-completed{background:#e7f5eb}.ts-agenda-status-cancelled{background:#fde9e6}.ts-agenda-test{font-weight:800;color:#8a6500}.ts-agenda-real{font-weight:800;color:#24604e}.ts-agenda-warning{font-weight:800;color:#9b2f1f}.ts-agenda-row-warning{background:#fffaf0}.ts-agenda-row-cancelled{opacity:.68}.ts-agenda-open{display:inline-flex!important;text-decoration:none;white-space:nowrap}.ts-agenda-document-header,.ts-agenda-document-meta,.ts-agenda-document-footer{display:none}
@media(max-width:1100px){.ts-agenda-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-agenda-mode{grid-column:span 2}}
@media(max-width:760px){.ts-agenda-filter{grid-template-columns:1fr}.ts-agenda-mode{grid-column:span 1}.ts-agenda-nav{align-items:stretch;flex-direction:column}.ts-agenda-nav>strong{order:-1}.ts-agenda-filter-actions{align-items:stretch}.ts-agenda-filter-actions>*{flex:1}.ts-agenda-group>header{align-items:flex-start;flex-direction:column}}

/* Alpha 6.19 — Servizi ripetitivi */
.ts-recurring-create{margin:0 0 18px;border:1px solid #c7d3d6;border-radius:10px;background:#fbfdfd;overflow:hidden}.ts-recurring-create>summary{cursor:pointer;padding:12px 14px;font-weight:800;color:#173f3a;background:#eef5f4}.ts-recurring-form{margin:0;padding:14px}.ts-recurring-weekdays{border:1px solid #d5dfe1;border-radius:8px;padding:10px 12px}.ts-recurring-weekdays legend{font-weight:700}.ts-recurring-weekdays label{display:inline-flex;align-items:center;gap:5px;margin:3px 14px 3px 0}.ts-recurring-list{display:grid;gap:14px}.ts-recurring-card{border:1px solid #c7d3d6;border-radius:10px;background:#fff;overflow:hidden}.ts-recurring-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:12px 14px;background:#f2f7f7;border-bottom:1px solid #d5dfe1}.ts-recurring-card-head span,.ts-recurring-meta span{display:block;color:#607078;font-size:.78rem;text-transform:uppercase;font-weight:700}.ts-recurring-card-head h3{margin:2px 0 3px;color:#173f3a}.ts-recurring-card-head small{color:#53666d}.ts-recurring-meta{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px 14px}.ts-recurring-meta>div{padding:8px;border:1px solid #e0e7e8;border-radius:7px;background:#fbfdfd;min-width:0}.ts-recurring-meta strong{display:block;margin-top:2px}.ts-recurring-counts{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px}.ts-recurring-counts span{padding:4px 8px;border-radius:999px;background:#eef3f4;font-size:.85rem}.ts-recurring-card>.ts-inline-admin-form{padding:0 14px 10px}.ts-recurring-occurrences{min-width:850px}.ts-recurring-occurrences th:nth-child(1){width:12%}.ts-recurring-occurrences th:nth-child(2){width:11%}.ts-recurring-occurrences th:nth-child(3){width:17%}.ts-recurring-occurrences th:nth-child(4){width:42%}.ts-recurring-occurrences th:nth-child(5){width:18%}.ts-recurring-actions{display:flex;gap:5px;flex-wrap:wrap}.ts-recurring-actions form{margin:0}.ts-recurring-actions button{padding:5px 8px;font-size:.8rem}@media(max-width:900px){.ts-recurring-meta{grid-template-columns:1fr 1fr}.ts-recurring-form{grid-template-columns:1fr}.ts-recurring-form .ts-span-2,.ts-recurring-form .ts-span-3,.ts-recurring-form .ts-span-4{grid-column:auto}}

/* Alpha 6.20.2 — autocomplete destinazioni storiche e calendario uniforme */
.ts-destination-autocomplete-field{position:relative;z-index:3}.ts-destination-suggestions{position:absolute;z-index:80;left:0;right:0;top:100%;margin-top:4px;max-height:310px;overflow:auto;border:1px solid #9fb5bb;border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(20,50,58,.18);padding:5px}.ts-destination-suggestion{display:grid;width:100%;gap:2px;border:0;border-bottom:1px solid #e4ecee;background:#fff;color:var(--ts-ink);text-align:left;padding:9px 10px;cursor:pointer;border-radius:7px}.ts-destination-suggestion:last-child{border-bottom:0}.ts-destination-suggestion:hover,.ts-destination-suggestion:focus-visible{background:#edf6f5;outline:2px solid rgba(18,63,58,.18)}.ts-destination-suggestion strong{padding:0;font-size:.91rem}.ts-destination-suggestion small{font-size:.76rem;color:var(--ts-muted)}.ts-destination-suggestion span{font-size:.7rem;font-weight:700;color:#28675d}.ts-destination-suggestion-unavailable{cursor:default;background:#fff8e8}.ts-destination-suggestion-unavailable:hover{background:#fff8e8;outline:0}.ts-destination-suggestion-unavailable span{color:#8a5a00}.ts-date-picker{cursor:pointer}.ts-date-picker::-webkit-calendar-picker-indicator{cursor:pointer}
.ts-vehicle-catalog-box>small{display:block;color:var(--ts-muted);margin-bottom:8px}.ts-vehicle-guided-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.ts-vehicle-guided-panel>small{grid-column:1/-1}.ts-field input.ts-auto-filled[readonly]{background:#eef5f5;color:#29464d;border-color:#bdd0d4}.ts-vehicle-entry-modes{margin-top:9px}@media(max-width:1100px){.ts-vehicle-guided-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.ts-vehicle-guided-panel{grid-template-columns:1fr}}

/* Alpha 6.20.5 — Enti e tariffe: navigazione gerarchica */
.ts-economy-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.ts-economy-home-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon meta" "icon action";gap:2px 12px;align-items:center;padding:16px;border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfc;color:var(--ts-ink);text-decoration:none;min-width:0}.ts-economy-home-card:hover,.ts-economy-home-card:focus-visible{border-color:#8ba9a5;background:#eef7f5;outline:2px solid rgba(18,63,58,.15)}.ts-economy-card-icon{grid-area:icon;display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:var(--ts-nav);color:#fff;font-weight:800}.ts-economy-home-card strong{grid-area:title;font-size:1rem}.ts-economy-home-card small{grid-area:meta;color:var(--ts-muted)}.ts-economy-home-card em{grid-area:action;color:#24675f;font-size:.8rem;font-style:normal;font-weight:700;margin-top:3px}.ts-economy-breadcrumb{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 12px;color:var(--ts-muted);font-size:.82rem}.ts-economy-breadcrumb a{color:#24675f;text-decoration:none;font-weight:700}.ts-economy-breadcrumb a:hover{text-decoration:underline}.ts-economy-context-head,.ts-section-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 14px}.ts-economy-context-head span{display:block;color:var(--ts-muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.ts-economy-context-head h2{margin:1px 0 3px}.ts-economy-context-head p,.ts-section-toolbar small{display:block;margin:0;color:var(--ts-muted)}.ts-economy-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px;padding:5px;border:1px solid var(--ts-line);border-radius:10px;background:#f5f9fa}.ts-economy-tabs a{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:8px;color:#294850;text-decoration:none;font-weight:700;font-size:.86rem}.ts-economy-tabs a span{display:inline-flex;min-width:22px;justify-content:center;border-radius:999px;background:#dfe9eb;padding:1px 6px;font-size:.72rem}.ts-economy-tabs a.is-active{background:var(--ts-nav);color:#fff}.ts-economy-tabs a.is-active span{background:rgba(255,255,255,.18);color:#fff}.ts-economy-entity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ts-economy-entity-card{border:1px solid var(--ts-line);border-radius:12px;background:#fff;padding:14px;min-width:0}.ts-economy-entity-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ts-economy-entity-card h3{margin:0 0 3px;color:var(--ts-nav)}.ts-economy-entity-card small{display:block;color:var(--ts-muted)}.ts-economy-entity-card footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ts-economy-agreement-summary{border:1px solid var(--ts-line);border-radius:10px;background:#fbfdfd;padding:12px;margin:10px 0}.ts-economy-agreement-summary header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ts-economy-agreement-summary header span,.ts-economy-agreement-summary header small{display:block;color:var(--ts-muted)}.ts-economy-agreement-summary header strong{display:block;color:var(--ts-nav);font-size:1rem}.ts-section-toolbar>div>strong{display:block;color:var(--ts-nav);font-size:1rem}.ts-section-toolbar>div>small{margin-top:2px}
@media(max-width:900px){.ts-economy-home-grid,.ts-economy-entity-grid{grid-template-columns:1fr}.ts-economy-context-head,.ts-section-toolbar,.ts-economy-agreement-summary header{align-items:stretch;flex-direction:column}.ts-economy-context-head .ts-secondary-button,.ts-section-toolbar .ts-primary-button{align-self:flex-start}}

/* Alpha 6.21.0 — Giornata autista/mezzo e km reali */
.ts-route-km-panel{display:block}.ts-route-km-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.ts-route-km-days{display:grid;gap:16px}.ts-route-km-day{border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfc;overflow:hidden}.ts-route-km-day-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--ts-line);background:#eef5f5}.ts-route-km-day-head span{display:block;color:var(--ts-muted);font-size:.78rem}.ts-route-km-day-head h3{margin:2px 0 0;color:var(--ts-nav)}.ts-route-km-segment{margin:12px;border:1px solid var(--ts-line);border-radius:10px;background:#fff;padding:13px}.ts-route-km-segment-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:10px}.ts-route-km-segment-head>div>span{display:block;color:var(--ts-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.ts-route-km-segment-head h4{margin:2px 0;color:var(--ts-ink)}.ts-route-km-segment-head small{color:var(--ts-muted)}.ts-route-km-segment-head>strong{padding:4px 8px;border-radius:999px;background:#e9eff1;font-size:.78rem;white-space:nowrap}.ts-route-km-waiting .ts-route-km-segment-head>strong{background:#fff4d6;color:#735200;border:1px solid #e2bd52}.ts-route-km-open .ts-route-km-segment-head>strong{background:#fff2cc;color:#634c00}.ts-route-km-closed .ts-route-km-segment-head>strong{background:#dff4ec;color:#126b4d}.ts-route-km-mixed .ts-route-km-segment-head>strong{background:#fff0f0;color:#78221c}.ts-route-km-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.ts-route-km-actions .ts-inline-admin-form{margin:0}.ts-route-km-services{min-width:760px}.ts-route-km-services th:nth-child(1){width:8%}.ts-route-km-services th:nth-child(2){width:9%}.ts-route-km-services th:nth-child(5){width:12%}.ts-route-km-services th:nth-child(6){width:14%}@media(max-width:1300px){.ts-route-km-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.ts-route-km-summary{grid-template-columns:1fr 1fr}.ts-route-km-day-head,.ts-route-km-segment-head{display:block}.ts-route-km-day-head .ts-mini-flags{margin-top:8px}.ts-route-km-segment-head>strong{display:inline-flex;margin-top:8px}}

.ts-route-km-correction{margin:10px 0;border:1px dashed var(--ts-line);border-radius:9px;background:#fbfcfc}.ts-route-km-correction>summary{cursor:pointer;padding:9px 11px;font-weight:800;color:var(--ts-nav)}.ts-route-km-correction-body{padding:0 11px 11px}.ts-route-km-correction-body p{margin:0 0 9px;color:var(--ts-muted)}.ts-route-km-correction-body .ts-inline-admin-form{margin:8px 0}.ts-route-km-correction-history{margin-top:10px;padding-top:8px;border-top:1px solid var(--ts-line);font-size:.86rem}.ts-route-km-correction-history ul{margin:6px 0 0 18px;padding:0}.ts-route-km-correction-history li{margin:4px 0}


/* Alpha 6.21.0.3 — usabilità validazione e controllo integrità */
.ts-validation-summary{border:1px solid #d5aa2f;border-left:5px solid #b98400;border-radius:10px;background:#fff8d8;color:#5d4700;padding:11px 13px;margin:0;box-shadow:0 2px 8px rgba(93,71,0,.06)}
.ts-field.ts-validation-error,label.ts-validation-error,fieldset.ts-validation-error{background:#fff8d8;border:1px solid #dfbd55;border-radius:9px;padding:8px}
.ts-field.ts-validation-error>span,label.ts-validation-error>span,fieldset.ts-validation-error>legend{color:#5f4900}
.ts-field input.ts-invalid-control,.ts-field select.ts-invalid-control,.ts-field textarea.ts-invalid-control,input.ts-invalid-control,select.ts-invalid-control,textarea.ts-invalid-control{border-color:#b47a00!important;box-shadow:0 0 0 2px rgba(180,122,0,.13)}
.ts-validation-note{display:block!important;color:#785900!important;font-weight:800!important;font-size:.78rem!important;margin-top:1px}
.ts-integrity-summary{display:flex;align-items:flex-start;gap:10px;border-radius:11px;padding:13px 14px;margin:12px 0}.ts-integrity-summary strong{display:block}.ts-integrity-summary small{display:block;margin-top:2px}.ts-integrity-summary-ok{background:#e7f6ef;border:1px solid #a8d6c2;color:#145d45}.ts-integrity-summary-warning{background:#fff8dd;border:1px solid #e1c867;color:#6a5310}.ts-integrity-details{margin:12px 0;border:1px solid var(--ts-line);border-radius:11px;background:#fff;overflow:hidden}.ts-integrity-details>summary{cursor:pointer;padding:11px 13px;font-weight:800;color:var(--ts-nav);background:#f3f7f8}.ts-integrity-details[open]>summary{border-bottom:1px solid var(--ts-line)}.ts-integrity-details .ts-table-wrap{border:0;border-radius:0}.ts-integrity-details-note{padding:11px 13px;margin:0!important;border-top:1px solid var(--ts-line);color:var(--ts-muted);font-size:.82rem}
.ts-integrity-row-alert{background:#fffdf1!important}.ts-integrity-row-alert td:nth-child(2){font-weight:800;color:#735700}

/* Alpha 6.22.0 — centrale comunicazioni autisti multicanale */
.ts-communication-profile{grid-column:1/-1;border:1px solid #c8d9dd;border-radius:11px;background:#f5f9fa;padding:14px}.ts-communication-profile legend{font-weight:800;color:var(--ts-nav);padding:0 6px}.ts-communication-profile .ts-grid-two{margin-top:6px}.ts-communication-profile small{color:var(--ts-muted)}
.ts-communication-center>.ts-panel-heading{align-items:flex-start}.ts-comm-filter{display:grid;grid-template-columns:minmax(170px,1fr) minmax(220px,1.4fr) auto auto auto;gap:10px;align-items:end;background:#f6f9fa;border:1px solid var(--ts-line);border-radius:12px;padding:12px;margin:0 0 14px}.ts-comm-filter>a,.ts-comm-filter>button{min-height:42px}.ts-comm-stats .ts-stat-warning{background:#fff7d6;border-color:#e3c768}.ts-comm-empty{margin:10px 0;border:1px dashed var(--ts-line);border-radius:11px;padding:22px}
.ts-comm-heading-actions{display:flex;gap:8px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap}.ts-comm-heading-actions form{margin:0}.ts-agenda-heading-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.ts-comm-driver-list{display:grid;gap:16px}.ts-comm-driver-card{border:1px solid var(--ts-line);border-radius:14px;background:#fff;overflow:hidden}.ts-comm-driver-card.is-paper-primary{border-color:#87a9b0}.ts-comm-driver-card.is-urgent{border:2px solid #d39a00;box-shadow:0 0 0 3px rgba(211,154,0,.10)}.ts-comm-driver-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:15px 16px;background:#f7fafb;border-bottom:1px solid var(--ts-line)}.ts-comm-driver-head h3{margin:0 0 4px;color:var(--ts-ink)}.ts-comm-driver-head p{margin:0;color:var(--ts-muted)}.ts-comm-driver-head small{display:block;margin-top:5px;color:#435a62}.ts-comm-driver-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.ts-comm-driver-actions form{margin:0}.ts-urgent-badge{display:inline-flex;margin-left:5px;padding:3px 7px;border-radius:999px;background:#ffe7a3;color:#684700;border:1px solid #d0a42c;font-size:.72rem;vertical-align:middle}.ts-paper-badge{display:inline-flex;margin-left:5px;padding:3px 7px;border-radius:999px;background:#e9f4f6;color:#174f5d;border:1px solid #8fb8c0;font-size:.72rem;vertical-align:middle}.ts-comm-print-sheet{padding:0}.ts-comm-print-title{display:none}.ts-comm-print-meta,.ts-comm-print-warning{display:none}.ts-comm-table{min-width:1050px}.ts-comm-row-urgent{background:#fff9df}.ts-comm-row-urgent:hover{background:#fff4c5!important}.ts-urgent-text{color:#765000!important;font-weight:700}.ts-response-pending{color:#795400}.ts-response-confirmed{color:#126b4d}.ts-response-declined{color:#9a271e}.ts-comm-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ts-comm-row-actions form{margin:0}.ts-mini-button{border:1px solid #4e717a;border-radius:7px;background:#fff;color:#174f5d;padding:6px 8px;font-size:.78rem;font-weight:700;cursor:pointer}.ts-mini-button:hover,.ts-mini-button:focus-visible{background:#eef6f7}.ts-mini-button.is-danger{border-color:#bc675f;color:#8d271f}.ts-comm-technical{margin-top:18px;border:1px solid var(--ts-line);border-radius:11px;background:#f8fbfc;padding:10px 12px}.ts-comm-technical summary{cursor:pointer;font-weight:800;color:#354f57}.ts-comm-technical>.ts-grid-stats{margin-top:12px}
.ts-comm-withdrawals{margin:0 0 16px;border:2px solid #cf8b00;border-radius:13px;background:#fff8dc;padding:14px}.ts-comm-withdrawals-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:10px}.ts-comm-withdrawals-head h3{margin:0;color:#604300}.ts-comm-withdrawals-head p{margin:4px 0 0;color:#604f22}.ts-comm-withdrawals-head>strong{white-space:nowrap;background:#fff;border:1px solid #d9b34a;border-radius:999px;padding:5px 9px;color:#604300}.ts-comm-withdrawal-list{display:grid;gap:8px}.ts-comm-withdrawal-item{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e1c36c;border-radius:9px;background:#fff;padding:10px 12px}.ts-comm-withdrawal-item>div>strong,.ts-comm-withdrawal-item>div>span,.ts-comm-withdrawal-item>div>small{display:block}.ts-comm-withdrawal-item>div>span{color:var(--ts-muted)}.ts-comm-withdrawal-item>div>small{margin-top:3px;color:#4c5558}.ts-comm-withdrawal-item form{margin:0}
.ts-copy-feedback{display:inline-block;margin-left:7px;font-size:.78rem;font-weight:700;color:#126b4d}
@media(max-width:1100px){.ts-comm-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-comm-driver-head,.ts-comm-withdrawal-item{display:grid;grid-template-columns:1fr}.ts-comm-driver-actions,.ts-comm-heading-actions,.ts-agenda-heading-actions{justify-content:flex-start}}
@media(max-width:760px){.ts-comm-filter{grid-template-columns:1fr}.ts-communication-profile .ts-grid-two{grid-template-columns:1fr}.ts-comm-withdrawals-head{display:block}.ts-comm-withdrawals-head>strong{display:inline-flex;margin-top:8px}.ts-comm-driver-head{padding:12px}.ts-comm-table{min-width:900px}}

@media print{
  .ts-comm-print-sheet .ts-comm-print-title{display:flex!important;justify-content:space-between;gap:12px;border-bottom:2px solid #222;padding:0 0 8px;margin:0 0 7px}.ts-comm-print-sheet .ts-comm-print-meta{display:flex!important;gap:7px;flex-wrap:wrap;margin:0 0 8px}.ts-comm-print-sheet .ts-comm-print-meta span{border:1px solid #bbb;border-radius:999px;padding:3px 7px;font-size:8.5pt}.ts-comm-print-sheet .ts-comm-print-warning{display:block!important;border:2px solid #9b6800;padding:7px 9px;margin:0 0 8px;background:#fff!important;color:#5f4500}.ts-comm-print-sheet .ts-table-wrap{overflow:visible;border:0}.ts-comm-print-sheet .ts-table{min-width:0;font-size:9pt}.ts-comm-print-sheet .ts-table th,.ts-comm-print-sheet .ts-table td{padding:6px;border:1px solid #bbb}.ts-comm-print-sheet .ts-comm-row-urgent{background:#fff!important}.ts-comm-print-sheet .ts-no-print{display:none!important}
}
/* alpha6.22.1 — centrale turni giornalieri */
.ts-turn-state{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:7px 10px;border-radius:9px;border:1px solid var(--ts-line);background:#fff}.ts-turn-state strong{font-size:.82rem}.ts-turn-state span{font-size:.78rem;color:var(--ts-muted)}.ts-turn-state.is-confirmed{background:#edf9f3;border-color:#8bc9ac}.ts-turn-state.is-confirmed strong{color:#126b4d}.ts-turn-state.is-pending{background:#fff8de;border-color:#ddc269}.ts-turn-state.is-pending strong{color:#795400}.ts-turn-state.is-declined{background:#fff0ee;border-color:#dca59f}.ts-turn-state.is-declined strong{color:#8d271f}.ts-comm-card-warning{padding:9px 16px;background:#fff0ee;border-bottom:1px solid #dca59f;color:#76251f}.ts-comm-cancellations{border-color:#c95c52;background:#fff1ef}.ts-comm-cancellations .ts-comm-withdrawals-head h3,.ts-comm-cancellations .ts-comm-withdrawals-head p,.ts-comm-cancellations .ts-comm-withdrawals-head>strong{color:#7d251e}.ts-comm-cancellations .ts-comm-withdrawals-head>strong{border-color:#d99a94}.ts-comm-cancellations .ts-comm-withdrawal-item{border-color:#dfaaa5}.ts-danger-button{background:#a52a23!important;border-color:#8d271f!important;color:#fff!important}.ts-danger-button:hover,.ts-danger-button:focus-visible{background:#8d271f!important;color:#fff!important}.ts-muted-action{color:var(--ts-muted);font-style:italic}.ts-comm-driver-identity{min-width:0}.ts-alert-warning{background:#fff6d8;border-color:#e1c566;color:#624b05}

/* Alpha 6.22.1.2 — sequenza comunicazione -> risposta e stato chiaro dei canali manuali. */
.ts-comm-driver-actions .ts-danger-button{background:#a52a23!important;color:#fff!important;border:1px solid #8d271f!important}
.ts-comm-driver-actions .ts-danger-button:disabled,.ts-comm-driver-actions .ts-primary-button:disabled{opacity:.42!important;cursor:not-allowed!important}
.ts-comm-card-confirmation{padding:9px 16px;background:#edf9f3;border-bottom:1px solid #8bc9ac;color:#126b4d}
.ts-comm-card-confirmation strong{color:#126b4d}

/* Alpha 6.22.1.3 — disponibilità parziale del turno giornaliero */
.ts-turn-state.is-partial{background:#fff6d8;border-color:#e0bd4d}.ts-turn-state.is-partial strong{color:#6f5000}
.ts-partial-availability{margin:0;border-bottom:1px solid var(--ts-line);background:#fffdf5}.ts-partial-availability>summary{cursor:pointer;padding:10px 16px;font-weight:800;color:#5f4b08;background:#fff8de}.ts-partial-availability[open]>summary{border-bottom:1px solid #e3cf86}.ts-partial-availability-body{padding:12px 16px}.ts-partial-availability-body>p{margin:0 0 10px;color:#5c6265}.ts-partial-availability-body form{margin:0}.ts-partial-table{min-width:720px}.ts-partial-table select{min-width:180px;padding:7px 9px;border:1px solid #aebfc4;border-radius:8px;background:#fff}.ts-partial-availability-body .ts-primary-button{margin-top:10px}
.ts-partial-complete{margin-top:10px;padding:9px 11px;border:1px solid #e0bd4d;border-radius:8px;background:#fff8de;color:#604900}

/* Alpha 6.22.1.5 — servizi rifiutati / riassegnazione */
.ts-attention-card{border-color:#e2a1a1!important;background:#fff1f0!important}.ts-attention-card strong{color:#9f241e}.ts-attention-card a{display:inline-block;margin-top:4px;font-weight:800;color:#8f1f1a;text-decoration:underline}.ts-service-needs-reassign>td{background:#fff4f2}.ts-service-needs-reassign>td:first-child{box-shadow:inset 5px 0 0 #c7372f}.ts-reassign-badge{display:inline-block;padding:4px 8px;border-radius:7px;background:#ffe1dd;color:#8f1f1a;font-weight:900;font-size:.78rem;line-height:1.25}.ts-reassign-action{font-weight:900!important}.ts-row-actions .ts-reassign-action{display:inline-block;padding:6px 9px;border-radius:7px;background:#c9342c;color:#fff!important;text-decoration:none}.ts-field-reassign{padding:10px;border:2px solid #d28c00!important;border-radius:10px;background:#fff8d9}.ts-field-reassign>span{color:#7a5100;font-weight:900}.ts-reassign-editor-alert{border-width:2px!important}.ts-agenda-row-warning.ts-service-needs-reassign td{background:#fff4f2}.ts-comm-row-actions .ts-reassign-action{white-space:nowrap}

/* Alpha 6.22.1.5 — imprevisto / indisponibilità sopravvenuta */
.ts-unexpected-unavailability{margin:0;border-bottom:1px solid var(--ts-line);background:#fff8e8;padding:10px 16px}.ts-unexpected-unavailability>summary{cursor:pointer;font-weight:900;color:#7a4b00}.ts-unexpected-unavailability-body{padding:12px 0 4px}.ts-unexpected-unavailability-body>p{margin:0 0 12px;line-height:1.5}.ts-incident-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:12px;margin-bottom:12px}.ts-incident-grid label{display:flex;flex-direction:column;gap:5px}.ts-incident-grid span,.ts-incident-services>strong{font-weight:800}.ts-incident-grid small{color:var(--ts-muted)}.ts-incident-services{display:grid;gap:7px;margin:0 0 12px;padding:11px;border:1px solid #e1c566;border-radius:9px;background:#fff}.ts-incident-services label{display:flex;gap:8px;align-items:flex-start}.ts-incident-text{color:#9b2f22}.ts-service-needs-reassign .ts-incident-text{font-weight:900}@media(max-width:760px){.ts-incident-grid{grid-template-columns:1fr}}


/* Alpha6.23.1 — stato operativo unico servizi */
.ts-service-operational{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .55rem;border-radius:999px;font-weight:800;font-size:.78rem;line-height:1.15;white-space:nowrap;background:#eef2f6;color:#263442;border:1px solid #d7dee7}
.ts-service-operational-to_reassign{background:#fde8e8;color:#8b1e1e;border-color:#efb4b4}
.ts-service-operational-to_assign{background:#fff3d6;color:#76520d;border-color:#e8c46d}
.ts-service-operational-pending,.ts-service-operational-crew_pending{background:#fff8df;color:#6f5600;border-color:#e7cf7a}
.ts-service-operational-driver_confirmed,.ts-service-operational-confirmed{background:#e8f5ec;color:#1d6337;border-color:#9ed0ae}
.ts-service-operational-in_progress{background:#e7f1fb;color:#155a91;border-color:#9cc4e5}
.ts-service-operational-completed{background:#edf1f4;color:#344654;border-color:#c7d0d8}
.ts-service-operational-cancelled{background:#f1f1f1;color:#666;border-color:#ccc;text-decoration:none}
.ts-service-operational-draft{background:#f5efe6;color:#6f542d;border-color:#d9c29c}
.ts-record-state{margin-top:.28rem;color:#6d7780}
.ts-service-needs-assign{background:#fffaf0}
.ts-service-needs-assign td:first-child{box-shadow:inset 4px 0 0 #d89c22}
.ts-assign-action{background:#d89c22!important;border-color:#b57e12!important;color:#fff!important}
.ts-attention-card-warning{border-color:#e2b64d!important;background:#fff9e8!important}

/* Alpha 6.23.2 — Blocco C: catalogo Comuni, CAP assistito e campi operativi obbligatori */
.ts-municipality-field{position:relative}
.ts-municipality-suggestions{position:absolute;z-index:1200;left:0;right:0;top:100%;margin-top:4px;max-height:310px;overflow:auto;border:1px solid #9fb5bb;border-radius:10px;background:#fff;box-shadow:0 10px 26px rgba(26,55,63,.18)}
.ts-municipality-suggestion{display:grid;width:100%;gap:2px;padding:9px 11px;border:0;border-bottom:1px solid #e2eaec;background:#fff;text-align:left;cursor:pointer;color:var(--ts-ink)}
.ts-municipality-suggestion:last-child{border-bottom:0}.ts-municipality-suggestion:hover,.ts-municipality-suggestion:focus-visible{background:#eef7f6;outline:2px solid #4d817a;outline-offset:-2px}
.ts-municipality-suggestion strong{font-size:.9rem}.ts-municipality-suggestion small{color:var(--ts-muted);font-size:.76rem}
.ts-municipality-empty{padding:10px 11px;color:var(--ts-muted);font-size:.8rem;background:#fbfcfc}
[data-ts-postal-help][data-status="warning"]{color:#7a5500;font-weight:700}[data-ts-postal-help][data-status="ok"]{color:#17623f;font-weight:700}
.ts-conditional-required>span::after{content:" *";color:#8f251d;font-weight:900}
@media(max-width:760px){.ts-municipality-suggestions{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:45vh}}

/* Alpha 6.23.4 — Blocco E: revisione interfaccia e usabilità
   Solo presentazione: nessuna modifica alla logica applicativa o allo schema dati. */
.ts-page-shell{--ts-primary:#176b5a;--ts-primary-dark:#0f584a;--ts-danger:#a52a23;--ts-danger-dark:#842019;--ts-warning:#b87400;--ts-focus:#2b776b}
.ts-app{grid-template-columns:286px minmax(0,1fr);border-radius:16px;box-shadow:0 12px 34px rgba(25,51,58,.08)}
.ts-alpha-banner{left:286px;padding:7px 18px;background:#fff7d8;border-bottom-color:#ead27f;align-items:center}.ts-alpha-banner strong{letter-spacing:.03em}.ts-alpha-banner span{color:#66520b}
.ts-sidebar{padding:18px 13px 20px}.ts-brand{padding:4px 7px 15px}.ts-brand img{width:50px;height:50px}.ts-brand strong{font-size:1.02rem}.ts-brand small{margin-top:1px;font-size:.76rem}
.ts-user,.ts-db,.ts-context{margin:0 7px 9px;padding:10px 11px;border:1px solid rgba(255,255,255,.17);border-radius:10px;background:rgba(255,255,255,.035)}
.ts-context>strong{display:block;margin-bottom:7px}.ts-context form{display:grid;grid-template-columns:1fr auto;gap:6px}.ts-context select{min-width:0;width:100%;border:1px solid rgba(255,255,255,.32);border-radius:7px;background:#fff;color:#173a39;padding:7px 8px}.ts-context button,.ts-logout button{border:1px solid rgba(255,255,255,.28);border-radius:7px;background:rgba(255,255,255,.1);color:#fff;padding:7px 9px;cursor:pointer;font-weight:700}.ts-context button:hover,.ts-logout button:hover{background:rgba(255,255,255,.18)}.ts-logout{margin:0 7px 13px}.ts-logout button{width:100%}
.ts-nav{display:block}.ts-nav-group{padding:10px 0 7px;border-top:1px solid rgba(255,255,255,.1)}.ts-nav-group:first-child{border-top:0;padding-top:2px}.ts-nav-group-title{display:block;padding:0 11px 5px;color:rgba(255,255,255,.53);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.ts-nav-group button{display:block;margin:2px 0}.ts-nav button{padding:9px 11px;font-size:.9rem;border-left:3px solid transparent}.ts-nav button:hover,.ts-nav button:focus-visible{background:rgba(255,255,255,.1)}.ts-nav button.is-active{background:#fff;color:var(--ts-nav2);border-left-color:#db4737;font-weight:800;box-shadow:0 1px 7px rgba(0,0,0,.12)}
.ts-main{padding:62px 26px 32px}.ts-header{padding:0 0 17px;margin-bottom:18px;border-bottom:1px solid var(--ts-line);align-items:center}.ts-section-kicker{display:block;margin-bottom:3px;color:#5d747a;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ts-header h1{font-size:1.72rem}.ts-header p{max-width:850px;font-size:.94rem}.ts-chip{border:1px solid #b9ded0;background:#e8f6f0}
.ts-panel,.ts-cards article{box-shadow:0 2px 8px rgba(29,60,68,.035)}.ts-panel{padding:19px}.ts-panel-heading{align-items:center;padding-bottom:13px;border-bottom:1px solid #edf1f2}.ts-panel-heading h2{font-size:1.22rem}.ts-panel-heading p{max-width:900px;line-height:1.5}.ts-required-legend{display:block;margin-top:4px;color:#6e777a;font-size:.77rem}.ts-required-legend::first-letter{color:#8f251d}
.ts-primary-button{background:var(--ts-primary)!important;color:#fff!important;border:1px solid var(--ts-primary)!important;min-height:38px}.ts-primary-button:hover,.ts-primary-button:focus-visible{background:var(--ts-primary-dark)!important;border-color:var(--ts-primary-dark)!important;color:#fff!important}.ts-primary-button:focus-visible,.ts-secondary-button:focus-visible,.ts-row-actions a:focus-visible,.ts-row-actions button:focus-visible{outline:3px solid rgba(43,119,107,.25);outline-offset:2px}
.ts-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;text-decoration:none;font-weight:700;border-color:#9bb0b6;color:#294850;background:#fff}.ts-secondary-button:hover{background:#f0f5f6;border-color:#6f8a91;color:#183c44}
.ts-danger-button{background:var(--ts-danger)!important;border-color:var(--ts-danger-dark)!important;color:#fff!important}.ts-danger-button:hover,.ts-danger-button:focus-visible{background:var(--ts-danger-dark)!important;color:#fff!important}
.ts-form-actions{display:flex;gap:8px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.ts-editor{gap:15px;background:#f9fbfb;border-color:#c9d8dc;padding:17px}.ts-editor-heading{align-items:center;padding-bottom:12px}.ts-editor-heading>div{min-width:0}.ts-editor-heading>a{flex:0 0 auto}.ts-field>small{color:#6b777b;line-height:1.35}.ts-field>strong{padding:9px 10px;border:1px solid #d5e0e3;border-radius:8px;background:#f2f6f7}.ts-field input,.ts-field select,.ts-field textarea,.ts-filterbar input,.ts-filterbar select{min-height:40px}.ts-field textarea{min-height:86px}
.ts-filterbar,.ts-comm-filter{background:#f5f8f9;border-color:#d7e2e5;padding:13px}.ts-filterbar .ts-primary-button,.ts-filterbar .ts-secondary-button,.ts-comm-filter .ts-primary-button,.ts-comm-filter .ts-secondary-button{min-height:40px}.ts-table-wrap{border-color:#d8e2e5}.ts-table th{background:#eaf1f3;color:#294850}.ts-table tbody tr:nth-child(even){background:#fcfdfd}.ts-table tbody tr:hover{background:#f3f8f8}.ts-table td{line-height:1.42}
.ts-row-actions{gap:6px;align-items:flex-start}.ts-row-actions a,.ts-row-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 8px;border:1px solid #b9c9cd;border-radius:7px;background:#fff;color:#245763;text-decoration:none;font-size:.79rem;font-weight:750;line-height:1.15}.ts-row-actions a:hover,.ts-row-actions button:hover{background:#eef5f6;border-color:#829ca2;color:#153f48}.ts-row-actions button.is-danger{border-color:#d19a96;color:#8f251d;background:#fff5f4}.ts-row-actions button.is-danger:hover{background:var(--ts-danger);border-color:var(--ts-danger);color:#fff}.ts-row-actions .ts-reassign-action{min-height:32px;padding:6px 9px;border:1px solid #a92b24;background:#c9342c;color:#fff!important}.ts-row-actions .ts-assign-action{background:#c47e00!important;border-color:#a76700!important}.ts-delete-account{flex-basis:100%;font-size:.78rem;color:#6a7174}
.ts-status,.ts-service-operational{font-weight:800}.ts-record-state{font-size:.75rem}.ts-table-note{padding:9px 11px;border-radius:8px;background:#f6f9fa;border:1px solid #e1e8ea}
.ts-cards article{border-top:3px solid #cbdade}.ts-cards .ts-attention-card{border-top-color:#c7372f!important}.ts-cards .ts-attention-card-warning{border-top-color:#d89c22!important}.ts-attention-card a{padding:4px 7px;border-radius:6px;background:#fff;border:1px solid currentColor;text-decoration:none!important}
.ts-alert{border-left-width:5px}.ts-alert-danger{border-left-color:var(--ts-danger)}.ts-alert-warning{border-left-color:#c58a00}.ts-alert-info{background:#edf6fa;color:#24536a;border:1px solid #b8d5e2;border-left:5px solid #4c93b3}
.ts-placeholder{min-height:170px;background:#fafcfc}
.ts-economy-tabs{padding:6px}.ts-economy-tabs a{min-height:37px}.ts-economy-tabs a.is-active{background:var(--ts-primary)}
.ts-comm-driver-card,.ts-route-km-day,.ts-recurring-card,.ts-economy-entity-card,.ts-association-report-card{box-shadow:0 2px 8px rgba(29,60,68,.035)}

@media(max-width:1100px){.ts-app{grid-template-columns:235px minmax(0,1fr)}.ts-alpha-banner{left:235px}.ts-main{padding-left:20px;padding-right:20px}}
@media(max-width:760px){.ts-alpha-banner{position:static}.ts-sidebar{padding:13px}.ts-nav{display:block}.ts-nav-group{padding:9px 0}.ts-nav-group-title{padding-left:6px}.ts-nav-group button{width:100%}.ts-main{padding:18px 12px 24px}.ts-header{align-items:flex-start}.ts-header .ts-chip{margin-top:8px}.ts-panel-heading{align-items:flex-start}.ts-editor-heading{align-items:flex-start}.ts-editor-heading .ts-secondary-button{margin-top:2px}.ts-row-actions a,.ts-row-actions button{min-height:34px;padding:7px 9px}}
@media(max-width:480px){.ts-panel-heading,.ts-editor-heading{display:grid;grid-template-columns:1fr;gap:10px}.ts-panel-heading .ts-primary-button,.ts-editor-heading .ts-secondary-button{width:100%}.ts-header h1{font-size:1.5rem}.ts-form-actions>.ts-primary-button,.ts-form-actions>.ts-secondary-button{width:100%}}

/* Alpha 6.23.4.1 — Rifinitura Dashboard e gerarchia visiva.
   Solo CSS/markup: nessuna modifica a query, stati, database o logica applicativa. */
.ts-nav-group{border-top-color:rgba(255,255,255,.17);padding-top:12px;margin-top:2px}
.ts-nav-group-title{padding:0 11px 7px;color:rgba(255,255,255,.88);font-size:.72rem;font-weight:900;letter-spacing:.085em;text-shadow:0 1px 1px rgba(0,0,0,.16)}
.ts-nav-group:first-child{margin-top:0}
.ts-context{position:relative;padding-top:11px}
.ts-context-label{display:block;margin-bottom:2px;color:rgba(255,255,255,.7);font-size:.67rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.ts-context>strong{margin-bottom:4px;font-size:.94rem}
.ts-context-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin:0 0 9px;padding:3px 7px;border-radius:999px;background:rgba(224,244,236,.14);border:1px solid rgba(224,244,236,.24);color:#dff4ec;font-size:.7rem;font-weight:800}
.ts-context-status.is-global{background:rgba(255,234,168,.12);border-color:rgba(255,234,168,.28);color:#ffeaa8}
.ts-context form{margin-top:2px}
.ts-context button{min-width:64px}
.ts-dashboard-block{margin:0 0 18px}
.ts-dashboard-block-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 9px;padding:0 2px}
.ts-dashboard-block-heading h2{margin:1px 0 0;font-size:1.05rem;color:var(--ts-ink)}
.ts-dashboard-block-heading small{color:var(--ts-muted);text-align:right;max-width:520px}
.ts-dashboard-block-kicker{display:block;color:#5c7379;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.085em}
.ts-dashboard-anagraphics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}
.ts-dashboard-operational{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:0}
.ts-dashboard-operational-block{padding-top:2px}
.ts-attention-card-warning strong{color:#9a5d00!important}
.ts-attention-card-warning a{color:#865400!important;border-color:#d49b2a!important;background:#fffaf0!important}
.ts-attention-card-warning a:hover,.ts-attention-card-warning a:focus-visible{background:#fff0c7!important;color:#6f4500!important;border-color:#bd7e00!important}
.ts-runtime-diagnostics-embedded{margin:0 0 18px;padding:9px 11px;border-color:#d7e1e4;background:#fbfcfc;font-size:.82rem;box-shadow:none}
.ts-runtime-diagnostics-embedded summary{display:flex;align-items:center;gap:8px;color:#50676d;font-size:.8rem;font-weight:800}
.ts-runtime-diagnostics-embedded summary span{display:inline-flex;padding:2px 6px;border-radius:999px;background:#edf2f3;color:#697b80;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ts-runtime-diagnostics-embedded[open]{border-color:#c8d6da;background:#f8fbfc}
.ts-runtime-diagnostics-embedded p{color:#6d7d82;font-size:.78rem}
.ts-runtime-diagnostics-embedded ul{font-size:.76rem}
@media(max-width:1450px){.ts-dashboard-anagraphics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ts-dashboard-block-heading{display:block}.ts-dashboard-block-heading small{display:block;margin-top:3px;text-align:left}.ts-dashboard-anagraphics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.ts-dashboard-anagraphics,.ts-dashboard-operational{grid-template-columns:1fr}.ts-nav-group-title{font-size:.74rem;color:rgba(255,255,255,.92)}}

/* Alpha 6.23.4.2 — Rifinitura Agenda.
   Solo presentazione/markup: tabella più compatta, azioni sempre contenute e layout responsive senza scroll orizzontale desktop. */
.ts-agenda-table-wrap{overflow-x:hidden;overflow-y:visible}
.ts-agenda-table{min-width:0;width:100%;table-layout:fixed}
.ts-agenda-table th,.ts-agenda-table td{padding:8px 7px;overflow-wrap:anywhere}
.ts-agenda-table th:nth-child(1){width:7%}
.ts-agenda-table th:nth-child(2){width:28%}
.ts-agenda-table th:nth-child(3){width:19%}
.ts-agenda-table th:nth-child(4){width:17%}
.ts-agenda-table th:nth-child(5){width:16%}
.ts-agenda-table th:nth-child(6){width:13%}
.ts-agenda-table-has-date th:nth-child(1){width:6%}
.ts-agenda-table-has-date th:nth-child(2){width:8%}
.ts-agenda-table-has-date th:nth-child(3){width:26%}
.ts-agenda-table-has-date th:nth-child(4){width:18%}
.ts-agenda-table-has-date th:nth-child(5){width:16%}
.ts-agenda-table-has-date th:nth-child(6){width:13%}
.ts-agenda-table-has-date th:nth-child(7){width:13%}
.ts-agenda-cell-actions{vertical-align:middle!important}
.ts-agenda-cell-actions .ts-primary-button,.ts-agenda-cell-actions .ts-secondary-button{width:100%;min-width:0;max-width:100%;padding:8px 7px;white-space:normal;line-height:1.18;text-align:center}
.ts-agenda-unassigned{color:#7d5700}
.ts-agenda-row-warning.ts-service-needs-assign td{background:#fffaf0}
.ts-agenda-row-warning.ts-service-needs-assign td:first-child{box-shadow:inset 4px 0 0 #d89c22}
@media(max-width:1180px){
  .ts-agenda-table th,.ts-agenda-table td{padding:7px 6px}
  .ts-agenda-table td{font-size:.81rem}
  .ts-agenda-cell-actions .ts-primary-button,.ts-agenda-cell-actions .ts-secondary-button{font-size:.78rem;padding:7px 5px}
}
@media(max-width:900px){
  .ts-agenda-table-wrap{overflow:visible}
  .ts-agenda-table,.ts-agenda-table tbody{display:block;width:100%;min-width:0}
  .ts-agenda-table thead{display:none}
  .ts-agenda-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-bottom:1px solid var(--ts-line);padding:8px;background:#fff}
  .ts-agenda-table tr:last-child{border-bottom:0}
  .ts-agenda-table td{display:block;width:auto!important;border:0;padding:7px 8px;min-width:0}
  .ts-agenda-table td::before{content:attr(data-label);display:block;margin-bottom:3px;color:#5b7076;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
  .ts-agenda-cell-beneficiary,.ts-agenda-cell-actions{grid-column:1/-1}
  .ts-agenda-cell-actions .ts-primary-button,.ts-agenda-cell-actions .ts-secondary-button{width:auto;min-width:150px;max-width:100%}
  .ts-agenda-row-warning.ts-service-needs-assign,.ts-agenda-table tr.ts-agenda-row-warning{background:#fffaf0}
  .ts-agenda-table tr.ts-service-needs-reassign{background:#fff4f2}
}
@media(max-width:560px){
  .ts-agenda-table tr{grid-template-columns:1fr}
  .ts-agenda-cell-beneficiary,.ts-agenda-cell-actions{grid-column:auto}
  .ts-agenda-cell-actions .ts-primary-button,.ts-agenda-cell-actions .ts-secondary-button{width:100%;min-width:0}
}


/* Alpha 6.23.4.3 — Consolidamento visivo Servizi + Turni e comunicazioni.
   Solo CSS/markup: nessuna modifica a database, query, permessi, stati o workflow. */
.ts-services-table-wrap{overflow-x:hidden;overflow-y:visible}
.ts-services-table{min-width:0;width:100%;table-layout:fixed;font-size:.88rem}
.ts-services-table th,.ts-services-table td{padding:9px 8px;overflow-wrap:anywhere}
.ts-services-table .ts-select-col{width:4%}
.ts-services-table .ts-service-col-date{width:7%}
.ts-services-table .ts-service-col-beneficiary{width:9%}
.ts-services-table .ts-service-col-route{width:23%}
.ts-services-table .ts-service-col-crew{width:11%}
.ts-services-table .ts-service-col-payer{width:8%}
.ts-services-table .ts-service-col-amount{width:7%}
.ts-services-table .ts-service-col-confirmations{width:10%}
.ts-services-table .ts-service-col-state{width:12%}
.ts-services-table .ts-service-col-actions{width:9%}
.ts-service-route-address{line-height:1.38}
.ts-service-route-meta{margin-top:7px;padding-top:6px;border-top:1px solid #e3eaec}
.ts-service-route-meta>strong{color:#274a53;font-size:.82rem}
.ts-service-route-meta>small{margin-top:2px!important;font-size:.78rem;line-height:1.32}
.ts-service-route-warning{color:#735300!important}
.ts-service-type-line{display:flex!important;align-items:center;gap:5px;flex-wrap:wrap;margin-top:6px!important;font-size:.72rem}
.ts-service-type-badge{display:inline-flex;padding:2px 6px;border:1px solid #c7d3d6;border-radius:999px;background:#f1f5f6;color:#52666c;font-size:.67rem;font-weight:900;line-height:1.2;letter-spacing:.025em}
.ts-service-type-badge.is-test{background:#edf3f5;border-color:#bbcdd2;color:#3f5e66}
.ts-service-type-badge.is-real{background:#f6f8f8;color:#66777c}
.ts-service-unassigned{color:#855800!important;font-weight:900!important}
.ts-service-escort{font-style:italic;color:#718086!important}
.ts-services-table .ts-row-actions{display:grid;grid-template-columns:1fr;gap:5px;align-items:stretch}
.ts-services-table .ts-row-actions>a,.ts-services-table .ts-row-actions>form,.ts-services-table .ts-row-actions>form>button{width:100%;min-width:0;max-width:100%}
.ts-services-table .ts-row-actions>a,.ts-services-table .ts-row-actions button{white-space:normal;text-align:center}
.ts-services-table .ts-row-actions .ts-reassign-action{padding:7px 6px;line-height:1.1}
.ts-services-table .ts-service-col-state .ts-service-operational{white-space:normal;text-align:center;justify-content:center}
.ts-service-needs-assign .ts-service-unassigned{color:#795200!important}

/* Turni: stessa struttura e logica, minore densità verticale e urgenza più gerarchica. */
.ts-comm-driver-list{gap:13px}
.ts-comm-driver-head{padding:12px 14px}
.ts-comm-driver-card.is-urgent{border:1px solid #ddb849;box-shadow:inset 3px 0 0 #d39a00,0 2px 8px rgba(29,60,68,.035)}
.ts-comm-driver-card.is-urgent .ts-urgent-badge{background:#ffe7a3;border-color:#d0a42c;color:#684700;font-weight:900}
.ts-comm-table th,.ts-comm-table td{padding:8px 8px;line-height:1.34}
.ts-comm-table td small{margin-top:2px}
.ts-turn-state{margin-top:7px;padding:6px 9px}
.ts-comm-card-warning,.ts-comm-card-confirmation{padding:8px 14px}
.ts-comm-technical{margin-top:13px;padding:8px 10px;background:#fbfcfc;border-color:#dbe4e6;box-shadow:none}
.ts-comm-technical summary{font-size:.82rem;color:#52676d}

@media(max-width:1250px){
  .ts-services-table th,.ts-services-table td{padding:8px 6px}
  .ts-services-table{font-size:.84rem}
  .ts-service-route-meta>small{font-size:.75rem}
}
@media(max-width:1050px){
  .ts-services-table-wrap{overflow:visible}
  .ts-services-table,.ts-services-table tbody{display:block;width:100%;min-width:0}
  .ts-services-table thead{display:none}
  .ts-services-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid var(--ts-line);padding:8px;background:#fff}
  .ts-services-table tr:last-child{border-bottom:0}
  .ts-services-table td{display:block;width:auto!important;border:0;padding:7px 8px;min-width:0}
  .ts-services-table td::before{display:block;margin-bottom:3px;color:#5b7076;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.045em}
  .ts-services-table .ts-service-col-date::before{content:'Data / ora'}
  .ts-services-table .ts-service-col-beneficiary::before{content:'Beneficiario'}
  .ts-services-table .ts-service-col-route::before{content:'Percorso / ORS e tempi'}
  .ts-services-table .ts-service-col-crew::before{content:'Equipaggio / mezzo'}
  .ts-services-table .ts-service-col-payer::before{content:'Committente'}
  .ts-services-table .ts-service-col-amount::before{content:'Importo'}
  .ts-services-table .ts-service-col-confirmations::before{content:'Conferme'}
  .ts-services-table .ts-service-col-state::before{content:'Stato operativo'}
  .ts-services-table .ts-service-col-actions::before{content:'Azioni'}
  .ts-services-table .ts-service-col-route,.ts-services-table .ts-service-col-actions{grid-column:1/-1}
  .ts-services-table .ts-row-actions{display:flex;flex-wrap:wrap;align-items:center}
  .ts-services-table .ts-row-actions>a,.ts-services-table .ts-row-actions>form,.ts-services-table .ts-row-actions>form>button{width:auto}
  .ts-services-table .ts-row-actions .ts-reassign-action{min-width:150px}
  .ts-services-table .ts-select-col{grid-column:1/-1}
}
@media(max-width:600px){
  .ts-services-table tr{grid-template-columns:1fr}
  .ts-services-table .ts-service-col-route,.ts-services-table .ts-service-col-actions,.ts-services-table .ts-select-col{grid-column:auto}
  .ts-services-table .ts-row-actions{display:grid;grid-template-columns:1fr}
  .ts-services-table .ts-row-actions>a,.ts-services-table .ts-row-actions>form,.ts-services-table .ts-row-actions>form>button{width:100%}
}

/* Alpha 6.23.4.4 — titolo dinamico sezioni corretto in JS; “Da aprire” in Percorsi e km usa l’arancio operativo. */

/* Alpha 6.23.4.6 — moduli economici/ACI compatti senza ridurre font o controlli. */
.ts-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start;margin:0}
.ts-form-grid>.ts-field{min-width:0}
.ts-inline-check{display:flex!important;align-items:center;gap:7px;min-height:40px;padding:8px 0;font-weight:400}
.ts-field .ts-inline-check input[type="checkbox"],.ts-field .ts-inline-check input[type="radio"]{width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0;padding:0;flex:0 0 auto}
@media(max-width:1100px){.ts-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-form-grid .ts-span-2{grid-column:span 2}.ts-form-grid .ts-span-4{grid-column:1/-1}}
@media(max-width:760px){.ts-form-grid{grid-template-columns:1fr}.ts-form-grid .ts-span-2,.ts-form-grid .ts-span-4{grid-column:1}}

/* Alpha 6.23.4.6 — contrasto selettore "Ambito di lavoro" nella sidebar.
   Forza un controllo chiaro anche quando il template Joomla/Helix applica
   stili globali ai select o una color-scheme scura. */
.ts-sidebar .ts-context select[name="association_id"]{
  color-scheme:light!important;
  background:#fff!important;
  background-color:#fff!important;
  color:#173a39!important;
  -webkit-text-fill-color:#173a39!important;
  border:1px solid rgba(255,255,255,.58)!important;
  opacity:1!important;
  box-shadow:none!important;
}
.ts-sidebar .ts-context select[name="association_id"] option{
  background:#fff!important;
  color:#173a39!important;
  -webkit-text-fill-color:#173a39!important;
}
.ts-sidebar .ts-context select[name="association_id"]:focus{
  outline:2px solid #a9ded2!important;
  outline-offset:1px!important;
  border-color:#a9ded2!important;
}

/* Alpha 6.23.4.7 — evidenza documenti operativi obbligatori senza trasformare i dati storici in errori distruttivi. */
.ts-doc-warning,.ts-doc-danger{display:inline-flex!important;width:max-content;max-width:100%;margin-top:5px!important;padding:3px 7px;border-radius:999px;font-size:.72rem!important;font-weight:800!important;line-height:1.2}
.ts-doc-warning{background:#fff4d6;color:#735200;border:1px solid #e2bd52}.ts-doc-danger{background:#fff0f0;color:#8a211b;border:1px solid #e2a49e}
[data-ts-driver-eligibility][data-status=ok]{color:#17623f;font-weight:700}[data-ts-driver-eligibility][data-status=error]{color:#8a211b;font-weight:800}[data-ts-driver-eligibility][data-status=info]{color:#52666d;font-weight:600}

/* Alpha 6.24.0 — servizi A/R come due tratte operative collegate. */
.ts-ar-badge{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin:0 6px 4px 0;padding:3px 7px;border-radius:999px;background:#e3f1ee;color:#15584f;border:1px solid #a7c9c1;font-size:.7rem;font-weight:850;letter-spacing:.04em;vertical-align:middle}
.ts-leg-inline{display:block!important;margin:2px 0 3px;color:#21474f;font-size:.76rem;letter-spacing:.02em}
.ts-service-return-leg{margin-top:7px;padding-top:7px;border-top:1px dashed #cbdcdf}
.ts-service-return-leg small{margin-top:2px!important}
.ts-leg-badge{display:inline-flex;margin:4px 0 2px;padding:3px 7px;border-radius:999px;font-size:.68rem;font-weight:900;letter-spacing:.045em;background:#e6f2ef;color:#15584f;border:1px solid #afd0c8}
.ts-leg-badge.ts-leg-return{background:#eaf1f7;color:#28536b;border-color:#b9ccda}
.ts-agenda-cell-time .ts-leg-badge{width:max-content}
.ts-agenda-cell-time>strong{font-size:1rem}
@media(max-width:760px){.ts-service-return-leg{padding-top:5px}.ts-leg-inline{font-size:.74rem}}

/* Alpha 6.24.1 — Km operativi: servizi + trasferimenti ORS e chiusura giornata protetta fino all'ultimo impegno. */


/* Alpha 6.25.0 — modulo territoriale SDS Prato, isolato dal nucleo Trasporto Sociale. */
.ts-sds-panel{display:grid;gap:16px}
.ts-sds-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:8px;border:1px solid var(--ts-line);border-radius:12px;background:#f4f8f8}
.ts-sds-tabs a{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:9px;color:var(--ts-ink);text-decoration:none;font-weight:750;border:1px solid transparent}
.ts-sds-tabs a:hover,.ts-sds-tabs a:focus{border-color:#9fc4bd;background:#fff}
.ts-sds-tabs a.is-active{background:var(--ts-nav);color:#fff;border-color:var(--ts-nav)}
.ts-subpanel{padding:16px;border:1px solid var(--ts-line);border-radius:12px;background:#fff}
.ts-subpanel>h3{margin-top:0}
.ts-sds-mini-cards,.ts-sds-report-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ts-sds-rate-categories{overflow:auto;border:1px solid var(--ts-line);border-radius:10px}
.ts-sds-rate-categories .ts-table{margin:0}
.ts-sds-rate-categories input{min-width:120px;width:100%}
.ts-check-line{display:flex;align-items:center;gap:8px;min-height:42px}
.ts-check-line input[type=checkbox]{width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0}
.ts-sds-transports details summary{cursor:pointer;font-weight:750}
.ts-sds-inline-edit{display:grid;gap:6px;min-width:220px;margin-top:6px}
.ts-sds-inline-edit select,.ts-sds-inline-edit input{width:100%;min-width:0}
.ts-sds-calendar{overflow:auto;max-width:100%}
.ts-sds-calendar .ts-table{min-width:1500px;font-size:.78rem}
.ts-sds-calendar th:not(:first-child),.ts-sds-calendar td:not(:first-child){text-align:center;min-width:34px;padding-left:4px;padding-right:4px}
.ts-sds-calendar th:first-child,.ts-sds-calendar td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:210px}
.ts-sds-association-selector{grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) auto}
.ts-chip-muted{background:#eef2f2!important;color:#5e7075!important;border-color:#d5dfe1!important}
@media(max-width:900px){.ts-sds-association-selector{grid-template-columns:1fr}.ts-sds-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ts-sds-tabs a{justify-content:center}}
@media(max-width:560px){.ts-sds-tabs{grid-template-columns:1fr}}

/* Alpha 6.25.1 — SDS: costi standard territoriali per categoria, separati dall'ACI del singolo mezzo. */
.ts-sds-panel>*{min-width:0}
.ts-sds-panel>.ts-panel-heading{flex-wrap:wrap}
.ts-sds-panel>.ts-panel-heading>div:first-child{flex:1 1 520px;min-width:0}
.ts-sds-panel>.ts-panel-heading>.ts-chip{flex:0 0 auto;margin-left:auto;max-width:100%}
.ts-sds-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch}
.ts-sds-tabs a{justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere}
.ts-sds-overview,.ts-sds-report-cards,.ts-subpanel,.ts-sds-rate-form{min-width:0}
.ts-sds-report-cards{grid-template-columns:repeat(5,minmax(0,1fr))}
.ts-sds-rate-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.ts-sds-rate-list{display:grid;gap:10px;min-width:0}
.ts-sds-rate-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(230px,1.4fr) minmax(170px,.9fr) minmax(170px,.9fr);gap:10px;align-items:end;padding:12px;border:1px solid var(--ts-line);border-radius:10px;background:#fbfdfd;min-width:0}
.ts-sds-rate-category{align-self:center;min-width:0}
.ts-sds-rate-category strong,.ts-sds-rate-category small{display:block}
.ts-sds-rate-category small{color:var(--ts-muted);margin-top:2px}
.ts-sds-rate-row .ts-field{min-width:0}
.ts-sds-rate-row select,.ts-sds-rate-row input{min-width:0;width:100%}
.ts-sds-standard-box{display:grid;gap:5px;align-self:stretch;align-content:center;padding:9px 10px;border:1px solid #cbdcdf;border-radius:8px;background:#fff;min-width:0}
.ts-sds-standard-box span{font-size:.78rem;font-weight:700;color:#425b63}
.ts-sds-standard-box strong{overflow-wrap:anywhere}
.ts-sds-rate-categories{overflow:visible}
.ts-sds-rate-categories .ts-table{min-width:0}
@media(max-width:1320px){
  .ts-sds-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ts-sds-rate-row{grid-template-columns:minmax(140px,.8fr) minmax(260px,1.5fr) minmax(150px,.8fr)}
  .ts-sds-rate-row>.ts-field:nth-of-type(3),.ts-sds-standard-box{grid-column:auto}
  .ts-sds-report-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
  .ts-sds-rate-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-sds-rate-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .ts-sds-rate-category{grid-column:1/-1}
  .ts-sds-standard-box{min-height:72px}
  .ts-sds-report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .ts-sds-panel>.ts-panel-heading>.ts-chip{margin-left:0}
  .ts-sds-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-sds-rate-form{grid-template-columns:1fr}
  .ts-sds-rate-form .ts-span-2{grid-column:1}
  .ts-sds-rate-row{grid-template-columns:1fr}
  .ts-sds-rate-category{grid-column:1}
  .ts-sds-report-cards{grid-template-columns:1fr}
}
@media(max-width:480px){.ts-sds-tabs{grid-template-columns:1fr}}


/* Alpha 6.25.1 — il blocco costi SDS usa tutta la larghezza disponibile. */
.ts-sds-rate-form>.ts-sds-full{grid-column:1/-1!important;min-width:0}
.ts-sds-vehicle-form select{min-width:0}
.ts-sds-rate-row .ts-sds-standard-box{min-width:0}
.ts-sds-rate-row .ts-sds-standard-box strong{white-space:nowrap}
@media (max-width:1280px){
  .ts-sds-rate-row{grid-template-columns:minmax(130px,.8fr) minmax(220px,1.4fr) minmax(150px,.85fr) minmax(150px,.8fr);align-items:start}
  .ts-sds-rate-row .ts-sds-standard-box{grid-column:auto}
}

/* Alpha 6.25.3.1 — consolidamento layout delle nuove sezioni TrasportoSolidale/SDS.
   Isola i nuovi blocchi dalle regole globali del template Joomla/Helix e impedisce
   campi spinti fuori area, colonne anomale e overflow non necessario. */
.ts-page-shell .ts-account-box{min-width:0;min-inline-size:0;max-width:100%}
.ts-page-shell .ts-sds-beneficiary-box{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-inline-size:0!important;
  margin:0!important;
  float:none!important;
  clear:both;
  align-items:start;
}
.ts-page-shell .ts-sds-beneficiary-box>*{min-width:0;max-width:100%;float:none!important}
.ts-page-shell .ts-sds-beneficiary-box>.ts-field{width:auto!important;margin:0!important;position:static!important}
.ts-page-shell .ts-sds-beneficiary-box>.ts-span-2{grid-column:span 2}
.ts-page-shell .ts-sds-beneficiary-box>.ts-span-4{grid-column:1/-1}
.ts-sds-beneficiary-heading{display:block;padding-bottom:8px;border-bottom:1px solid var(--ts-line)}
.ts-sds-beneficiary-heading h4{margin:0;color:var(--ts-nav);font-size:1.18rem;line-height:1.25}
.ts-sds-beneficiary-heading small{display:block;margin-top:4px;color:var(--ts-muted);line-height:1.4}
.ts-page-shell [data-ts-sds-service-fields]{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}
.ts-page-shell [data-ts-sds-service-fields]>.ts-form-grid{width:100%;max-width:100%;min-width:0}
.ts-page-shell .ts-sds-panel,.ts-page-shell .ts-sds-panel .ts-subpanel,.ts-page-shell .ts-sds-panel form,.ts-page-shell .ts-sds-panel .ts-table-wrap{width:100%;max-width:100%;min-width:0}
.ts-page-shell .ts-sds-profile-form,.ts-page-shell .ts-sds-assisted-form,.ts-page-shell .ts-sds-vehicle-form,.ts-page-shell .ts-sds-rate-form{min-width:0;max-width:100%}
.ts-page-shell .ts-sds-tabs{max-width:100%;min-width:0;overflow:hidden}
.ts-page-shell .ts-sds-tabs a{min-width:0;max-width:100%}
@media(max-width:1100px){
  .ts-page-shell .ts-sds-beneficiary-box{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-page-shell .ts-sds-beneficiary-box>.ts-span-2{grid-column:span 2}
  .ts-page-shell .ts-sds-beneficiary-box>.ts-span-4{grid-column:1/-1}
}
@media(max-width:760px){
  .ts-page-shell .ts-sds-beneficiary-box{grid-template-columns:1fr}
  .ts-page-shell .ts-sds-beneficiary-box>.ts-span-2,.ts-page-shell .ts-sds-beneficiary-box>.ts-span-4{grid-column:1}
  .ts-page-shell [data-ts-sds-service-fields]{overflow:visible}
}

/* alpha6.25.4 — scheda Assistito SDS: dati core in sola lettura, profilo territoriale separato */
.ts-sds-assisted-editor{min-width:0}
.ts-sds-assisted-editor .ts-panel-heading{flex-wrap:wrap;gap:12px}
.ts-sds-assisted-editor .ts-panel-heading>div:first-child{flex:1 1 560px;min-width:0}
.ts-sds-core-summary{display:grid;gap:12px;padding:14px;border:1px solid var(--ts-line);border-radius:12px;background:#f8fbfb;min-width:0}
.ts-sds-core-summary-heading strong,.ts-sds-core-summary-heading small{display:block}
.ts-sds-core-summary-heading small{margin-top:4px;color:var(--ts-muted);line-height:1.4}
.ts-sds-core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;min-width:0}
.ts-sds-core-grid article{padding:10px 12px;border:1px solid var(--ts-line);border-radius:9px;background:#fff;min-width:0}
.ts-sds-core-grid article span,.ts-sds-core-grid article strong,.ts-sds-core-grid article small{display:block;overflow-wrap:anywhere}
.ts-sds-core-grid article span{font-size:.78rem;font-weight:700;color:#50686f;text-transform:uppercase;letter-spacing:.02em}
.ts-sds-core-grid article strong{margin-top:4px}
.ts-sds-core-grid article small{margin-top:3px;color:var(--ts-muted)}
.ts-sds-core-flags{margin-top:0}
.ts-sds-core-note{display:block;padding-top:2px;color:var(--ts-muted);line-height:1.45}
.ts-sds-section-title{padding-top:4px;border-top:1px solid var(--ts-line)}
.ts-sds-section-title h4{margin:10px 0 2px;color:var(--ts-nav);font-size:1.08rem}
.ts-sds-section-title small{display:block;color:var(--ts-muted);line-height:1.4}
.ts-readonly-value{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--ts-line);border-radius:8px;background:#f4f7f7;font-weight:700;overflow-wrap:anywhere}
.ts-sds-availability{display:grid;gap:6px;min-width:0}
.ts-sds-availability-head,.ts-sds-availability-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(110px,.55fr) minmax(110px,.55fr) minmax(200px,1.7fr);gap:8px;align-items:center;min-width:0}
.ts-sds-availability-head{padding:0 8px;font-size:.78rem;font-weight:800;color:#3c5961;text-transform:uppercase;letter-spacing:.02em}
.ts-sds-availability-row{padding:8px;border:1px solid var(--ts-line);border-radius:9px;background:#fff}
.ts-sds-availability-row>*{min-width:0;width:100%;margin:0}
.ts-sds-availability-row .ts-check-line{width:auto}
@media(max-width:980px){
  .ts-sds-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ts-sds-availability-head{display:none}
  .ts-sds-availability-row{grid-template-columns:minmax(140px,1fr) repeat(2,minmax(120px,.7fr));}
  .ts-sds-availability-row>input:last-child{grid-column:1/-1}
}
@media(max-width:640px){
  .ts-sds-core-grid{grid-template-columns:1fr}
  .ts-sds-availability-row{grid-template-columns:1fr 1fr}
  .ts-sds-availability-row .ts-check-line{grid-column:1/-1}
  .ts-sds-availability-row>input:last-child{grid-column:1/-1}
}

/* alpha6.25.5 — SDS compliance */
.ts-sds-continuity-hint{display:block;margin-top:.35rem;color:var(--ts-teal,#176f64)}
.ts-sds-panel .ts-inline-admin-form{gap:.4rem;align-items:center;flex-wrap:wrap}
.ts-sds-panel .ts-inline-admin-form input,.ts-sds-panel .ts-inline-admin-form select{min-width:9rem}
@media (max-width:1100px){.ts-sds-panel .ts-table{min-width:1100px}}

/* Alpha 6.25.5.7 — disponibilità strutturata e centrale imprevisti */
.ts-incident-recovery{border-left:4px solid #9b2f22}.ts-incident-time-form{align-items:end}.ts-incident-candidate-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-top:12px}.ts-incident-candidate-list>article{margin:0;display:flex;justify-content:space-between;gap:14px;align-items:center}.ts-incident-candidate-list>article>div{display:grid;gap:4px}.ts-incident-candidate-exception{border-style:dashed}.ts-availability-exception-form{margin-bottom:12px}@media(max-width:760px){.ts-incident-candidate-list>article{align-items:stretch;flex-direction:column}.ts-incident-time-form{align-items:stretch}}

/* Alpha 6.25.5.10 — importazioni per associazione e SDS ripetitivo; schema 0.6.22. */
.ts-session-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 7px 13px}.ts-session-actions .ts-logout{margin:0}.ts-session-actions>button,.ts-session-actions .ts-logout button{width:100%;min-height:36px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:rgba(255,255,255,.1);color:#fff;padding:7px 9px;cursor:pointer;font-weight:800}.ts-session-actions>button:hover,.ts-session-actions .ts-logout button:hover{background:rgba(255,255,255,.18)}
.ts-nav-group-title.ts-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;padding:2px 10px 7px;border:0;border-left:0;background:transparent!important;color:rgba(255,255,255,.88)!important;border-radius:0;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.085em;text-shadow:0 1px 1px rgba(0,0,0,.16);cursor:pointer}.ts-nav-group-title.ts-nav-group-toggle:hover,.ts-nav-group-title.ts-nav-group-toggle:focus-visible{color:#fff!important;box-shadow:none;outline:2px solid rgba(255,255,255,.35);outline-offset:-2px}.ts-nav-group-chevron{font-size:1rem;line-height:1;transition:transform .16s ease}.ts-nav-group.is-open .ts-nav-group-chevron{transform:rotate(180deg)}.ts-nav-group:not(.is-open)>button[data-ts-view]{display:none}.ts-nav-group.is-open>button[data-ts-view]{display:block}
.ts-dashboard-command{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:18px 20px;border:1px solid #cbdcdf;border-left:5px solid var(--ts-primary);border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(29,60,68,.035)}.ts-dashboard-command h2{margin:2px 0 4px;font-size:1.35rem}.ts-dashboard-command p{margin:0;color:var(--ts-muted)}.ts-dashboard-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ts-dashboard-operational .ts-positive-card{border-top-color:#4b9271!important}.ts-dashboard-operational .ts-all-clear-card{background:#f2faf6}.ts-dashboard-operational article>a{display:inline-flex;margin-top:8px;font-size:.82rem;font-weight:800;color:#245763}.ts-dashboard-secondary-info{margin-top:16px}
.ts-form-section-label{display:flex;align-items:flex-start;gap:10px;margin:8px 0 0;padding:11px 12px;border-radius:10px;background:#eef5f6;border-left:4px solid var(--ts-primary)}.ts-form-section-label strong{font-size:.96rem;color:#183f46}.ts-form-section-label small{display:block;color:#66787e;padding-top:1px}.ts-editor>.ts-form-section-label:first-of-type{margin-top:0}
@media(max-width:900px){.ts-dashboard-command{align-items:flex-start;flex-direction:column}.ts-dashboard-quick-actions{justify-content:flex-start}}
@media(max-width:760px){.ts-session-actions{grid-template-columns:1fr 1fr;margin-left:0;margin-right:0}.ts-dashboard-quick-actions{width:100%}.ts-dashboard-quick-actions>a{flex:1 1 180px}.ts-nav-group:not(.is-open)>button[data-ts-view]{display:none}}
@media(max-width:480px){.ts-session-actions{grid-template-columns:1fr}.ts-dashboard-quick-actions>a{width:100%;flex-basis:100%}.ts-form-section-label{display:block}.ts-form-section-label small{margin-top:3px}}

/* ALPHA1.8.2.4 — avvisi operativi App Autista -> centrale */
.ts-operational-alert-overlay{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(15,23,42,.58);backdrop-filter:blur(2px)}
.ts-operational-alert-dialog{width:min(560px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border:2px solid #b91c1c;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.32);padding:24px;color:#172033}
.ts-operational-alert-dialog.is-substitution{border-color:#b45309}
.ts-operational-alert-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:.78rem;font-weight:900;letter-spacing:.035em}
.ts-operational-alert-dialog.is-substitution .ts-operational-alert-badge{background:#ffedd5;color:#9a3412}
.ts-operational-alert-dialog h2{margin:12px 0 8px;font-size:1.45rem;line-height:1.2;color:#172033}
.ts-operational-alert-intro{margin:0 0 16px;font-size:1.05rem;font-weight:700;line-height:1.45}
.ts-operational-alert-details{display:grid;gap:8px;margin:0 0 16px;padding:14px 16px;border:1px solid #d9e0e8;border-radius:12px;background:#f8fafc}
.ts-operational-alert-details div{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:start}
.ts-operational-alert-details dt{font-weight:800;color:#526173}
.ts-operational-alert-details dd{margin:0;font-weight:700;color:#172033;overflow-wrap:anywhere}
.ts-operational-alert-note{margin:0 0 18px;color:#526173;line-height:1.45}
.ts-operational-alert-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.ts-operational-alert-actions button{min-height:44px}
@media (max-width:640px){.ts-operational-alert-overlay{padding:12px;align-items:flex-end}.ts-operational-alert-dialog{padding:18px;border-radius:16px 16px 10px 10px;max-height:88vh}.ts-operational-alert-details div{grid-template-columns:1fr;gap:2px}.ts-operational-alert-actions{display:grid;grid-template-columns:1fr}.ts-operational-alert-actions button{width:100%}}

/* ALPHA1.8.2.22 — inserimento rapido beneficiario e controllo cassa. */
.ts-beneficiary-search-row{display:flex;gap:.55rem;align-items:center}.ts-beneficiary-search-row>input{flex:1 1 auto;min-width:0}.ts-quick-beneficiary-dialog{width:min(880px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:0;border-radius:16px;padding:22px;box-shadow:0 22px 70px rgba(15,45,38,.28)}.ts-quick-beneficiary-dialog::backdrop{background:rgba(8,28,24,.45)}.ts-quick-beneficiary-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.ts-quick-beneficiary-head strong{display:block;font-size:1.2rem}.ts-quick-beneficiary-head small{display:block;margin-top:4px}.ts-qb-duplicate-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:.55rem 0;border-top:1px solid rgba(0,0,0,.08)}.ts-service-receipts-panel{margin-top:18px}.ts-receipt-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ts-receipt-form .ts-form-actions{align-self:end}@media(max-width:760px){.ts-beneficiary-search-row{align-items:stretch}.ts-beneficiary-search-row .ts-mini-button{white-space:nowrap}.ts-quick-beneficiary-dialog{width:calc(100vw - 18px);padding:15px}.ts-quick-beneficiary-head{flex-direction:column}.ts-receipt-form{grid-template-columns:1fr}}
