:root{--red:#b80f2a;--red2:#8f0b20;--bg:#f4f6f8;--panel:#fff;--text:#172033;--muted:#687386;--line:#dde3ea;--green:#15803d;--amber:#c56a05;--blue:#2563eb;--shadow:0 10px 30px rgba(15,23,42,.06);--radius:16px}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#101722;color:#e8edf4;padding:18px 14px;display:flex;flex-direction:column;z-index:40}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 20px}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--red),#e11d48);display:grid;place-items:center}.brand-mark svg{width:24px;height:24px}.brand strong{display:block;font-size:17px}.brand span{display:block;font-size:12px;color:#aab4c3;margin-top:2px}.nav-caption{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#778397;font-weight:800;margin:20px 10px 7px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;color:#cbd5e1;font-weight:650;font-size:14px}.nav-link svg{width:19px}.nav-link:hover{background:#182334;color:white}.nav-link.active{background:#fff;color:#111827}.sidebar-bottom{margin-top:auto;border-top:1px solid #273245;padding-top:12px}.main{margin-left:250px}.topbar-ui{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:30}.topbar-title{font-weight:800}.topbar-actions{display:flex;gap:10px;align-items:center}.user-chip{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.user-chip svg{width:17px}.page{padding:26px 28px 60px;max-width:1680px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.page-head h1{font-size:28px;line-height:1.1;margin:4px 0 6px}.page-head p{margin:0;color:var(--muted);font-size:14px}.page-actions{display:flex;gap:10px;align-items:center}.back-link{display:inline-flex;gap:6px;align-items:center;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:7px}.back-link svg{width:16px}.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap}.btn svg{width:17px;height:17px}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red2)}.btn-secondary{background:#eef2f6;color:#243144;border:1px solid #dbe2ea}.btn-light{background:#f7f8fa;border:1px solid var(--line)}.btn-danger{background:#c81e1e;color:#fff}.btn-danger-outline{background:#fff3f3;color:#b91c1c;border:1px solid #fecaca}.btn-block{width:100%;margin-top:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.panel.no-pad{padding:0;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.panel-head h2{margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.panel-head h2 svg{width:20px}.panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.compact-head{margin-bottom:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-grid{margin-top:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow)}.stat-card>svg{width:30px;height:30px;color:var(--red)}.stat-card span{display:block;color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{font-size:28px}.stat-card.alert{border-color:#fecaca;background:#fffafa}.filter-bar{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;gap:10px;align-items:center;margin-bottom:14px}.filter-bar select{height:42px;border:1px solid #cfd7e1;border-radius:9px;padding:0 12px;background:#fff}.search-box{position:relative;flex:1;min-width:240px}.search-box svg{position:absolute;left:13px;top:12px;width:18px;color:#8792a5}.search-box input{width:100%;height:42px;border:1px solid #cfd7e1;border-radius:9px;padding:0 12px 0 40px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:#f7f9fb;color:#596579;text-transform:uppercase;font-size:10px;letter-spacing:.04em;text-align:left;padding:11px 14px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 14px;border-bottom:1px solid #edf0f3;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcfd}.item-title{font-weight:850;color:#111827}.subline,.eyebrow{display:block;font-size:10px;color:var(--muted);margin-top:2px}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-weight:800;margin:0 0 2px}.status-badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:850;background:#eef2f6;color:#4b5563;white-space:nowrap}.status-badge.overdue{background:#fee2e2;color:#b91c1c}.status-badge.soon{background:#fef3c7;color:#92400e}.status-badge.next{background:#dbeafe;color:#1d4ed8}.status-badge.ok{background:#dcfce7;color:#166534}.muted-badge{background:#eef2f6!important;color:#6b7280!important}.status-overdue td{background:#fff6f6}.location-chip,.count-chip{display:inline-flex;align-items:center;gap:5px;background:#f1f5f9;border-radius:8px;padding:4px 7px;font-weight:700}.location-chip svg{width:14px}.count-chip{min-width:28px;justify-content:center}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff;display:inline-grid;place-items:center;cursor:pointer}.icon-button svg{width:17px}.text-link{color:var(--red);font-size:13px;font-weight:800}.empty,.empty-state{text-align:center;color:var(--muted);padding:24px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state svg{width:30px}.empty-state.small{padding:14px}.event-list{display:flex;flex-direction:column;gap:8px}.event-item{display:flex;gap:12px;padding:10px;border:1px solid #edf0f3;border-radius:10px}.event-date{min-width:46px;height:46px;border-radius:10px;background:#fff1f2;color:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date strong{font-size:18px}.event-date span{font-size:9px;font-weight:800}.event-item>div:last-child{display:flex;flex-direction:column;justify-content:center}.event-item span{font-size:12px;color:var(--muted);margin-top:3px}.entity-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.entity-main,.entity-side{display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;gap:15px}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:800;color:#384357}.form-control,.field input:not([type=checkbox]),.field select,.field textarea{width:100%;border:1px solid #cfd7e1;border-radius:9px;background:#fff;padding:10px 11px;min-height:42px;color:#111827}.field textarea{resize:vertical}.field small{font-size:11px;color:var(--muted)}.checkbox-field{flex-direction:row;align-items:center;padding-top:23px}.checkbox-field input{width:18px;height:18px}.deadline-list{display:flex;flex-direction:column;gap:10px}.deadline-card{border:1px solid #e1e7ee;border-radius:12px;padding:12px;background:#fbfcfd}.deadline-main{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1fr 1.4fr auto;gap:10px;align-items:end}.field.compact{gap:4px}.field.compact label{font-size:10px;text-transform:uppercase;color:#6b7280}.field.compact .form-control{min-height:38px;padding:8px 9px}.periodicity{display:grid;grid-template-columns:70px 1fr;gap:6px}.verify-box{min-height:38px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:9px;display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer}.verify-box input{width:17px;height:17px}.verify-box span{display:flex;flex-direction:column}.verify-box strong{font-size:11px;color:#166534}.verify-box small{font-size:9px;color:#4b7a5a}.delete-inline{font-size:10px;color:#b91c1c;padding-bottom:11px}.deadline-notes{margin-top:8px}.deadline-notes summary{font-size:11px;font-weight:800;color:#687386;cursor:pointer}.deadline-notes textarea{margin-top:8px;width:100%;border:1px solid #d5dde6;border-radius:8px;padding:8px}.side-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 4px;border-bottom:1px solid #edf0f3}.side-row:last-child{border-bottom:0}.side-row span{display:flex;flex-direction:column}.side-row strong{font-size:13px}.side-row small{font-size:11px;color:var(--muted);margin-top:2px}.side-row svg{width:17px;color:#8994a5}.history-list{display:flex;flex-direction:column}.history-row{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f3}.history-dot{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:5px}.history-row>div:last-child{display:flex;flex-direction:column}.history-row strong{font-size:12px}.history-row span{font-size:11px}.history-row small{font-size:10px;color:var(--muted)}.tag-row{display:flex;gap:5px;flex-wrap:wrap}.tag{background:#eef2ff;color:#4338ca;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}.roster-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.roster-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.turn-badge{width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.roster-content{display:flex;flex-direction:column;min-width:0;flex:1}.roster-content span,.roster-content small{font-size:10px;color:var(--muted)}.roster-content strong{font-size:13px;margin:3px 0}.member-picker ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.member-picker label{display:flex;gap:8px;align-items:center;border:1px solid #e1e7ee;border-radius:9px;padding:9px;font-size:12px}.calendar-row{justify-content:flex-start}.calendar-row>span{flex:1}.toast{padding:11px 14px;border-radius:10px;background:#dcfce7;color:#166534;margin-bottom:14px;font-weight:700}.form-errors{background:#fee2e2;color:#991b1b;border-radius:10px;padding:10px 13px;margin-bottom:14px}.errorlist{color:#b91c1c;font-size:11px;margin:2px 0 0;padding-left:16px}.confirm-card{max-width:520px;margin:80px auto;text-align:center}.danger-icon{width:60px;height:60px;border-radius:50%;background:#fee2e2;color:#b91c1c;display:grid;place-items:center;margin:auto}.danger-icon svg{width:28px}.center{justify-content:center}.narrow-form{max-width:1000px;margin:auto}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(140deg,#f8fafc,#eef2f7)}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 60px rgba(15,23,42,.12);padding:28px}.login-brand{padding:0 0 22px}.login-card h1{margin:5px 0}.login-card p{color:var(--muted);margin:0 0 18px}.login-card .field{margin-bottom:12px}.login-card input{width:100%;height:44px;border:1px solid #cfd7e1;border-radius:9px;padding:0 11px}.login-monitor{display:block;text-align:center;margin-top:15px;color:var(--muted);font-size:12px}.mobile-only{display:none}
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(2,1fr)}.entity-layout{grid-template-columns:1fr}.entity-side{display:grid;grid-template-columns:1fr 1fr}.roster-grid{grid-template-columns:repeat(2,1fr)}.deadline-main{grid-template-columns:repeat(3,1fr)}.verify-box{grid-column:span 2}}
@media(max-width:820px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.main{margin-left:0}.mobile-only{display:inline-grid}.topbar-ui{padding:0 14px}.user-chip{display:none}.page{padding:18px 12px 50px}.page-head{align-items:stretch;flex-direction:column}.page-actions{width:100%}.page-actions .btn,.page-head>.btn{flex:1}.stats-grid,.grid-2,.entity-side,.form-grid.cols-3,.form-grid.cols-2,.roster-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.filter-bar{flex-wrap:wrap}.filter-bar>*{flex:1 1 100%}.deadline-main{grid-template-columns:1fr 1fr}.verify-box{grid-column:span 2}.data-table{min-width:720px}.member-picker ul{grid-template-columns:1fr}.topbar-title{font-size:14px}}

/* === V6 · gestione operativa === */
.ops-stats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.ops-stat{min-height:104px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden}.ops-stat span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.ops-stat strong{display:block;font-size:30px;margin-top:4px}.ops-stat>svg{position:absolute;right:14px;bottom:14px;width:28px;height:28px;opacity:.75}.ops-stat.danger{border-color:#fecaca;background:#fff8f8}.ops-stat.danger strong,.ops-stat.danger>svg{color:#b91c1c}.ops-stat.warning{border-color:#fed7aa;background:#fffaf5}.ops-stat.warning strong,.ops-stat.warning>svg{color:#c2410c}.ops-stat.info{border-color:#bfdbfe;background:#f8fbff}.ops-stat.info strong,.ops-stat.info>svg{color:#2563eb}.ops-stat.success{border-color:#bbf7d0;background:#f7fff9}.ops-stat.success strong,.ops-stat.success>svg{color:#15803d}
.quick-filter-row{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.quick-filter{display:inline-flex;align-items:center;height:34px;border-radius:999px;padding:0 13px;border:1px solid #d8e0e9;background:#fff;font-size:11px;font-weight:850;color:#4b5563}.quick-filter:hover,.quick-filter.active{border-color:#94a3b8;background:#eef2f6;color:#111827}.quick-filter.danger.active{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.quick-filter.warning.active{background:#fef3c7;border-color:#fde68a;color:#92400e}.quick-filter.info.active{background:#dbeafe;border-color:#bfdbfe;color:#1d4ed8}.quick-filter.success.active{background:#dcfce7;border-color:#bbf7d0;color:#166534}
.status-row-overdue td{background:#fff8f8}.status-row-soon td{background:#fffdf6}.status-row-next td{background:#f8fbff}.status-outline-overdue{border-left:3px solid #dc2626!important}.status-outline-soon{border-left:3px solid #f59e0b!important}.status-outline-next{border-left:3px solid #3b82f6!important}.status-outline-ok{border-left:3px solid #22c55e!important}.status-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;flex:none}.status-dot.overdue{background:#dc2626}.status-dot.soon{background:#f59e0b}.status-dot.next{background:#3b82f6}.status-dot.ok{background:#22c55e}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-actions a{min-height:72px;border:1px solid #e2e8f0;border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;font-weight:800;background:#fbfcfd}.quick-actions a:hover{background:#f5f7fa;border-color:#cbd5e1}.quick-actions svg{width:22px;color:var(--red)}
.recent-checks{display:flex;flex-direction:column}.recent-check{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:10px 3px;border-bottom:1px solid #edf0f3}.recent-check:last-child{border-bottom:0}.check-icon{width:30px;height:30px;border-radius:9px;background:#ecfdf3;color:#15803d;display:grid;place-items:center}.check-icon svg{width:17px}.check-main,.check-meta{display:flex;flex-direction:column}.check-main strong,.check-meta strong{font-size:12px}.check-main small,.check-meta small{font-size:10px;color:var(--muted);margin-top:2px}.check-meta{text-align:right}
.wide-side{grid-template-columns:minmax(0,1fr) 410px}.notes-compact textarea{min-height:72px;max-height:130px}.dae-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.dae-item{border:1px solid #e2e8f0;border-radius:11px;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff}.dae-item.current{box-shadow:0 0 0 2px rgba(184,15,42,.12);border-color:#f1aab6}.dae-item>span:first-child{display:flex;flex-direction:column}.dae-item strong{font-size:12px}.dae-item small{font-size:10px;color:var(--muted);margin-top:2px}
.deadline-card{padding:10px 11px}.deadline-card.status-overdue{border-color:#fecaca;background:#fffafa}.deadline-card.status-soon{border-color:#fde68a;background:#fffdf7}.deadline-card.status-next{border-color:#bfdbfe;background:#fbfdff}.deadline-main-v2{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr 1.55fr auto;gap:9px;align-items:end}.verify-actions{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:stretch}.verify-now-btn,.verify-other-btn{border-radius:9px;border:1px solid #a7e2bc;background:#ecfdf3;color:#166534;cursor:pointer;font-weight:850}.verify-now-btn{display:flex;align-items:center;gap:7px;padding:6px 9px;min-height:42px}.verify-now-btn svg{width:18px}.verify-now-btn span{display:flex;flex-direction:column;align-items:flex-start}.verify-now-btn strong{font-size:11px}.verify-now-btn small{font-size:8px;font-weight:650;color:#4d7c5c}.verify-other-btn{padding:5px 8px;background:#fff;border-color:#cbd5e1;color:#475569;font-size:10px}.verify-other-btn svg{width:15px;display:block;margin:auto}.verify-now-btn:hover{background:#dcfce7}.verify-other-btn:hover{background:#f8fafc}.new-deadline-hint{min-height:40px;border:1px dashed #cbd5e1;border-radius:9px;display:flex;align-items:center;gap:6px;padding:7px;color:#64748b;font-size:10px}.new-deadline-hint svg{width:15px}.deadline-foot{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:22px}.deadline-foot .deadline-notes{margin:0 0 0 auto}.period-label{font-size:10px;color:#64748b;font-weight:700}.verify-date-field input:placeholder-shown{color:#94a3b8}
.history-table{display:flex;flex-direction:column}.history-record{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f3}.history-record:last-child{border-bottom:0}.history-record>div{display:flex;flex-direction:column}.history-record span,.history-record small{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:750}.history-record strong{font-size:11px;margin-top:2px}
.vehicle-equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vehicle-equipment-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:11px;padding:10px 11px}.vehicle-equipment-main,.vehicle-equipment-due{display:flex;flex-direction:column}.vehicle-equipment-main strong{font-size:12px}.vehicle-equipment-main small,.vehicle-equipment-due small{font-size:9px;color:var(--muted);margin-top:2px}.vehicle-equipment-due{text-align:right}.vehicle-equipment-due strong{font-size:11px}

@media(max-width:1320px){.ops-stats-grid{grid-template-columns:repeat(3,1fr)}.wide-side{grid-template-columns:minmax(0,1fr) 340px}.deadline-main-v2{grid-template-columns:repeat(3,1fr)}.verify-actions{grid-column:span 2}.vehicle-equipment-grid{grid-template-columns:1fr}}
@media(max-width:820px){.ops-stats-grid{grid-template-columns:repeat(2,1fr)}.ops-stat{min-height:88px}.ops-stat strong{font-size:25px}.quick-filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.quick-filter{flex:none}.wide-side{grid-template-columns:1fr}.deadline-main-v2{grid-template-columns:1fr 1fr}.verify-actions{grid-column:span 2}.deadline-foot{flex-wrap:wrap}.dae-grid,.vehicle-equipment-grid{grid-template-columns:1fr}.history-record{grid-template-columns:1fr 1fr}.recent-check{grid-template-columns:30px 1fr}.check-meta{grid-column:2;text-align:left}.quick-actions{grid-template-columns:1fr 1fr}.mobile-cards{min-width:0!important}.mobile-cards thead{display:none}.mobile-cards tbody,.mobile-cards tr,.mobile-cards td{display:block;width:100%}.mobile-cards tr{border-bottom:10px solid var(--bg);padding:10px 12px;background:#fff}.mobile-cards tr:last-child{border-bottom:0}.mobile-cards td{border:0!important;padding:5px 0!important;display:flex;align-items:center;justify-content:space-between;gap:14px;background:transparent!important}.mobile-cards td:before{content:attr(data-label);font-size:9px;text-transform:uppercase;color:#64748b;font-weight:850;min-width:95px}.mobile-cards td:first-child{display:block;padding-bottom:9px!important}.mobile-cards td:first-child:before{display:none}.mobile-cards td.row-actions,.mobile-cards td:last-child:empty{display:none}.table-wrap{overflow:visible}}
@media(max-width:520px){.ops-stats-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr}.deadline-main-v2{grid-template-columns:1fr}.verify-actions{grid-column:auto;grid-template-columns:1fr}.periodicity{grid-template-columns:70px 1fr}.history-record{grid-template-columns:1fr 1fr}.page{padding-left:9px;padding-right:9px}.panel{padding:14px}.page-head h1{font-size:24px}}

/* === V6.1 · Utenti e sicurezza === */
.security-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,.7fr);gap:18px;align-items:start}.security-section-head{padding:18px 18px 10px}.security-section-head h2{margin:0;display:flex;align-items:center;gap:8px;font-size:18px}.security-section-head h2 svg{width:20px}.security-section-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.monitor-security-card{position:sticky;top:84px}.security-status{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #d9eadf;background:#f7fff9;border-radius:11px;margin-bottom:15px}.security-status>div{display:flex;flex-direction:column}.security-status strong{font-size:12px}.security-status small{font-size:10px;color:var(--muted);margin-top:2px}.security-password-form{display:flex;flex-direction:column;gap:12px}.security-note{display:flex;gap:9px;padding:10px 11px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#536174;font-size:10px;line-height:1.45}.security-note svg{width:18px;flex:none;color:#15803d}.user-edit-card{max-width:960px}.form-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.form-errors,.errorlist{color:#b91c1c;font-size:11px}.errorlist{margin:4px 0 0;padding-left:16px}
@media(max-width:1050px){.security-grid{grid-template-columns:1fr}.monitor-security-card{position:static}}

/* V6.2 - Dotazioni mezzo raggruppate per categoria */
.vehicle-equipment-panel .panel-head{margin-bottom:10px}
.equipment-groups{display:flex;flex-direction:column;gap:10px}
.equipment-group{border:1px solid #dbe3ec;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.025)}
.equipment-group.has-overdue{border-color:#fecaca}
.equipment-group.has-soon{border-color:#fed7aa}
.equipment-group-summary{list-style:none;display:grid;grid-template-columns:24px 32px minmax(170px,1fr) auto;align-items:center;gap:9px;padding:11px 13px;background:#f8fafc;cursor:pointer;user-select:none;transition:background .15s ease}
.equipment-group-summary::-webkit-details-marker{display:none}
.equipment-group-summary:hover{background:#f1f5f9}
.equipment-group[open]>.equipment-group-summary{border-bottom:1px solid #e5eaf0;background:#f8fafc}
.equipment-group-chevron{display:flex;align-items:center;justify-content:center;color:#64748b}
.equipment-group-chevron svg{width:17px;height:17px;transition:transform .18s ease}
.equipment-group[open] .equipment-group-chevron svg{transform:rotate(90deg)}
.equipment-group-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;color:#334155}
.equipment-group-icon svg{width:16px;height:16px}
.equipment-group-title{display:flex;align-items:baseline;gap:9px;min-width:0}
.equipment-group-title strong{font-size:13px;color:#0f172a;text-transform:uppercase;letter-spacing:.01em}
.equipment-group-title small{font-size:10px;color:#64748b;font-weight:700;white-space:nowrap}
.equipment-group-alerts{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.group-alert{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap;border:1px solid transparent}
.group-alert .group-dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.group-alert.overdue{color:#b91c1c;background:#fff1f2;border-color:#fecdd3}
.group-alert.soon{color:#b45309;background:#fff7ed;border-color:#fed7aa}
.group-alert.next{color:#0369a1;background:#f0f9ff;border-color:#bae6fd}
.equipment-group-body{padding:10px}
.equipment-group-body .vehicle-equipment-grid{margin:0}
.equipment-group.has-overdue>.equipment-group-summary .equipment-group-icon{color:#b91c1c;border-color:#fecaca;background:#fff7f7}
.equipment-group.has-soon>.equipment-group-summary .equipment-group-icon{color:#b45309;border-color:#fed7aa;background:#fffaf5}
@media(max-width:820px){
  .equipment-group-summary{grid-template-columns:20px 30px 1fr;padding:10px}
  .equipment-group-alerts{grid-column:3;justify-content:flex-start;margin-top:-2px}
  .equipment-group-title{flex-direction:column;gap:1px;align-items:flex-start}
  .equipment-group-body{padding:8px}
}

/* === V6.4 · Personale: qualifiche professionali e grado controllato === */
.personnel-form{max-width:1180px;margin:0 auto}
.personnel-panel{padding:22px}
.personnel-panel .form-grid{gap:18px 20px}
.personnel-panel .field>label{font-size:11px;text-transform:uppercase;letter-spacing:.045em;color:#596579}
.personnel-panel .field .form-control{border-color:#cbd5e1;box-shadow:0 1px 1px rgba(15,23,42,.02);transition:border-color .15s ease,box-shadow .15s ease}
.personnel-panel .field .form-control:focus{outline:none;border-color:#b80f2a;box-shadow:0 0 0 3px rgba(184,15,42,.08)}
.grade-field select{font-weight:800;color:#1f2937;background-color:#fff}
.grade-field small{display:flex;align-items:center;gap:5px}
.qualification-field{margin-top:2px;padding-top:18px;border-top:1px solid #e7ebf0}
.field-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.field-title-row>div{display:flex;flex-direction:column;gap:2px}
.field-title-row label{font-size:12px;font-weight:850;color:#243144;text-transform:uppercase;letter-spacing:.045em}
.field-title-row small{font-size:10px;color:#7a8698}
.field-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#64748b;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.field-badge svg{width:14px;height:14px}
.choice-card-grid{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px;width:100%}
.choice-card-grid li{margin:0!important;padding:0!important;list-style:none!important}
.choice-card-grid li label{min-height:46px;width:100%;display:flex!important;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;color:#263244;font-size:11px;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .12s ease}
.choice-card-grid li label:hover{border-color:#b7c2d0;background:#fbfcfe;transform:translateY(-1px)}
.choice-card-grid input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:1.5px solid #aeb8c5;border-radius:5px;background:#fff;display:grid;place-items:center;margin:0;cursor:pointer;transition:all .15s ease}
.choice-card-grid input[type=checkbox]::before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .12s ease}
.choice-card-grid input[type=checkbox]:checked{background:var(--red);border-color:var(--red)}
.choice-card-grid input[type=checkbox]:checked::before{transform:rotate(-45deg) scale(1)}
.choice-card-grid li label:has(input:checked){border-color:#e4a1ac;background:#fff7f8;box-shadow:0 0 0 2px rgba(184,15,42,.05)}
.personnel-active-field{align-self:end;min-height:42px;padding:0 12px;border:1px solid #dbe2ea;border-radius:10px;background:#f8fafc;gap:9px}
.personnel-active-field input{accent-color:var(--red)}
.personnel-active-field label{margin:0!important;text-transform:none!important;font-size:12px!important;color:#263244!important}
.notes-field textarea{min-height:92px;max-height:180px}
@media(max-width:720px){
  .personnel-panel{padding:14px}
  .personnel-panel .form-grid.cols-2{grid-template-columns:1fr}
  .qualification-field,.notes-field{grid-column:auto}
  .choice-card-grid{grid-template-columns:1fr 1fr}
  .field-title-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:430px){.choice-card-grid{grid-template-columns:1fr}}

/* === V6.5 · Telegram === */
.telegram-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.telegram-side{display:flex;flex-direction:column;gap:18px}.telegram-status{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:11px;margin:10px 0 18px;border:1px solid}.telegram-status svg{width:22px;height:22px;flex:none}.telegram-status div{display:flex;flex-direction:column}.telegram-status strong{font-size:11px}.telegram-status small{font-size:10px;margin-top:2px}.telegram-status.ok{background:#f4fbf6;border-color:#bbdfc5;color:#166534}.telegram-status.bad{background:#fff7f7;border-color:#fecaca;color:#b91c1c}.telegram-form{display:flex;flex-direction:column;gap:16px}.telegram-master{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid #dbe3ec;background:#f8fafc;border-radius:12px}.telegram-master>div{display:flex;flex-direction:column}.telegram-master strong{font-size:13px}.telegram-master span{font-size:10px;color:var(--muted);margin-top:3px}.switch-row{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800}.switch-row input{width:18px;height:18px;accent-color:var(--red)}.notification-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.notify-option{position:relative;display:grid;grid-template-columns:38px 1fr 22px;align-items:center;gap:10px;min-height:66px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:11px;background:#fff;cursor:pointer}.notify-option:hover{background:#fbfcfe;border-color:#c7d1de}.notify-option>span:nth-child(2){display:flex;flex-direction:column}.notify-option strong{font-size:11px;color:#172033}.notify-option small{font-size:9px;color:var(--muted);line-height:1.35;margin-top:2px}.notify-option input{width:17px;height:17px;accent-color:var(--red)}.notify-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:#f1f5f9;color:#334155}.notify-icon svg{width:17px;height:17px}.notify-icon.shift{background:#fff1f2;color:#be123c}.notify-icon.blue{background:#eff6ff;color:#2563eb}.notify-icon.amber{background:#fff7ed;color:#c56a05}.notify-icon.red{background:#fef2f2;color:#dc2626}.telegram-log-list{display:flex;flex-direction:column;gap:7px}.telegram-log{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #edf0f4}.telegram-log:last-child{border-bottom:0}.telegram-log>div{display:flex;flex-direction:column;min-width:0}.telegram-log strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.telegram-log small{font-size:9px;color:var(--muted);margin-top:2px}.log-kind{display:inline-flex;padding:4px 6px;border-radius:999px;background:#eef2f7;color:#475569;font-size:8px;font-weight:850;text-transform:uppercase}.log-kind.shift{background:#fff1f2;color:#be123c}.log-kind.deadline{background:#fff7ed;color:#b45309}.log-kind.test{background:#eff6ff;color:#2563eb}.mini-warning{font-size:9px;color:#b45309;margin-top:8px}.btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1050px){.telegram-grid{grid-template-columns:1fr}.telegram-side{display:grid;grid-template-columns:1fr 1fr}.notification-options{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.telegram-side,.notification-options{grid-template-columns:1fr}.telegram-master{align-items:flex-start}.telegram-grid{gap:12px}}

/* Telegram credentials */
.telegram-credentials{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:16px;margin:18px 0}
.telegram-credentials .field{margin:0}
.telegram-credentials input{width:100%}
@media(max-width:800px){.telegram-credentials{grid-template-columns:1fr}}

/* V6.5.4 - Scadenze e verifiche: interfaccia operativa professionale */
.deadline-list-pro{display:flex;flex-direction:column;gap:14px}
.deadline-pro{border:1px solid #dce3eb;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.025)}
.deadline-pro.status-overdue{border-color:#fecaca}.deadline-pro.status-soon{border-color:#fde68a}.deadline-pro.status-next{border-color:#bfdbfe}
.deadline-pro-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #edf1f5;background:linear-gradient(180deg,#fff,#fbfcfd)}
.deadline-pro-title{display:flex;align-items:center;gap:10px;min-width:0}.deadline-pro-title>div{display:flex;flex-direction:column;min-width:0}.deadline-pro-title .eyebrow{font-size:10px;margin:0;color:#64748b}.deadline-pro-title strong{font-size:14px;color:#152033;margin-top:2px}
.deadline-type-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:#f1f5f9;color:#334155;flex:none}.deadline-type-icon svg{width:18px;height:18px}
.status-overdue .deadline-type-icon{background:#fff1f2;color:#be123c}.status-soon .deadline-type-icon{background:#fffbeb;color:#b45309}.status-next .deadline-type-icon{background:#eff6ff;color:#2563eb}
.deadline-pro-summary{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:10px;padding:14px 16px}
.deadline-kpi{min-height:70px;border:1px solid #e4e9ef;background:#f8fafc;border-radius:11px;padding:11px 12px;display:flex;align-items:center;gap:10px}.deadline-kpi.main-date{background:#fff;border-color:#d8e0e9}.deadline-kpi-icon{width:32px;height:32px;border-radius:9px;background:#fff;border:1px solid #e2e8f0;display:grid;place-items:center;color:#475569;flex:none}.deadline-kpi-icon svg{width:16px;height:16px}.deadline-kpi div{display:flex;flex-direction:column}.deadline-kpi small{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:#7b8798}.deadline-kpi strong{font-size:14px;color:#172033;margin-top:3px}
.status-overdue .deadline-kpi.main-date strong{color:#b91c1c}.status-soon .deadline-kpi.main-date strong{color:#a16207}.status-next .deadline-kpi.main-date strong{color:#1d4ed8}
.deadline-pro-actions{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(300px,.85fr);gap:12px;padding:0 16px 14px}
.verify-primary{min-height:58px!important;border-radius:11px!important;padding:10px 14px!important}.verify-primary svg{width:22px!important;height:22px!important}.verify-primary strong{font-size:12px!important}.verify-primary small{font-size:9px!important;margin-top:2px}
.verify-custom-date{border:1px solid #e1e7ee;background:#f8fafc;border-radius:11px;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}.verify-custom-date>label{font-size:9px;font-weight:850;text-transform:uppercase;color:#697586;margin-bottom:5px}.verify-custom-row{display:grid;grid-template-columns:1fr auto;gap:7px}.verify-custom-row input{height:38px;border:1px solid #cfd8e3;border-radius:8px;padding:0 9px;background:#fff}.verify-custom-row .verify-other-btn{height:38px;display:flex;align-items:center;gap:6px;padding:0 11px}.verify-custom-row .verify-other-btn svg{margin:0;width:15px;height:15px}
.deadline-config{margin:0 16px 12px;border:1px solid #e4e9ef;border-radius:10px;background:#fbfcfd;overflow:hidden}.deadline-config>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;font-size:10px;font-weight:850;color:#475569}.deadline-config>summary::-webkit-details-marker{display:none}.deadline-config>summary span{display:flex;align-items:center;gap:7px}.deadline-config>summary svg{width:15px;height:15px}.deadline-config[open] .config-chevron{transform:rotate(180deg)}.config-chevron{transition:.18s}
.deadline-config-body{border-top:1px solid #e8edf2;padding:12px;display:grid;grid-template-columns:1.25fr 1fr 100px 1fr;gap:10px;align-items:end}.deadline-config-body .field{margin:0}.deadline-config-body select,.deadline-config-body input,.deadline-new-grid select,.deadline-new-grid input{width:100%;height:40px;border:1px solid #cfd8e3;border-radius:8px;padding:0 10px;background:#fff}.config-help{grid-column:1/-1;display:flex;gap:7px;align-items:center;color:#718096;font-size:9px}.config-help svg{width:14px;height:14px;flex:none}
.deadline-pro-foot{display:flex;align-items:center;gap:12px;padding:0 16px 13px}.deadline-notes-pro{margin:0}.deadline-notes-pro>summary{list-style:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:#526174;font-size:10px;font-weight:800}.deadline-notes-pro>summary::-webkit-details-marker{display:none}.deadline-notes-pro>summary svg{width:14px;height:14px}.deadline-notes-pro .notes-body{margin-top:8px;min-width:min(520px,70vw)}.deadline-notes-pro textarea{width:100%;min-height:70px;border:1px solid #d7dfe8;border-radius:9px;padding:9px}.delete-pro{margin-left:auto;display:flex;align-items:center;gap:5px;color:#b91c1c;font-size:9px;cursor:pointer}.delete-pro svg{width:13px;height:13px}
.deadline-new-grid{display:grid;grid-template-columns:1.4fr 1fr 100px 1fr;gap:10px;padding:14px 16px}.deadline-new-grid .field{margin:0}.deadline-new-hint{margin:0 16px 12px;display:flex;align-items:center;gap:7px;padding:9px 11px;border-radius:9px;background:#f0f9ff;color:#456076;border:1px solid #dbeafe;font-size:9px}.deadline-new-hint svg{width:14px;height:14px;flex:none}.new-head{background:#fafcff}
@media(max-width:1100px){.deadline-pro-summary{grid-template-columns:1fr 1fr 1fr}.deadline-pro-actions{grid-template-columns:1fr}.deadline-config-body,.deadline-new-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.deadline-pro-head,.deadline-pro-summary,.deadline-pro-actions,.deadline-pro-foot{padding-left:11px;padding-right:11px}.deadline-pro-summary{grid-template-columns:1fr}.deadline-kpi{min-height:58px}.deadline-config{margin-left:11px;margin-right:11px}.deadline-config-body,.deadline-new-grid{grid-template-columns:1fr}.deadline-new-grid{padding:11px}.deadline-pro-actions{grid-template-columns:1fr}.verify-custom-row{grid-template-columns:1fr}.verify-custom-row .verify-other-btn{justify-content:center}.deadline-pro-foot{align-items:flex-start;flex-wrap:wrap}.delete-pro{margin-left:0}.deadline-notes-pro .notes-body{min-width:calc(100vw - 70px)}}

/* V6.5.5 - Contesto proprietario scadenze */
.deadline-owner-context{display:flex;align-items:center;gap:12px;padding:13px 15px;margin:0 0 12px;border:1px solid #dbe3ec;border-left:4px solid var(--red);border-radius:12px;background:linear-gradient(90deg,#fff7f8 0,#fff 45%)}
.deadline-owner-icon{width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #f2cfd5;color:var(--red);display:grid;place-items:center;flex:0 0 auto}.deadline-owner-icon svg{width:20px;height:20px}
.deadline-owner-copy{display:flex;flex-direction:column;min-width:0}.deadline-owner-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#7a8494;font-weight:850}.deadline-owner-copy>strong{font-size:16px;line-height:1.2;color:#111827;margin-top:1px}.deadline-owner-copy small{display:flex;align-items:center;gap:5px;color:#657184;font-size:11px;margin-top:4px}.deadline-owner-copy small svg{width:13px;height:13px}.deadline-owner-copy small b{color:#354154}
@media(max-width:720px){.deadline-owner-context{padding:11px 12px}.deadline-owner-copy>strong{font-size:14px}}


/* V6.5.6 - Identificazione immediata del controllo */
.deadline-heading-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.deadline-control-name{font-size:16px!important;line-height:1.15;color:#111827!important;margin:0!important}
.deadline-target{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px;font-size:10px;line-height:1.25;color:#475569;font-weight:650}
.deadline-target svg{width:13px;height:13px;color:#b80f2a;flex:none}
.deadline-target b{color:#172033;font-weight:850}
.deadline-target em{font-style:normal;color:#64748b;font-weight:650}
.deadline-pro-head{min-height:72px}

/* === V6.6 Verifiche settimanali / tablet === */
.inspection-current-card{background:linear-gradient(135deg,#fff 0%,#fbfcfe 100%);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px;margin-bottom:18px}.inspection-current-card.has-issues{border-color:#fed7aa}.inspection-current-top{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.inspection-turn-badge{width:58px;height:58px;border-radius:16px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:950;box-shadow:0 8px 20px rgba(184,15,42,.18)}.inspection-current-title h2{margin:2px 0 5px;font-size:19px}.inspection-current-title p{margin:0;color:var(--muted);font-size:13px}.inspection-state{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900;background:#fff3cd;color:#8a5700}.inspection-state.completed{background:#dcfce7;color:#166534}.inspection-progress-wrap{margin-top:20px}.inspection-progress-label{display:flex;gap:8px;align-items:baseline;font-size:12px;color:var(--muted);margin-bottom:7px}.inspection-progress-label strong:first-child{font-size:18px;color:var(--text)}.inspection-progress-label strong:last-child{margin-left:auto;color:var(--text)}.inspection-progress{height:10px;background:#e8edf3;border-radius:999px;overflow:hidden}.inspection-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .2s ease}.inspection-progress.compact{width:210px;height:7px}.inspection-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.inspection-kpis>div{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;background:#fff}.inspection-kpis span{color:var(--muted);font-size:12px;font-weight:750}.inspection-kpis strong{font-size:19px}.inspection-kpis .ok strong{color:var(--green)}.inspection-kpis .issue strong{color:#b91c1c}.inspection-open-btn{min-width:200px}.inspection-history-panel{margin-top:18px}
.inspection-detail-head{margin-bottom:12px}.inspection-head-progress{display:flex;align-items:baseline;gap:4px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 14px}.inspection-head-progress strong{font-size:24px}.inspection-head-progress span{font-weight:800;color:var(--muted)}.inspection-head-progress small{font-size:10px;text-transform:uppercase;color:var(--muted);margin-left:4px}.inspection-sticky-summary{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:13px;padding:10px 14px;margin-bottom:14px;display:flex;align-items:center;gap:12px;box-shadow:0 6px 18px rgba(15,23,42,.05);font-size:12px}.inspection-summary-chip{border-radius:999px;padding:5px 9px;background:#f1f5f9;font-weight:750}.inspection-summary-chip.issue{background:#fee2e2;color:#991b1b}.vehicle-checklist-list{display:flex;flex-direction:column;gap:12px}.vehicle-check-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.vehicle-check-card>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:15px 16px;cursor:pointer}.vehicle-check-card>summary::-webkit-details-marker{display:none}.vehicle-check-card[open]>summary{border-bottom:1px solid var(--line)}.vehicle-check-icon{width:42px;height:42px;border-radius:12px;background:#f1f5f9;display:grid;place-items:center}.vehicle-check-icon svg{width:21px}.vehicle-check-title{display:flex;flex-direction:column}.vehicle-check-title strong{font-size:17px}.vehicle-check-title small{color:var(--muted);font-size:11px;margin-top:2px}.vehicle-check-mini-kpis{display:flex;gap:6px}.vehicle-check-mini-kpis span{padding:5px 8px;border-radius:999px;font-size:10px;font-weight:850;background:#f1f5f9}.vehicle-check-mini-kpis .vehicle-issues{background:#fee2e2;color:#991b1b}.vehicle-check-percent{display:flex;align-items:center;gap:7px}.vehicle-check-percent strong{font-size:15px}.vehicle-check-percent svg{width:18px;transition:transform .2s}.vehicle-check-card[open] .vehicle-check-percent svg{transform:rotate(180deg)}.vehicle-check-body{padding:14px}.vehicle-toolbar{display:flex;align-items:center;gap:10px;background:#f8fafc;border:1px solid var(--line);border-radius:11px;padding:9px;margin-bottom:12px}.vehicle-toolbar span{font-size:11px;color:var(--muted)}.check-section+.check-section{margin-top:14px}.check-section-title{display:flex;align-items:center;gap:8px;padding:4px 4px 8px}.check-section-title svg{width:18px;color:#4b5563}.check-section-title h3{font-size:13px;margin:0;text-transform:uppercase;letter-spacing:.03em}.check-section-title span{margin-left:auto;font-size:10px;color:var(--muted);background:#eef2f6;padding:3px 7px;border-radius:999px}.check-items{display:flex;flex-direction:column;gap:7px}.check-item{border:1px solid #e2e8f0;border-radius:12px;padding:10px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;background:#fff;transition:.15s}.check-item.status-ok{border-left:4px solid #22c55e;background:#fbfffc}.check-item.status-issue{border-left:4px solid #ef4444;background:#fffafa}.check-item.status-na{border-left:4px solid #94a3b8;background:#fbfcfd}.check-item-main{display:flex;gap:9px;align-items:center;min-width:0}.check-source-icon{width:32px;height:32px;border-radius:9px;background:#f1f5f9;display:grid;place-items:center;flex:0 0 auto}.check-source-icon svg{width:16px}.check-item-label{min-width:0;display:flex;flex-direction:column}.check-item-label strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.check-item-label small{font-size:10px;color:var(--muted);margin-top:2px}.check-item-label em{font-style:normal;font-size:9px;color:#15803d;margin-top:3px}.check-status-buttons{display:grid;grid-template-columns:repeat(3,100px);gap:5px}.check-status{height:42px;border:1px solid #d8e0e8;background:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:850;font-size:11px;cursor:pointer}.check-status svg{width:16px}.check-status.ok.active,.check-status.ok:hover{background:#dcfce7;border-color:#86efac;color:#166534}.check-status.issue.active,.check-status.issue:hover{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.check-status.na.active,.check-status.na:hover{background:#e2e8f0;border-color:#cbd5e1;color:#334155}.check-status:disabled{cursor:default;opacity:.75}.check-note-row{grid-column:1/-1;display:none;grid-template-columns:1fr auto;gap:7px}.check-note-row.open{display:grid}.check-note-row textarea{border:1px solid #d8e0e8;border-radius:9px;padding:8px 10px;resize:vertical;font-size:12px}.inspection-close-panel{margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr minmax(360px,520px);gap:20px;align-items:center}.inspection-close-panel h2{margin:2px 0 4px;font-size:18px}.inspection-close-panel p{margin:0;color:var(--muted);font-size:12px}.inspection-close-panel form{display:grid;grid-template-columns:1fr auto;gap:8px}.inspection-close-panel textarea{border:1px solid #cfd7e1;border-radius:9px;padding:9px}.inspection-completed-banner{margin-top:16px;padding:16px;border:1px solid #bbf7d0;background:#f0fdf4;border-radius:14px;display:flex;align-items:center;gap:12px;color:#166534}.inspection-completed-banner svg{width:26px}.inspection-completed-banner div{display:flex;flex-direction:column}.inspection-completed-banner span{font-size:11px;margin-top:2px}.check-config-tabs{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:2px}.check-config-tabs a{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:12px;font-weight:850;white-space:nowrap}.check-config-tabs a.active{background:#101722;color:#fff;border-color:#101722}.config-toggle{border:1px solid #d8e0e8;background:#f8fafc;border-radius:999px;padding:5px 9px;display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:850;cursor:pointer}.config-toggle span{width:8px;height:8px;border-radius:50%;background:#94a3b8}.config-toggle.active{background:#ecfdf5;color:#166534;border-color:#bbf7d0}.config-toggle.active span{background:#22c55e}
@media(max-width:900px){.inspection-current-top{grid-template-columns:auto 1fr}.inspection-state{grid-column:1/-1;justify-self:start}.inspection-kpis{grid-template-columns:1fr 1fr 1fr}.inspection-sticky-summary{top:70px;overflow:auto;white-space:nowrap}.inspection-progress.compact{min-width:130px}.vehicle-check-card>summary{grid-template-columns:auto 1fr auto}.vehicle-check-mini-kpis{display:none}.check-item{grid-template-columns:1fr}.check-status-buttons{grid-template-columns:repeat(3,1fr)}.inspection-close-panel{grid-template-columns:1fr}.inspection-close-panel form{grid-template-columns:1fr}.vehicle-toolbar{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.page{padding:14px 10px 40px}.inspection-current-card{padding:14px}.inspection-turn-badge{width:48px;height:48px;font-size:23px}.inspection-current-title h2{font-size:15px}.inspection-kpis{gap:6px}.inspection-kpis>div{padding:9px;flex-direction:column;align-items:flex-start}.inspection-open-btn{width:100%}.inspection-detail-head{align-items:flex-start}.inspection-head-progress{display:none}.vehicle-check-card>summary{padding:12px 10px;gap:8px}.vehicle-check-icon{width:36px;height:36px}.vehicle-check-title strong{font-size:15px}.vehicle-check-percent strong{font-size:12px}.vehicle-check-body{padding:9px}.check-item{padding:9px}.check-item-label strong{white-space:normal}.check-status{height:46px;font-size:10px;flex-direction:column;gap:1px}.check-status svg{width:17px}.vehicle-toolbar .btn{width:100%}.inspection-sticky-summary{margin-left:-4px;margin-right:-4px}.inspection-summary-chip{display:none}}

/* === V6.6.1 Checklist configurabile per mezzo + dotazioni da magazzino === */
.vehicle-config-tabs{display:flex;gap:8px;overflow:auto;margin:0 0 14px;padding:2px}.vehicle-config-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:12px;font-weight:850;white-space:nowrap}.vehicle-config-tabs a svg{width:16px}.vehicle-config-tabs a.active{background:#101722;color:#fff;border-color:#101722}.config-vehicle-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-left:4px solid var(--red);background:#fff;border-radius:14px;padding:14px 16px;margin-bottom:14px}.config-vehicle-head h2{margin:2px 0;font-size:20px}.config-vehicle-head p{margin:0;color:var(--muted);font-size:11px}.config-vehicle-note{max-width:520px;display:flex;align-items:flex-start;gap:8px;padding:9px 11px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;font-size:10px;color:var(--muted)}.config-vehicle-note svg{width:16px;flex:0 0 auto}.config-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr);gap:14px;align-items:start}.vehicle-rule-list{display:flex;flex-direction:column;gap:7px}.vehicle-rule-row{display:grid;grid-template-columns:minmax(190px,1.5fr) minmax(150px,.8fr) 80px auto auto auto 40px;gap:7px;align-items:end;border:1px solid var(--line);border-radius:11px;padding:9px;background:#fbfcfe}.vehicle-rule-row label,.add-control-card label,.warehouse-assign-card label{display:block;font-size:9px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.vehicle-rule-row .rule-check,.add-control-card .rule-check{display:flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0;color:var(--text);font-size:10px;margin:0 2px 10px;white-space:nowrap}.vehicle-rule-row .form-control,.add-control-card .form-control,.warehouse-assign-card .form-control{min-height:38px;padding:7px 9px;font-size:11px}.btn.compact{height:38px;padding:0 10px;font-size:10px}.add-control-card{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(160px,.8fr) 80px auto auto;gap:8px;align-items:end;margin-top:12px;padding:11px;border:1px dashed #cbd5e1;background:#f8fafc;border-radius:12px}.count-pill{min-width:28px;height:28px;border-radius:999px;background:#f1f5f9;display:grid;place-items:center;font-size:11px;font-weight:900}.onboard-config-list{display:flex;flex-direction:column;gap:6px}.onboard-config-item{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:8px 9px;background:#fff}.equip-icon{width:32px;height:32px;border-radius:9px;background:#ecfdf5;color:#15803d;display:grid;place-items:center}.equip-icon svg{width:16px}.onboard-config-item>div{display:flex;flex-direction:column;min-width:0}.onboard-config-item strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboard-config-item small{color:var(--muted);font-size:9px;margin-top:2px}.icon-btn{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:15px}.icon-btn.danger{color:#b91c1c}.warehouse-assign-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px;padding:11px;background:#f8fafc;border:1px solid var(--line);border-radius:12px}.warehouse-rule{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f}.warehouse-rule svg{width:18px;flex:0 0 auto}.warehouse-rule div{display:flex;flex-direction:column}.warehouse-rule strong{font-size:10px}.warehouse-rule span{font-size:9px;margin-top:2px;line-height:1.45}
@media(max-width:1150px){.config-two-col{grid-template-columns:1fr}.vehicle-rule-row{grid-template-columns:minmax(170px,1.4fr) minmax(150px,.8fr) 75px auto auto}.vehicle-rule-row .btn.compact{grid-row:2}.vehicle-rule-row>.btn-danger-outline{grid-row:2}.add-control-card{grid-template-columns:1fr 1fr 80px auto}}
@media(max-width:700px){.config-vehicle-head{align-items:flex-start;flex-direction:column}.config-vehicle-note{max-width:none}.vehicle-rule-row{grid-template-columns:1fr 1fr}.vehicle-rule-row .rule-main{grid-column:1/-1}.vehicle-rule-row .rule-order{grid-column:auto}.vehicle-rule-row .rule-check{margin:4px 0}.vehicle-rule-row .btn.compact{grid-row:auto;width:100%}.add-control-card{grid-template-columns:1fr 1fr}.add-control-card>div:first-child{grid-column:1/-1}.add-control-card .btn{grid-column:1/-1}.warehouse-assign-card{grid-template-columns:1fr}.warehouse-assign-card .btn{width:100%}}

/* === V6.6.4 Verifiche manuali / straordinarie === */
.inspection-launch-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;align-items:stretch;margin-bottom:18px}.inspection-launch-grid .inspection-current-card{margin-bottom:0}.inspection-manual-create{margin:0;padding:20px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(145deg,#fff 0%,#f8fbff 100%);border-color:#cbd5e1}.manual-create-icon{width:48px;height:48px;border-radius:14px;background:#eef6ff;color:#1d4ed8;display:grid;place-items:center}.manual-create-icon svg{width:24px;height:24px}.manual-create-copy h2{margin:3px 0 5px;font-size:19px}.manual-create-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.manual-create-form{display:flex;flex-direction:column;gap:10px;margin-top:auto}.manual-create-form>label:first-child{font-size:10px;font-weight:850;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.manual-create-form .form-control{margin-top:5px;min-height:43px;font-size:12px}.manual-monthly-check{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:10px;line-height:1.4}.manual-monthly-check input{margin-top:2px}.inspection-manual-open-panel{margin-bottom:18px}.manual-open-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}.manual-open-card{display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--line);border-left:4px solid #3b82f6;border-radius:12px;background:#fff;color:inherit}.manual-open-card.has-issues{border-left-color:#ef4444;background:#fffafa}.manual-open-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.manual-open-head>div{display:flex;flex-direction:column;min-width:0}.manual-open-head strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-open-head svg{width:18px}.manual-open-card>small{font-size:9px;color:var(--muted)}.manual-open-stats{display:flex;gap:6px;flex-wrap:wrap}.manual-open-stats span{font-size:9px;font-weight:800;padding:4px 7px;border-radius:999px;background:#f1f5f9;color:#475569}.manual-open-stats span.issue{background:#fee2e2;color:#991b1b}.inspection-kind-badge{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:5px 8px;border-radius:999px;margin:3px 0 7px}.inspection-kind-badge svg{width:13px;height:13px}.inspection-kind-badge.manual{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.inspection-kind-badge.shift{background:#fff1f2;color:#be123c;border:1px solid #fecdd3}.status-badge.info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
@media(max-width:1050px){.inspection-launch-grid{grid-template-columns:1fr}.manual-open-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.manual-open-grid{grid-template-columns:1fr;padding:0 10px 10px}.inspection-manual-create{padding:14px}.inspection-launch-grid{gap:10px}}

/* V6.6.6 - ciclo di vita anomalie */
.issue-resolution-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:9px;background:#fff1f2;border:1px solid #fecdd3;color:#9f1239;font-size:10px;font-weight:750}.issue-resolution-row>span{display:flex;align-items:center;gap:6px}.issue-resolution-row svg{width:15px;height:15px;flex:0 0 auto}.issue-resolution-row.resolved{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.btn-resolve-issue{border:1px solid #86efac;background:#dcfce7;color:#166534;padding:7px 10px;border-radius:8px;font-size:10px;font-weight:850;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;cursor:pointer}.btn-resolve-issue:hover{background:#bbf7d0}.btn-resolve-issue svg{width:14px}.btn-resolve-issue:disabled{opacity:.6;cursor:wait}@media(max-width:700px){.issue-resolution-row{align-items:flex-start;flex-direction:column}.btn-resolve-issue{width:100%;justify-content:center;height:40px}}
