/* ECH International Fleet — tema celeste/blu. */
:root{--bg:#edf6ff;--surface:#fff;--ink:#173b65;--muted:#526e8b;--line:#cde3f5;--green:var(--blue);--green-dark:var(--blue-dark);--green-soft:var(--blue-soft);--nav:#f4faff;--radius:15px;--shadow:0 9px 28px #1a75bd0d;--sidebar:224px;--resource:220px;--blue:#0875d1;--blue-dark:#075eb4;--blue-soft:#def1ff;}
*{box-sizing:border-box;}
html{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;background:var(--bg);color:var(--ink);color-scheme:light;}
body{margin:0;}
button,input,select,textarea{font:inherit;}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;}
button{cursor:pointer;}
button:disabled{cursor:not-allowed;opacity:.5;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{outline-offset:3px;}
button:focus-visible,a:focus-visible{outline:3px solid #0094e8;outline-offset:3px;}
input,select,textarea{border:1px solid #d0e2f0;border-radius:8px;padding:10px 12px;color:var(--ink);background:white;min-width:0;max-width:100%;border-color:#b9d8ef;}
input:focus,select:focus,textarea:focus{border-color:#0782dc;outline:2px solid #bde8ff;}
textarea{resize:vertical;min-height:80px;line-height:1.55;}
input[type="date"],input[type="datetime-local"]{min-height:40px;}
p{line-height:1.65;}
h1,h2,h3,p{margin-top:0;}
h1{font-size:29px;font-weight:680;letter-spacing:-1px;margin-bottom:7px;line-height:1.25;color:#123f77;}
h2{font-size:19px;letter-spacing:-.4px;}
h3{font-size:15px;}
.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle;}
.muted{color:var(--muted);}
.small{font-size:12px;}
.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.8px;color:var(--green);display:block;margin-bottom:12px;}
.btn{border:1px solid var(--line);border-radius:8px;background:white;color:#235384;padding:10px 15px;display:inline-flex;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:650;min-height:39px;white-space:nowrap;transition:background .15s;}
.btn:hover{background:#e9f6ff;}
.btn.primary{background:linear-gradient(115deg,#0875d1,#086dd5);border-color:#0875d1;color:#fff;box-shadow:0 4px 10px #0875d125;}
.btn.primary:hover{background:linear-gradient(115deg,#007bbd,#075ec2);border-color:#075eb4;}
.btn.soft{background:#def1ff;border-color:#bae0ff;color:#075da7;}
.btn.danger-btn{background:#e8f5ff;color:#174f7d;border-color:#8fb9d6;}
.btn.compact{padding:7px 11px;min-height:34px;font-size:11px;}
.btn.full{width:100%;}
.btn-link{border:0;background:none;color:var(--green);font-weight:650;padding:3px;display:inline-flex;gap:6px;align-items:center;font-size:12px;}
.icon-btn{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid transparent;background:transparent;border-radius:8px;color:#50749b;}
.icon-btn:hover{background:#daf0ff;color:#0766ba;}
.icon-btn.bordered{border-color:var(--line);background:#fff;}
.pill,.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;font-size:10px;font-weight:650;padding:5px 8px;white-space:nowrap;}
.badge::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;}
.badge.confirmed{background:#dbeeff;color:#075ca8;}
.badge.in_progress{background:#c7f4ff;color:#076078;}
.badge.option{background:#fff0bb;color:#7c5000;}
.badge.completed{background:#e7eef7;color:#465d78;}
.badge.cancelled{background:#e8f5ff;color:#174f7d;}
.badge.maintenance{background:#ffead2;color:#8f480b;}
.badge.available{background:#d9f8e8;color:#0c704d;}
.badge.inactive{background:#eef2f7;color:#536278;}
.app-shell{display:flex;min-height:100vh;}
.sidebar{width:var(--sidebar);background:linear-gradient(180deg,#f7fcff 0%,#edf8ff 100%);color:#245583;position:fixed;left:0;top:0;bottom:0;display:flex;flex-direction:column;padding:30px 18px 18px;z-index:40;box-shadow:inset -1px 0 0 #bcddf6;}
.brand{display:flex;align-items:center;gap:10px;color:#124787;font-size:19px;font-weight:700;letter-spacing:-.6px;white-space:nowrap;}
.brand-light{font-weight:400;color:#4e7697;font-size:15px;}
.workspace-tag{font-size:10px;padding:20px 5px 28px;color:#527493;display:flex;gap:7px;align-items:center;}
.status-dot{display:inline-block;background:#00a1df;width:6px;height:6px;border-radius:50%;}
.nav-label{font-size:9px;font-weight:600;letter-spacing:1.4px;margin:0 12px 12px;color:#4e7093;}
.side-nav{display:flex;flex-direction:column;gap:5px;}
.side-nav a{display:flex;align-items:center;gap:12px;padding:12px 12px;border-radius:8px;font-size:12px;color:#315d89;transition:background .15s;}
.side-nav a:hover{background:#dcefff;color:#065fad;}
.side-nav a.active{background:linear-gradient(105deg,#0875d1,#0878c9);color:#fff;box-shadow:0 4px 12px #0875d122;}
.side-nav a.active .icon{color:#fff;}
.nav-new{font-size:7px;letter-spacing:1px;background:#d6f5ff;color:#07517d;border-radius:4px;padding:3px 4px;margin-left:auto;}
.nav-spacer{margin-top:28px;}
.sidebar-bottom{margin-top:auto;padding-top:28px;}
.safe-card{border:1px solid #1f4463;border-radius:12px;padding:16px 14px;background:linear-gradient(145deg,#dcefff,#eefaff);border-color:#b7dfff;color:#234f7e;}
.safe-card>.icon{color:#087ed0;margin-bottom:11px;width:22px;height:22px;display:block;}
.safe-card strong{font-weight:550;font-size:11px;}
.safe-card p{font-size:10px;line-height:1.8;color:#486e91;margin:7px 0 12px;}
.side-help{background:none;border:0;font-size:10px;font-weight:650;color:#0765b4;display:flex;align-items:center;gap:10px;padding:0;}
.side-help .icon{width:14px;}
.sidebar-version{font-size:8px;letter-spacing:.9px;color:#547696;padding:19px 4px 0;display:flex;justify-content:space-between;}
.sidebar-version span{letter-spacing:0;}
.app-main{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0;display:flex;flex-direction:column;}
.topbar{height:70px;background:linear-gradient(100deg,#fff,#f1faff);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;gap:15px;border-bottom-color:#bddcf4;}
.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:#526e8b;white-space:nowrap;}
.breadcrumb .icon{width:11px;height:11px;}
.breadcrumb strong{font-weight:550;color:#2b5686;}
.topbar-actions{display:flex;align-items:center;gap:8px;}
.topbar-actions form{margin:0;}
.top-divider{width:1px;height:22px;background:var(--line);margin:0 6px;}
.user-avatar{width:29px;height:29px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:650;background:#ccecff;color:#075fab;}
.top-username{font-size:11px;color:#325c85;max-width:120px;overflow:hidden;text-overflow:ellipsis;}
#main-content{padding:31px 30px 16px;flex:1;outline:0;min-width:0;}
.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;}
.page-heading .eyebrow{margin-bottom:9px;font-size:9px;letter-spacing:1.6px;}
.page-heading p{font-size:12px;color:var(--muted);margin:0;}
.heading-actions{display:flex;gap:9px;flex-wrap:wrap;}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:25px;}
.kpi{background:white;border:1px solid var(--line);border-radius:12px;padding:17px 17px 14px;position:relative;border-color:#c6e2f6;box-shadow:inset 0 3px 0 #2c9af1;}
.kpi-label{font-size:11px;color:#45678d;display:block;margin-bottom:7px;}
.kpi-value{font-size:28px;font-weight:650;letter-spacing:-1px;color:#1053a0;}
.kpi-note{font-size:9px;color:#526e8b;margin-left:8px;letter-spacing:0;white-space:nowrap;}
.kpi-icon{position:absolute;right:16px;top:17px;background:#e0f3ff;border-radius:8px;color:#0878c9;padding:8px;display:flex;}
.kpi-icon .icon{width:15px;height:15px;}
.kpi.emphasis{background:linear-gradient(120deg,#dbf2ff,#eaf9ff);border-color:#a1d9fb;box-shadow:inset 0 3px 0 #00a1df;}
.kpi.emphasis .kpi-icon{background:#bfeaff;color:#0069a6;}
.kpi.emphasis .kpi-value{color:#0565b8;}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:white;box-shadow:var(--shadow);overflow:hidden;}
.panel-header{padding:20px 21px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);background:linear-gradient(100deg,#eef8ff,#fafeff);}
.panel-header h2{margin:0;font-size:15px;}
.panel-header p{font-size:11px;color:var(--muted);margin:4px 0 0;}
.filter-bar{display:flex;align-items:center;gap:9px;padding:15px 19px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:#fff;}
.search-field{position:relative;flex:1;min-width:180px;max-width:320px;}
.search-field .icon{position:absolute;top:11px;left:11px;width:15px;height:15px;color:#537fa5;}
.search-field input{width:100%;padding-left:35px;font-size:11px;height:37px;min-height:0;background:#f5fbff;}
.filter-bar select{font-size:11px;padding:9px 30px 9px 11px;height:37px;max-width:190px;}
.filter-count{margin-left:auto;font-size:10px;color:#42658a;white-space:nowrap;}
.planner-controls{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;background:#f4faff;}
.date-nav{display:flex;align-items:center;gap:7px;}
.date-nav .icon-btn{width:29px;height:30px;border:1px solid var(--line);}
.date-nav .btn{padding:6px 11px;min-height:30px;font-size:10px;}
.range-title{font-size:13px;font-weight:650;letter-spacing:-.2px;margin-right:8px;color:#174f86;}
.date-nav input{padding:5px 7px;font-size:10px;min-height:30px;width:117px;}
.period-controls{display:flex;align-items:center;gap:11px;}
.segmented{display:inline-flex;border:1px solid var(--line);padding:3px;border-radius:7px;background:#e8f4ff;gap:2px;border-color:#c0dff6;}
.segmented button{background:none;border:0;border-radius:4px;color:#3e658c;font-size:10px;font-weight:550;padding:6px 10px;white-space:nowrap;}
.segmented button.active{background:#0875d1;color:#fff;box-shadow:0 2px 5px #0875d124;}
.timeline-scroll{overflow:auto;max-height:562px;position:relative;scrollbar-color:#82bde9 #eef8ff;scrollbar-width:thin;isolation:isolate;overscroll-behavior-x:contain;}
.timeline-inner{position:relative;min-width:100%;}
.timeline-head{display:flex;position:sticky;top:0;z-index:15;height:59px;background:#e8f5ff;border-bottom:1px solid var(--line);}
.resource-header{position:sticky;left:0;width:var(--resource);min-width:var(--resource);z-index:17;background:#e8f5ff;border-right:1px solid var(--line);padding:17px 18px;font-size:10px;letter-spacing:.6px;font-weight:650;color:#285e8d;}
.resource-header small{display:block;font-weight:400;font-size:8px;letter-spacing:0;color:#4a6d8b;margin-top:4px;}
.time-head-cells{display:flex;}
.time-head-cell{border-right:1px solid var(--line);text-align:center;padding:9px 4px 7px;flex-shrink:0;}
.time-head-cell .day-name{font-size:8px;letter-spacing:1px;display:block;color:#456889;}
.time-head-cell .day-number{font-size:14px;font-weight:620;display:inline-flex;align-items:center;justify-content:center;margin-top:3px;min-width:26px;height:24px;color:#194d81;}
.time-head-cell.today{background:#cdeaff;}
.time-head-cell.today .day-number{background:#0875d1;color:#fff;border-radius:5px;}
.time-head-cell.weekend{background:#dfeffc;}
.timeline-row{display:flex;height:74px;border-bottom:1px solid #e4eef6;position:relative;border-bottom-color:#d9eaf7;}
.timeline-row:last-child{border-bottom:0;}
.resource-cell{position:sticky;left:0;z-index:10;width:var(--resource);min-width:var(--resource);border-right:1px solid var(--line);background:white;display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;text-align:left;border-top:0;border-left:0;border-bottom:0;color:#173b65;}
.resource-cell:hover{background:#e7f5ff;}
.mini-car{width:42px;flex-shrink:0;border-radius:7px;background:#e1f2ff;padding:5px;color:#287dbd;height:33px;display:flex;align-items:center;}
.mini-car svg{width:100%;height:25px;}
.resource-info{min-width:0;}
.resource-name{font-size:11px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px;display:block;}
.resource-sub{font-size:8px;color:#526e8b;display:flex;align-items:center;gap:6px;white-space:nowrap;}
.plate-mini{color:#255f8f;background:#eaf6ff;border:1px solid #d6e5f2;padding:2px 4px;border-radius:3px;font-size:8px;font-weight:550;border-color:#c2e1f7;}
.resource-status{width:5px;height:5px;border-radius:50%;background:#0a9c6d;margin-left:auto;flex-shrink:0;}
.resource-status.maintenance{background:#ea8b20;}
.resource-status.inactive{background:#8995a7;}
.row-track{position:relative;flex-shrink:0;background-image:linear-gradient(to right,#d3e6f6 1px,transparent 1px);background-repeat:repeat;cursor:crosshair;}
.today-shade{position:absolute;top:0;bottom:0;background:#ceefff70;pointer-events:none;}
.row-track.offline{background-color:#fff9ed;background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,#f2c78945 7px,#f2c78945 8px);cursor:not-allowed;}
.offline-label{font-size:10px;color:#91620f;position:absolute;top:28px;left:21px;display:flex;gap:7px;align-items:center;}
.offline-label .icon{width:13px;height:13px;}
.event-bar{position:absolute;top:15px;height:44px;display:flex;align-items:center;gap:8px;border-radius:6px;padding:6px 12px;background:#0875d1;border:1px solid #c0d8eb;border-left:3px solid #377ab0;color:#fff;text-align:left;overflow:hidden;cursor:grab;user-select:none;touch-action:none;z-index:3;transition:filter .1s;min-width:7px;border-color:#0768bd;border-left-color:#0559a4;}
.event-bar:hover{filter:none;box-shadow:0 3px 8px #0875d130;}
.event-bar:focus-visible{z-index:8;}
.event-bar.in_progress{background:#a6edff;border-color:#63cbe8;border-left-color:#049abd;color:#064f69;}
.event-bar.option{background:#ffe28a;border-color:#f2c34e;border-left-color:#d9920d;color:#744605;}
.event-bar.completed{background:#e2ebf6;border-color:#c8d7e9;border-left-color:#879fb8;color:#455e7a;cursor:pointer;touch-action:auto;}
.event-bar.cancelled{display:none;}
.event-text{min-width:0;overflow:hidden;flex:1;}
.event-title{font-size:9px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;margin-bottom:3px;}
.event-sub{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:1;display:block;}
.event-icon{width:13px;height:13px;flex-shrink:0;opacity:.9;}
.resize-grip{position:absolute;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:2;}
.resize-grip::after{content:"";position:absolute;height:12px;width:2px;background:currentColor;opacity:0;top:15px;left:2px;border-radius:1px;}
.resize-grip.left{left:0;}
.resize-grip.right{right:0;}
.event-bar:hover .resize-grip::after{opacity:.35;}
.event-bar.drag-source{opacity:.24;}
.drag-preview{z-index:9;position:absolute;height:44px;border:2px dashed var(--green);background:#b5eaffee;border-radius:7px;pointer-events:none;color:#064980;font-size:10px;padding:8px;overflow:hidden;box-shadow:0 4px 15px #167ac52a;border-color:#0074d6;}
.drag-preview.invalid{border-color:#79bde8;background:#e8f5ffee;color:#174f7d;}
.drag-preview strong,.drag-preview small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.drag-preview small{margin-top:3px;font-size:8px;}
.drag-tooltip{position:fixed;z-index:200;max-width:360px;pointer-events:none;padding:9px 12px;border-radius:7px;background:#096fc6;color:#fff;font-size:10px;box-shadow:0 5px 15px #135ca82b;}
.now-line{position:absolute;top:59px;bottom:0;width:1px;background:#009ce5;pointer-events:none;z-index:4;}
.now-line::before{content:"";position:absolute;top:-2px;left:-3px;width:7px;height:7px;border-radius:50%;background:#009ce5;}
.planner-bottom{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;border-top:1px solid var(--line);font-size:9px;color:#496b8d;flex-wrap:wrap;background:#f5fbff;}
.legend{display:flex;gap:13px;flex-wrap:wrap;}
.legend span{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;}
.legend i{width:7px;height:7px;border-radius:2px;background:#0875d1;}
.legend .in_progress i{background:#08b4d9;}
.legend .option i{background:#e8a820;}
.legend .maintenance i{background:#e98024;}
.planner-hint{display:flex;gap:6px;align-items:center;}
.planner-hint .icon{width:12px;height:12px;}
.tip-banner{margin-top:17px;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:10px;border:1px solid #d6e5f2;background:#e0f3ff;font-size:10px;color:#3d6389;border-color:#b1dcfa;}
.tip-banner>.icon{color:#0877c8;width:16px;height:16px;}
.tip-banner strong{font-weight:650;color:#165b98;}
.tip-banner p{margin:0;line-height:1.6;}
.tip-banner .btn-link{font-size:10px;margin-left:auto;white-space:nowrap;}
.page-footer{display:flex;justify-content:space-between;gap:15px;padding:12px 30px 20px;font-size:8px;color:#536e89;}
.footer-dot{margin:0 7px;}
.table-wrap{overflow:auto;}
.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px;white-space:nowrap;}
.data-table th{background:#e7f4ff;color:#315e8b;font-size:9px;font-weight:550;padding:13px 17px;border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.5px;}
.data-table td{padding:15px 17px;border-bottom:1px solid #e7f0f7;color:#355b83;border-bottom-color:#dcebf8;}
.data-table tbody tr:last-child td{border-bottom:0;}
.data-table tbody tr:hover{background:#e0f2ff;}
.data-table strong{color:#184d81;font-weight:600;}
.cell-sub{display:block;font-size:9px;color:#526e8b;margin-top:4px;}
.cell-title{border:0;background:none;color:var(--green-dark);font-size:11px;font-weight:650;padding:0;text-align:left;}
.cell-title:hover{text-decoration:underline;}
.row-actions{display:flex;align-items:center;gap:4px;}
.sort-button{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;border:0;background:none;display:flex;align-items:center;gap:5px;padding:0;}
.sort-button .icon{width:11px;height:11px;}
.pagination{display:flex;align-items:center;justify-content:space-between;padding:14px 19px;border-top:1px solid var(--line);font-size:10px;color:#526e8b;background:#f7fcff;}
.pagination-actions{display:flex;gap:7px;align-items:center;}
.empty-state{text-align:center;padding:45px 20px;color:var(--muted);}
.empty-state>.icon{height:33px;width:33px;color:#526e8b;margin-bottom:12px;}
.empty-state h3{color:#42658a;font-size:14px;}
.empty-state p{font-size:11px;max-width:340px;margin:0 auto 15px;}
.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;}
.stack{display:flex;flex-direction:column;gap:20px;}
.operation-row{display:flex;gap:13px;align-items:center;padding:18px 21px;border-bottom:1px solid #e7f0f7;}
.operation-row:last-child{border-bottom:0;}
.operation-time{font-size:13px;color:#0867b8;min-width:44px;font-weight:600;}
.operation-main{flex:1;min-width:0;}
.operation-main strong{font-size:11px;display:block;}
.operation-main span{font-size:9px;color:#526e8b;display:block;margin-top:4px;}
.operation-row .btn{margin-left:auto;}
.capacity-body{padding:25px 22px;}
.capacity-number{font-size:44px;letter-spacing:-2px;font-weight:650;color:#0872c9;}
.capacity-number small{font-size:19px;color:#4c7599;font-weight:400;}
.progress-track{height:8px;background:#dceeff;border-radius:4px;overflow:hidden;margin:18px 0;}
.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#0875d1,#08b0e9);border-radius:4px;}
.capacity-body p{font-size:11px;color:#526e8b;margin-bottom:0;}
.quick-actions{display:flex;flex-wrap:wrap;gap:10px;padding:20px;}
.activity-item{display:flex;gap:12px;padding:15px 22px;border-bottom:1px solid #e7f0f7;}
.activity-item:last-child{border:0;}
.activity-item .activity-dot{width:7px;height:7px;flex-shrink:0;background:#0588d9;border-radius:50%;margin-top:4px;}
.activity-item strong{font-size:10px;font-weight:550;display:block;}
.activity-item p{font-size:9px;color:#526e8b;margin:5px 0 0;}
.car-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:20px;}
.car-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;}
.car-card-top{padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.plate{display:inline-flex;font-size:10px;font-weight:650;border:1px solid #d0e2f0;border-radius:4px;padding:5px 7px;color:#17588e;background:#edf8ff;white-space:nowrap;border-color:#b5d9f4;}
.car-illustration{height:104px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fff,#dcf2ff);color:#2d91d9;}
.car-illustration svg{width:165px;height:81px;}
.car-card-body{padding:17px 18px;}
.car-card h3{font-size:16px;margin-bottom:5px;letter-spacing:-.4px;}
.car-card p{font-size:10px;color:#526e8b;margin-bottom:13px;}
.car-features{font-size:9px;color:#42658a;display:flex;flex-wrap:wrap;gap:5px 9px;margin-bottom:18px;}
.car-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.rate{font-size:18px;letter-spacing:-.5px;color:#086bc0;font-weight:650;}
.rate small{font-size:9px;font-weight:400;color:#526e8b;letter-spacing:0;}
.customer-name{display:flex;align-items:center;gap:10px;}
.customer-avatar{width:31px;height:31px;border-radius:8px;background:#d7efff;color:#0b65b0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:650;}
.settings-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;}
.settings-body{padding:23px;}
.settings-body p{font-size:12px;color:#42658a;}
.info-list{margin:0;}
.info-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0;font-size:11px;}
.info-list>div:first-child{padding-top:0;}
.info-list>div:last-child{border:0;padding-bottom:0;}
.info-list dt{color:#526e8b;}
.info-list dd{margin:0;text-align:right;color:#1d568a;font-weight:500;}
.warning-panel{border-color:#f1cf99;}
.warning-panel .panel-header{background:#fff4db;border-color:#f2d4a1;}
.warning-panel .panel-header h2{color:#8a570d;}
.app-note{font-size:11px;padding:15px 18px;border:1px solid #d3e4f1;background:#edf8ff;border-radius:9px;line-height:1.7;color:#406b90;border-color:#badff9;}
.settings-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px;}
.help-step{display:flex;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);}
.help-step:last-child{border:0;}
.step-number{width:29px;height:29px;border-radius:50%;background:#d7efff;color:#0769b8;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:11px;}
.help-step h3{font-size:13px;margin-bottom:6px;}
.help-step p{font-size:12px;color:#42658a;margin:0;}
.mobile-menu{display:none;}
.sidebar-scrim{display:none;}
.skip-link{position:fixed;top:-80px;left:10px;background:white;padding:15px;z-index:300;}
.skip-link:focus{top:10px;}
.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;padding:80px;color:#42658a;font-size:12px;}
.spinner{width:20px;height:20px;border:2px solid #d7e6f2;border-top-color:#0a83dc;border-radius:50%;animation:spin .8s linear infinite;border-color:#d4edff;}
@keyframes spin{
to{transform:rotate(360deg);}
}
dialog{border:0;border-radius:18px;padding:0;max-width:calc(100vw - 36px);width:750px;max-height:calc(100dvh - 60px);overflow:hidden;color:var(--ink);box-shadow:0 25px 90px #154e7940;background:white;}
dialog.wide{width:870px;}
dialog::backdrop{background:#184e783d;backdrop-filter:blur(3px);}
.modal-shell{max-height:calc(100dvh - 60px);display:flex;flex-direction:column;}
.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 25px 18px;border-bottom:1px solid var(--line);flex-shrink:0;gap:18px;background:linear-gradient(105deg,#e6f5ff,#f7fcff);}
.modal-header .eyebrow{margin-bottom:7px;font-size:8px;}
.modal-header h2{margin:0;font-size:21px;letter-spacing:-.6px;color:#154e87;}
.modal-header p{font-size:11px;color:#42658a;margin:5px 0 0;line-height:1.5;}
.modal-form{display:flex;flex-direction:column;min-height:0;}
.modal-body{padding:22px 25px;overflow:auto;min-height:0;}
.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;padding:16px 25px;border-top:1px solid var(--line);background:#f1f9ff;flex-shrink:0;}
.modal-footer .left-action{margin-right:auto;}
.form-grid{display:grid;gap:17px 18px;}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.form-grid label,.auth-form label{font-size:11px;color:#345e84;font-weight:550;display:flex;flex-direction:column;gap:7px;min-width:0;}
.form-grid label input,.form-grid label select,.form-grid label textarea{font-size:12px;width:100%;font-weight:400;}
.full-span{grid-column:1/-1;}
.field-help{font-size:10px;color:#526e8b;font-weight:400;line-height:1.5;}
.section-label{font-size:9px;font-weight:650;letter-spacing:1px;color:#42658a;text-transform:uppercase;margin:22px 0 12px;}
.section-label:first-child{margin-top:0;}
.price-summary{border-radius:9px;background:#dff2ff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:19px;}
.price-summary strong{font-size:22px;font-weight:600;color:#0868bc;}
.price-summary span{font-size:10px;color:#3b648a;display:block;}
.price-summary small{font-size:10px;color:#486a8a;display:block;margin-top:4px;}
.alert{border-radius:9px;padding:12px 14px;line-height:1.7;font-size:11px;margin:0 0 17px;border:1px solid #e3dfc6;background:#fff4d4;color:#805209;border-color:#f1d188;}
.alert.danger{border-color:#8fb9d6;background:#e8f5ff;color:#174f7d;}
.alert.success{border-color:#a4e5c4;background:#e2f9ec;color:#16633e;}
.modal-error[hidden]{display:none;}
.detail-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
.detail-status small{font-size:10px;color:#526e8b;}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;}
.detail-grid>div{padding:14px 16px;border-radius:9px;background:#f0f9ff;border:1px solid #e3edf6;border-color:#c9e4f8;}
.detail-grid dt{font-size:9px;color:#3c688d;margin-bottom:7px;letter-spacing:.3px;}
.detail-grid dd{margin:0;font-size:13px;font-weight:550;color:#164e84;line-height:1.6;overflow-wrap:anywhere;}
.detail-grid small{display:block;font-size:10px;font-weight:400;color:#526e8b;margin-top:3px;}
.notes-box{font-size:12px;color:#42658a;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;border-top:1px solid var(--line);padding-top:15px;margin:18px 0 0;}
.move-comparison{display:grid;grid-template-columns:1fr 30px 1fr;align-items:center;gap:13px;margin:15px 0 20px;}
.move-side{border-radius:11px;border:1px solid var(--line);padding:18px;background:#f9fcff;}
.move-side.to{background:#dbf2ff;border-color:#7ac9f4;}
.move-side>small{font-size:8px;color:#35698f;letter-spacing:1px;display:block;margin-bottom:10px;}
.move-side strong{font-size:13px;font-weight:600;color:#125892;display:block;margin-bottom:6px;}
.move-side p{font-size:11px;line-height:1.8;margin:0;color:#395f82;}
.diff-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed;}
.diff-table th,.diff-table td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5;}
.diff-table th{font-size:9px;color:#3c678e;}
.diff-table td:first-child{color:#42658a;}
.diff-table td:last-child{color:#14588c;background:#edf8ff;}
.modal-meta{font-size:10px;color:#526e8b;margin-bottom:16px;}
.toast{background:#e2f4ff;color:#145486;border:1px solid #255074;border-radius:12px;box-shadow:0 8px 25px #157bc020;padding:15px 17px;font-size:12px;line-height:1.5;display:flex;align-items:flex-start;gap:11px;max-width:430px;animation:toast-in .2s ease;border-color:#80c6f7;}
.toast.error{background:#e8f5ff;border-color:#8fb9d6;color:#174f7d;}
.toast .icon{width:16px;height:16px;margin-top:2px;}
.toast button{background:none;border:0;color:inherit;margin-left:auto;padding:0;display:flex;}
#toast-region{position:fixed;bottom:22px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:300;max-width:calc(100vw - 40px);}
@keyframes toast-in{
from{opacity:0;transform:translateY(6px);}
to{opacity:1;transform:translateY(0);}
}
.noscript-notice{position:fixed;bottom:0;background:#fff0d8;color:#854909;padding:20px;width:100%;text-align:center;z-index:400;}
.auth-body{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:40px 8%;gap:8%;background:#f3faff;}
.auth-art{position:fixed;inset:0 52% 0 0;background:linear-gradient(145deg,#e4f4ff 0%,#ceefff 52%,#b5e3ff 100%);overflow:hidden;color:#125a98;display:flex;flex-direction:column;justify-content:center;padding:6% 5%;}
.auth-orbit{position:absolute;border:1px solid #28587f50;width:600px;height:600px;border-radius:50%;top:-160px;left:-220px;border-color:#2195e330;}
.orbit-two{width:820px;height:820px;top:-265px;left:-330px;border-color:#2195e320;}
.art-caption{position:relative;z-index:1;}
.art-caption .eyebrow{color:#296a99;font-size:9px;letter-spacing:2px;}
.art-caption h2{font-size:clamp(30px,3.7vw,56px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin:23px 0;color:#085aa9;}
.art-caption p{color:#355f87;font-size:13px;max-width:290px;line-height:1.8;}
.art-timeline{margin-top:50px;width:85%;height:165px;background:repeating-linear-gradient(to right,#1d85d035 0,#1d85d035 1px,transparent 1px,transparent 20%);position:relative;border-bottom:1px solid #26547935;border-bottom-color:#1d85d035;}
.art-timeline i{height:21px;background:#118ae3;border:1px solid #488dc5;border-radius:4px;position:absolute;width:60%;left:8%;top:12px;border-color:#0679d5;}
.art-timeline i:nth-child(2){top:53px;left:27%;width:65%;background:#5cceef;border-color:#27afda;}
.art-timeline i:nth-child(3){top:94px;left:8%;width:35%;background:#ffc956;border-color:#efae23;}
.art-timeline i:nth-child(4){top:135px;left:47%;width:50%;}
.art-footer{position:absolute;bottom:40px;left:11%;font-size:8px;letter-spacing:1.7px;color:#316995;}
.auth-card{width:440px;max-width:100%;margin-left:49%;z-index:1;}
.auth-brand{color:#124787;margin-bottom:40px;}
.auth-brand .brand-light{color:#4e7697;}
.auth-card h1{font-size:37px;letter-spacing:-1.8px;line-height:1.16;margin-bottom:17px;font-weight:600;}
.auth-card>.eyebrow{font-size:9px;letter-spacing:1.3px;color:#256da3;}
.auth-card>p{font-size:12px;color:#466987;margin-bottom:22px;}
.auth-form{display:flex;flex-direction:column;gap:17px;}
.auth-form input{width:100%;font-size:12px;min-height:44px;border-color:#b6d8f2;background:white;}
.auth-form .btn{min-height:46px;font-size:12px;margin-top:3px;background:linear-gradient(115deg,#0875d1,#086dd5);border-color:#0875d1;}
.auth-form .btn span{margin-left:auto;}
.auth-card .auth-footnote{font-size:10px;color:#526e8b;margin:22px 0 0;line-height:1.8;border-top:1px solid #d4e4f2;padding-top:18px;border-top-color:#c8e1f5;}
.auth-footnote+.small{margin-top:15px;}
.storage-check{font-size:10px;line-height:1.6;color:#81570e;}
.storage-check.ok{color:#087247;}
.storage-check.bad{color:#1769a5;}
.auth-body>.auth-card:only-child{margin:0;}
.mobile-only{display:none;}
@media (min-width:1800px){
:root{--sidebar:250px;}
#main-content{padding:35px 40px;}
.topbar,.page-footer{padding-left:40px;padding-right:40px;}
.timeline-scroll{max-height:680px;}
.timeline-row{height:82px;}
.event-bar{top:19px;}
.car-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width:1200px){
:root{--sidebar:202px;--resource:200px;}
.sidebar{padding-left:13px;padding-right:13px;}
.brand{font-size:17px;gap:7px;}
.brand-light{font-size:13px;}
.topbar{padding:0 22px;}
#main-content{padding:25px 22px 14px;}
.kpi{padding:14px;}
.kpi-icon{right:12px;top:14px;padding:6px;}
.kpi-icon .icon{width:13px;}
.kpi-note{display:block;margin:4px 0 0;}
.kpi-value{font-size:27px;}
.resource-cell{padding-left:11px;gap:8px;}
.mini-car{width:34px;padding:3px;}
.resource-name{font-size:10px;}
.car-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.range-title{font-size:12px;}
.planner-controls{padding:13px 15px;gap:10px;}
.date-nav{gap:5px;}
.period-controls{margin-left:auto;}
.auth-card{margin-left:49%;width:410px;}
.auth-body{padding-left:5%;padding-right:5%;}
}
@media (max-width:940px){
.page-heading{align-items:flex-start;}
.heading-actions{flex-direction:column;}
.top-username{display:none;}
.filter-count{display:none;}
.date-nav input{display:none;}
.dashboard-grid,.settings-grid{grid-template-columns:1fr;}
.kpi-icon{display:none;}
.event-sub{font-size:8px;}
.timeline-scroll{max-height:560px;}
.tip-banner .btn-link{display:none;}
.brand-light{font-size:12px;}
.sidebar{padding-top:26px;}
.side-nav a{font-size:11px;gap:9px;}
.nav-new{display:none;}
.workspace-tag{font-size:9px;}
.auth-art{right:56%;padding:5%;}
.auth-card{margin-left:44%;width:390px;}
.auth-card h1{font-size:32px;}
}
@media (max-width:760px){
:root{--sidebar:224px;--resource:174px;}
.sidebar{transform:translateX(-100%);transition:transform .18s ease;}
.sidebar.open{transform:translateX(0);}
.sidebar.open+.sidebar-scrim{display:block;position:fixed;inset:0;background:#0f223170;z-index:35;}
.app-main{margin-left:0;width:100%;}
.mobile-menu{display:flex;}
.breadcrumb{gap:7px;}
.breadcrumb>.mobile-menu .icon{width:19px;height:19px;}
.breadcrumb>span{display:none;}
.breadcrumb>.icon{display:none;}
.topbar{height:61px;padding:0 14px;}
.topbar-actions{gap:2px;}
.topbar-actions>.icon-btn:nth-of-type(2),.top-divider,.top-username{display:none;}
.user-avatar{width:26px;height:26px;margin:0 4px;font-size:10px;}
#main-content{padding:22px 14px 12px;}
.page-heading{gap:15px;margin-bottom:19px;}
h1{font-size:25px;}
.page-heading p{font-size:11px;line-height:1.6;}
.page-heading .eyebrow{font-size:8px;}
.heading-actions .btn{font-size:10px;padding:9px 11px;}
.heading-actions .btn.secondary-action{display:none;}
.kpi-grid{gap:9px;margin-bottom:18px;}
.kpi{padding:13px 10px;border-radius:10px;}
.kpi-label{font-size:9px;line-height:1.4;min-height:25px;}
.kpi-value{font-size:24px;}
.kpi-note{font-size:8px;margin-top:3px;white-space:normal;}
.filter-bar{gap:8px;padding:12px;}
.search-field{flex-basis:100%;max-width:none;}
.filter-bar select{flex:1;max-width:none;width:100px;font-size:10px;}
.planner-controls{padding:12px;gap:12px;}
.date-nav{width:100%;gap:6px;}
.range-title{margin-right:auto;font-size:12px;}
.period-controls{width:100%;justify-content:space-between;flex-direction:row-reverse;}
.segmented{width:auto;}
.segmented button{font-size:10px;}
.period-controls>.small{font-size:9px;}
.timeline-scroll{max-height:512px;}
.resource-header{padding-left:12px;font-size:9px;}
.resource-cell{gap:7px;padding:8px 9px;}
.resource-name{font-size:9px;}
.resource-sub{font-size:7px;gap:4px;}
.plate-mini{font-size:7px;}
.mini-car{display:none;}
.resource-status{margin-left:4px;}
.time-head-cell .day-name{font-size:8px;}
.timeline-row{height:69px;}
.event-bar{top:13px;height:43px;}
.planner-bottom{padding:12px;gap:12px;}
.legend{gap:9px;}
.planner-hint{font-size:8px;}
.tip-banner{padding:11px 12px;gap:9px;font-size:9px;align-items:flex-start;}
.page-footer{padding:10px 15px 18px;font-size:7px;}
.page-footer>span:last-child{display:none;}
.data-table td,.data-table th{padding:13px;}
.car-grid{gap:12px;}
.car-card-top{padding:13px 12px;}
.car-card-body{padding:14px 12px;}
.car-card h3{font-size:14px;}
.car-card .badge{font-size:8px;padding:4px 6px;}
.car-illustration{height:85px;}
.car-illustration svg{width:130px;height:66px;}
.car-card-bottom{flex-wrap:wrap;gap:10px;}
.car-card .btn{padding:7px 9px;}
.rate{font-size:16px;}
.panel-header{padding:17px;}
.panel-header h2{font-size:14px;}
.operation-row{padding:15px;}
.capacity-body,.settings-body{padding:20px;}
.modal-header{padding:20px;}
.modal-body{padding:19px;}
.modal-footer{padding:13px 19px;}
.modal-header h2{font-size:20px;}
.form-grid.two,.form-grid.three{grid-template-columns:1fr;}
.form-grid{gap:15px;}
.detail-grid{gap:11px;}
.detail-grid>div{padding:12px;}
.detail-grid dd{font-size:11px;}
.move-comparison{gap:8px;grid-template-columns:1fr 22px 1fr;}
.move-side{padding:13px 11px;}
.move-side strong{font-size:11px;}
.move-side p{font-size:10px;}
.modal-footer .btn{font-size:10px;min-height:37px;}
.modal-footer .left-action{margin-right:0;}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 40px);}
.modal-shell{max-height:calc(100dvh - 40px);}
.auth-art{display:none;}
.auth-body{padding:35px 22px;align-items:center;}
.auth-card{margin:0;width:420px;}
.auth-card .form-grid.two{grid-template-columns:1fr 1fr;}
.auth-card h1{font-size:35px;}
.auth-brand{margin-bottom:33px;}
#toast-region{bottom:15px;right:14px;max-width:calc(100vw - 28px);}
.toast{font-size:11px;}
.mobile-only{display:inline;}
}
@media (max-width:410px){
.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.kpi-label{min-height:0;}
.kpi-note{display:inline;margin-left:4px;}
.kpi{padding:11px 12px;}
.kpi-value{font-size:24px;}
.car-grid{grid-template-columns:1fr;}
.page-heading{flex-wrap:wrap;gap:13px;}
.heading-actions{width:100%;flex-direction:row;}
.heading-actions .btn{flex:1;}
.resource-cell{min-width:150px;width:150px;}
.resource-header{min-width:150px;width:150px;}
:root{--resource:150px;}
.auth-card .form-grid.two{grid-template-columns:1fr;}
.auth-card h1{font-size:33px;}
.detail-grid{grid-template-columns:1fr;}
.move-comparison{grid-template-columns:1fr;}
.move-comparison>.icon{transform:rotate(90deg);margin:auto;}
.page-heading .eyebrow{font-size:7px;}
}
@media (prefers-reduced-motion:reduce){
*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* Celeste / Blu — revisione grafica 20260907, logica e layout invariati. */
::selection{background:#c2eaff;color:#154b80}
input{accent-color:#0875d1}
input::placeholder,textarea::placeholder{color:#567794;opacity:1}
.side-nav a:not(.active) .icon{color:#0878c7}
.side-nav a.active:hover{background:linear-gradient(105deg,#0868bf,#0076ba)}
.kpi:nth-child(3){box-shadow:inset 0 3px 0 #1682e6}
.kpi:nth-child(4){box-shadow:inset 0 3px 0 #00a2c9}
.resource-cell:focus-visible{outline-color:#0087db}
.timeline-row:nth-child(even) .row-track:not(.offline){background-color:#f4faff}
.timeline-row:nth-child(even) .resource-cell{background:#f6fbff}
.timeline-row:nth-child(even) .resource-cell:hover{background:#e7f5ff}
.time-head-cell.today .day-name{color:#145689}
.data-table tbody tr:nth-child(even){background:#f1f9ff}
.data-table tbody tr:hover{background:#e0f2ff}
.car-card:hover{border-color:#86c7f6;box-shadow:0 4px 15px #1688d510}
.move-side.to strong{color:#0869b7}
.move-comparison>.icon{color:#0a88d5}
.auth-form .btn:hover{background:linear-gradient(115deg,#007bbd,#075ec2)}
@media(max-width:760px){.sidebar.open+.sidebar-scrim{background:#184e783d}}

/* Planner operativo: auto, gruppi, stazioni e sovrapposizioni. */
:root{--resource:258px;}

/* Gruppi e righe */
.timeline-row.group-start{border-top:3px solid #8bbfe7;}
.timeline-row.group-start:first-of-type{border-top:0;}
.resource-cell{gap:9px;padding:7px 10px;background:#fff;}
.group-badge{width:35px;min-width:35px;height:30px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#dcefff;border:1px solid #b9dcf7;color:#075da7;font-size:11px;font-weight:800;letter-spacing:.3px;}
.resource-name{font-size:10px;margin-bottom:3px;}
.resource-sub{font-size:8px;}
.row-track{background-color:#fff;background-image:linear-gradient(to right,#d7e7f4 1px,transparent 1px);}
.timeline-row:nth-child(even) .row-track:not(.offline){background-color:#f8fbfe;}
.timeline-row:nth-child(even) .resource-cell{background:#f9fcff;}
.row-track.offline{background-color:#f1f9ff;background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,#79bde833 8px,#79bde833 9px);cursor:not-allowed;}

/* Barre operative: verde prenotazione, giallo noleggio in corso, blu one-way, rosso officina. */
.event-bar{height:24px;min-height:24px;border-radius:4px;padding:2px 25px 2px 20px;gap:4px;font-size:8px;border-left-width:2px;overflow:visible;box-shadow:0 1px 2px #173b6518;}
.event-bar.confirmed{background:#c8edcb;border-color:#74bf7c;color:#164f21;}
.event-bar.in_progress.current-rental{background:#ffe07a;border-color:#d8a71e;color:#664800;}
.event-bar.in_progress.one-way{background:#84c9f7;border-color:#2f91d3;color:#073f69;}
.event-bar.option{background:#e7ebef;border-color:#aeb9c5;color:#485767;}
.event-bar.completed{background:#d9dee5;border-color:#a7b1bc;color:#4d5965;}
.event-title{font-size:8px;margin:0;line-height:1.1;}
.event-sub{font-size:7px;line-height:1.1;}
.resize-grip{width:6px;}
.resize-grip::after{height:10px;top:6px;}

.assignment-marker{position:absolute;top:50%;transform:translateY(-50%);z-index:5;font-size:14px;font-weight:900;line-height:1;text-shadow:0 1px 0 #fff;}
.assignment-marker.start{left:5px;}
.assignment-marker.end{right:5px;font-size:10px;}
.station-tps{color:#1769a5!important;}
.station-pmo{color:#1769c2!important;}
.station-cta{color:#168654!important;}
.assignment-marker.upgrade,.assignment-marker.downgrade{font-size:17px;}
.assignment-marker.correct{font-size:13px;}

.maintenance-bar{position:absolute;top:6px;bottom:6px;height:calc(100% - 12px);min-height:28px;border:1px solid #3187cf;border-radius:5px;background:repeating-linear-gradient(135deg,#79bde8,#79bde8 10px,#5aa9dc 10px,#5aa9dc 20px);color:#174f7d;display:flex;align-items:center;gap:7px;padding:4px 9px;text-align:left;overflow:hidden;z-index:2;cursor:pointer;box-shadow:0 2px 5px #1769a528;}
.maintenance-bar:hover{filter:brightness(1.03);box-shadow:0 3px 8px #1769a535;}
.maintenance-bar .icon{width:13px;height:13px;}
.maintenance-bar span{min-width:0;display:flex;flex-direction:column;}
.maintenance-bar strong{font-size:8px;letter-spacing:.7px;}
.maintenance-bar small{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.95;}

/* Legenda */
.planner-legend-wrap{align-items:flex-start;flex-direction:column;gap:9px;padding:12px 18px;}
.booking-legend .confirmed i{background:#7bc281;}
.booking-legend .current-rental i{background:#e2ad22;}
.booking-legend .one-way i{background:#318fce;}
.booking-legend .option i{background:#9ba8b4;}
.booking-legend .maintenance i{background:#79bde8;}
.assignment-legend,.station-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:9px;color:#476987;}
.assignment-legend span,.station-key{display:inline-flex;align-items:center;gap:5px;}
.assignment-legend b{font-size:14px;color:#214e78;}
.station-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:currentColor;}
.planner-hint{margin-left:auto;}

/* Preview relazione categoria assegnata */
.assignment-preview{margin-top:16px;border:1px solid #cbdfee;border-radius:10px;background:#f3f9fe;display:flex;align-items:center;gap:12px;padding:12px 14px;}
.assignment-symbol{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fff;border:1px solid #bed8eb;font-size:21px;font-weight:900;color:#175c92;flex-shrink:0;}
.assignment-preview strong{display:block;font-size:11px;color:#174f7d;}
.assignment-preview small{display:block;font-size:9px;color:#52708a;margin-top:3px;}
.assignment-preview .upgrade{color:#117c4d;}
.assignment-preview .downgrade{color:#1769a5;}
.alert.overlap-note{background:#fff5ce;border-color:#efd071;color:#73570b;margin-top:16px;}
.drag-preview{height:28px;padding:4px 7px;}
.drag-preview.overlap{border-color:#d4a31d;background:#fff0ac;color:#664d00;}
.drag-preview.invalid{border-color:#79bde8;background:#e8f5ffee;color:#174f7d;}

/* Popup prenotazione/noleggio */
.booking-popup{display:flex;flex-direction:column;gap:15px;}
.booking-popup-status{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;border-radius:12px;background:#e4f5ff;border-left:5px solid #2985c7;}
.booking-popup.confirmed .booking-popup-status{background:#e6f7e7;border-left-color:#63b46b;}
.booking-popup.current-rental .booking-popup-status{background:#fff3bd;border-left-color:#dda914;}
.booking-popup.one-way .booking-popup-status{background:#dcedfb;border-left-color:#2785c8;}
.booking-popup.option .booking-popup-status{background:#edf0f3;border-left-color:#9ba7b2;}
.booking-popup.completed .booking-popup-status{background:#e8ebef;border-left-color:#8d99a4;}
.booking-popup-status strong{font-size:18px;color:#174a75;display:block;margin:3px 0;}
.booking-popup-status small{font-size:9px;color:#557087;}
.popup-kicker,.popup-label{font-size:8px;font-weight:800;letter-spacing:1px;color:#51738f;display:block;}
.popup-group{min-width:50px;height:42px;border-radius:9px;background:#fff;border:1px solid #bfd7e8;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:850;color:#145c94;}
.booking-popup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.booking-popup-grid section{border:1px solid #d2e3ef;border-radius:10px;padding:14px 15px;background:#fafdff;}
.booking-popup-grid section h3{font-size:13px;margin:5px 0;color:#174f7d;}
.booking-popup-grid section p{font-size:10px;color:#557087;margin:0;line-height:1.55;}
.booking-popup-grid .relation-panel{display:flex;align-items:center;gap:12px;}
.relation-panel.upgrade{background:#eef9f3;border-color:#bce5cf;}
.relation-panel.downgrade{background:#e8f5ff;border-color:#8fb9d6;}
.route-card{display:grid;grid-template-columns:1fr 32px 1fr;gap:10px;align-items:center;border:1px solid #c9dfef;border-radius:12px;padding:15px;background:#f4faff;}
.route-card>div{position:relative;padding-left:19px;display:flex;flex-direction:column;gap:3px;}
.route-card strong{font-size:11px;color:#174f7d;}
.route-card small{font-size:9px;color:#5b7489;}
.route-arrow{text-align:center;color:#5c7891;font-size:17px;font-weight:700;}
.route-marker{position:absolute;left:0;top:4px;width:10px;height:10px;border-radius:50%;background:currentColor;}
.contract-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.contract-mini span{border-radius:9px;border:1px solid #d5e4ef;background:#f8fcff;padding:10px 12px;}
.contract-mini small{display:block;font-size:7px;letter-spacing:.7px;color:#607b91;margin-bottom:4px;}
.contract-mini strong{font-size:11px;color:#174f7d;}
.contract-block{margin:0;}
.popup-history{align-self:flex-start;}

/* Scheda officina */
.maintenance-fields{border:1px solid #8fb9d6;background:#f2f9ff;border-radius:11px;padding:16px;}

@media(max-width:760px){
  :root{--resource:185px;}
  .group-badge{width:29px;min-width:29px;height:27px;font-size:9px;}
  .booking-popup-grid,.contract-mini{grid-template-columns:1fr;}
  .route-card{grid-template-columns:1fr;}
  .route-arrow{transform:rotate(90deg);}
  .station-legend{display:none;}
}

/* 1.2.0 — dense fleet chart, editable contracts and guided monthly fixtures. */
[hidden]{display:none!important}
:root{--resource:340px}
.planner-page #main-content{padding:18px 20px 14px}
.planner-page .topbar{height:54px}
.planner-page .page-heading{margin-bottom:12px;gap:12px}
.planner-page .page-heading h1{font-size:25px;margin-bottom:3px}
.planner-page .page-heading p{font-size:11px;margin:0}
.planner-page .page-heading .eyebrow{display:none}
.fleet-strip{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0 0 12px;padding:10px 14px;background:#e1f1ff;border:1px solid #bfdef6;border-radius:10px;font-size:11px;color:#335c7f}
.fleet-strip>span b{color:#124879}
.fleet-counter{border:0;background:transparent;color:#155487;padding:0;text-align:left;font-size:11px}
.fleet-counter strong{font-size:21px;color:#086fc4;margin-right:7px}
.fleet-counter strong span{font-size:13px;font-weight:500;color:#507898}
.strip-period{margin-left:auto;color:#547390;font-size:10px}
.planner-page .filter-bar{padding:10px 12px;gap:9px;flex-wrap:wrap}
.planner-page .filter-bar input,.planner-page .filter-bar select{min-height:33px;padding-top:7px;padding-bottom:7px}
.planner-controls{padding:9px 12px;flex-wrap:wrap;gap:9px}
.planner-controls .date-nav,.planner-controls .period-controls{flex-wrap:wrap;gap:5px}
.planner-controls .range-title{font-size:12px;min-width:0}
.planner-controls input[type=date]{min-height:32px;padding:4px 6px;font-size:11px;width:126px}
.planner-controls .segmented button{font-size:11px;padding:6px 9px}
.planner-page .timeline-scroll{max-height:calc(100dvh - 295px);min-height:280px;scrollbar-width:auto}
.timeline-head{height:48px}
.fleet-resource-header,.resource-cell.fleet-resource{display:grid;grid-template-columns:25px 45px 88px minmax(0,1fr) 40px;gap:0;padding:0 6px;align-items:center;text-align:left;min-width:var(--resource);width:var(--resource);background:#fff;border-right:2px solid #81b5dd}
.fleet-resource-header{height:48px;background:#e4f2ff;color:#3c607e;font-size:10px;letter-spacing:0}
.fleet-resource-header>span{padding:0 3px}
.resource-cell.fleet-resource{border-radius:0;min-height:0;font-size:10px;font-weight:400;z-index:10}
.fleet-resource>span,.fleet-resource>strong{padding:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fleet-row-number{font-size:9px;color:#7192ac}
.fleet-group{font-weight:750;color:#075699;background:#e8f3fe;border-radius:3px;margin-right:7px;line-height:20px;text-align:center}
.fleet-plate{font-size:10px;color:#14426b;font-variant-numeric:tabular-nums}
.fleet-model{font-size:10px;color:#345879}
.fleet-station{font-size:10px;font-weight:700;text-align:center}
.timeline-row.group-start{border-top:2px solid #a5cdec}
.timeline-row{border-bottom:1px solid #d4e5f2}
.time-head-cell{height:48px;padding:5px 0;justify-content:center}
.time-head-cell .day-name{font-size:9px}
.time-head-cell .day-number{font-size:14px;line-height:19px}
.time-head-cell.weekend{background:#dbe5f1}
.weekend-shade{position:absolute;top:0;bottom:0;pointer-events:none;background:#dbe5f19e;z-index:0}
.row-track{overflow:hidden}
.event-bar{border-radius:2px;padding:1px 15px 1px 16px;gap:3px;overflow:hidden;font-size:10px;box-shadow:none;border-width:1px;z-index:3}
.event-bar.confirmed{background:#a9d978;border-color:#83b950;color:#253a15}
.event-bar.in_progress.current-rental{background:#ffff00;border-color:#dccb12;color:#373c06}
.event-bar.in_progress.one-way{background:#00b0f0;border-color:#008dc5;color:#103b50}
.event-bar.option{background:#dfedcc;border:1px dashed #659d43;color:#3a5231}
.event-bar.completed{background:#dbe2eb;border-color:#a6b5c6;color:#36465b}
.event-bar.guaranteed{background:#9900cc;border-color:#71039f;color:#fff}
.event-bar.has-conflict{outline:1px solid #79bde8;outline-offset:0}
.event-bar:hover,.event-bar:focus-visible{z-index:8;filter:brightness(.98);box-shadow:0 0 0 2px #1b70bb80}
.event-text{min-width:0;flex:1}
.event-title{font-size:10px;line-height:14px;margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-title time{font-size:9px;font-variant-numeric:tabular-nums;margin-right:2px}
.event-sub{font-size:8px;line-height:12px}
.event-end-time{font-size:9px;flex-shrink:0;font-variant-numeric:tabular-nums}
.tiny-event .event-text,.tiny-event .event-end-time{display:none}
.short-event .event-end-time{display:none}
.assignment-marker{font-size:11px;top:50%;text-shadow:0 1px 1px #ffffffaa;pointer-events:none}
.assignment-marker.start{left:2px}
.assignment-marker.end{right:2px;font-size:11px}
.assignment-marker.upgrade,.assignment-marker.downgrade{font-size:14px}
.assignment-marker.correct{font-size:11px}
.assignment-marker.continuation{color:#263e55!important;font-size:9px}
.tiny-event .assignment-marker.end{display:none}
.tiny-event{padding:0;min-width:7px}
.tiny-event .assignment-marker.start{font-size:10px}
.resize-grip{width:4px;z-index:7}
.resize-grip::after{top:4px;height:8px}
.maintenance-bar{background:#e36c09;border-color:#b35405;color:#fff;border-radius:2px;padding:1px 5px;gap:5px;box-shadow:none;z-index:3;white-space:nowrap;overflow:hidden}
.maintenance-bar.planned{background:#fac08f;border-color:#dd995e;color:#6b390e;border-style:dashed}
.maintenance-bar.completed{background:#f5d9c1;border-color:#d3ad8b;color:#755438}
.maintenance-bar strong{font-size:9px;letter-spacing:0;white-space:nowrap}
.maintenance-bar small{font-size:9px;overflow:hidden;text-overflow:ellipsis}
.maintenance-fields{background:#fff7ef;border-color:#efc9a8}
.row-track.offline{background-color:#e7eff7;background-image:repeating-linear-gradient(135deg,transparent,transparent 7px,#8cb5d533 7px,#8cb5d533 8px)}
.offline-label{font-size:10px;color:#4b6f8d;z-index:1;white-space:nowrap;top:50%;transform:translateY(-50%);margin:0;left:8px;height:auto}
.planner-bottom{padding:9px 12px;gap:10px;flex-wrap:wrap}
.planner-bottom small{font-size:9px;color:#557797}
.booking-legend{flex-wrap:wrap;gap:10px;font-size:10px}
.booking-legend .confirmed i{background:#a9d978}
.booking-legend .current-rental i{background:#ffff00;border:1px solid #c2b64a}
.booking-legend .one-way i{background:#00b0f0}
.booking-legend .completed i{background:#dbe2eb}
.booking-legend .maintenance i{background:#e36c09}
.booking-legend .guaranteed i{background:#9900cc}
.legend-details{padding:0 12px 10px;color:#476786;font-size:11px}
.legend-details summary{cursor:pointer;font-weight:650;font-size:10px;padding:3px 0}
.legend-details p{margin:8px 0}
.legend-details .station-legend{font-size:11px}
.planner-wide .sidebar{display:none}
.planner-wide .app-main{margin-left:0;width:100%}
.planner-wide .topbar{height:42px}
.planner-wide .page-heading{display:none}
.planner-wide #main-content{padding:8px 12px}
.planner-wide .timeline-scroll{max-height:calc(100dvh - 225px)}
.unassigned-tray{margin:12px 0;background:#fff;border:1px solid #bddaf0;border-radius:10px;overflow:hidden}
.unassigned-tray>summary{padding:13px 15px;font-size:12px;cursor:pointer;color:#245c8a}
.unassigned-tray>summary span{margin-left:14px;font-size:10px;color:#60829c}
.unassigned-list{padding:0 12px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px}
.unassigned-list>button{display:flex;gap:10px;align-items:center;text-align:left;border:1px solid #d4e6f5;border-radius:7px;background:#f4faff;padding:8px;color:#284f74}
.unassigned-list b{font-size:11px;display:block}
.unassigned-list small{display:block;font-size:10px;line-height:1.5;margin-top:3px}
.form-details{margin:18px 0;border:1px solid #d4e5f3;border-radius:9px;padding:12px;background:#f8fcff}
.form-details summary{cursor:pointer;font-size:12px;font-weight:650;color:#28618e}
.form-details .form-grid{margin-top:15px}
.checkbox-label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:11px;font-weight:500}
.checkbox-label input{flex-shrink:0;width:16px;height:16px;margin:0;min-height:0;padding:0}
.required-hint{display:block;font-weight:400;font-size:10px;color:#7c6444;margin-top:4px}
.assignment-preview small{font-size:11px;line-height:1.5}
.assignment-preview strong{font-size:13px}
.assignment-preview .unassigned{color:#667e94}
#contract-group-override p{margin:0 0 9px}
.popup-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.popup-inline-actions small{margin-left:auto;color:#607d98}
.booking-popup-status strong{font-size:18px}
.popup-label,.popup-kicker{font-size:9px}
.booking-popup-grid section p{font-size:11px}
.booking-popup-grid section h3{font-size:15px}
.booking-popup .alert .btn{margin:9px 0 0;display:flex;width:fit-content}
.booking-popup.guaranteed .booking-popup-status{border-left-color:#9900cc;background:#f3e4fa}
.history-list article{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #dceaf6}
.history-list article small{display:block;margin:4px 0;color:#5b7a98}
.history-list article p{font-size:12px;margin:5px 0}
.suite-overview{display:flex;align-items:center;gap:30px;background:#e1f2ff;border:1px solid #bfdef3;border-radius:12px;padding:18px 22px;margin-bottom:20px;flex-wrap:wrap}
.suite-overview>span{display:flex;flex-direction:column;color:#4d7493;font-size:11px}
.suite-overview b{font-size:27px;color:#0869b7;line-height:1.3}
.suite-overview>div{margin-left:auto;font-size:14px;font-weight:700;color:#225d8f}
.suite-overview small{display:block;margin-top:5px;font-size:10px;font-weight:400;color:#557f9e;max-width:270px}
.test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.test-card{padding:22px;display:flex;flex-direction:column}
.test-number{color:#0973c3;font-size:10px;letter-spacing:1.7px;font-weight:800;margin-bottom:10px}
.test-card h2{font-size:17px;line-height:1.35;margin-bottom:9px}
.test-card p{font-size:12px;line-height:1.7;color:#50708c;margin-bottom:16px}
.test-card-actions{margin-top:auto;display:flex;gap:7px;flex-wrap:wrap}
@media(max-width:1100px){.planner-page #main-content{padding:12px}.planner-page .heading-actions .btn{font-size:11px}.strip-period{display:none}.planner-page .timeline-scroll{max-height:60dvh}.fleet-strip{gap:14px}.test-grid{grid-template-columns:1fr}.planner-controls{align-items:flex-start}}
@media(max-width:760px){:root{--resource:210px}.fleet-resource-header,.resource-cell.fleet-resource{grid-template-columns:20px 36px 99px 0 43px;padding:0 4px;width:var(--resource);min-width:var(--resource)}.fleet-model,.fleet-resource-header>span:nth-child(4){display:none}.fleet-group{margin-right:3px}.fleet-strip{gap:9px;padding:8px 10px}.fleet-strip>span{font-size:9px}.fleet-counter strong{font-size:18px}.fleet-strip>span:nth-of-type(2){display:none}.planner-page .page-heading{align-items:flex-start;flex-wrap:wrap}.planner-page .page-heading h1{font-size:23px}.planner-page .timeline-scroll{max-height:60dvh;min-height:260px}.planner-page .planner-controls .period-controls{justify-content:flex-start}.legend-details .station-legend{display:flex}.planner-bottom small{display:none}.planner-wide .mobile-menu{display:none}.form-grid.three{grid-template-columns:1fr}.suite-overview{gap:18px;padding:15px}.suite-overview>div{margin-left:0}.unassigned-tray>summary span{display:block;margin:5px 0 0}.history-list article{flex-direction:column}.test-card{padding:17px}}
/* ECH International Fleet R1 additions */
.auth-body{min-height:100vh;display:grid;place-items:center;padding:30px;background:linear-gradient(135deg,#e8f6ff,#f8fcff)}
.auth-card{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 18px 50px #1269a61c}.auth-card>img{display:block;margin-bottom:20px}.form-stack{display:flex;flex-direction:column;gap:14px}.form-stack label,.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:#315d89}.form-stack input,.form-stack select,.form-grid input,.form-grid select,.form-grid textarea{width:100%}.notice{padding:12px 15px;border-radius:9px;margin-bottom:16px;border:1px solid #b8dff9;background:#eaf7ff;color:#174f86}.notice.ok{background:#e5f8ee;border-color:#b5e5c9;color:#176044}.notice.danger{background:#e8f5ff;border-color:#8fb9d6;color:#174f7d}.form-panel{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.form-grid .span2{grid-column:span 2}.section-title{font-size:12px;font-weight:700;color:#0d5fa8;border-bottom:1px solid var(--line);padding:8px 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.check{flex-direction:row!important;align-items:center!important;gap:9px!important;padding-top:25px}.check input{width:auto!important}.inline{display:inline}.top-gap{margin-top:20px}.address-warning{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#ffcf52;color:#6c4700;font-weight:800;margin-left:5px}.country-combo{position:relative}.country-results{position:absolute;left:0;right:0;top:100%;z-index:30;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px #0a5d9b1c;max-height:260px;overflow:auto;display:none}.country-results.open{display:block}.country-option{width:100%;border:0;background:#fff;text-align:left;padding:10px 12px;color:#234f7e}.country-option:hover{background:#e8f5ff}.address-validation-box{margin-top:18px;padding:16px;border:1px solid #f1cf99;background:#fff9e8;border-radius:10px}.address-suggestion{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #ecd8a7;padding:10px 0;font-size:11px}.vehicle-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.vehicle-hero p{margin:0;color:var(--muted)}.tabs{display:flex;gap:2px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs a{padding:11px 13px;font-size:11px;color:#416a8d;border-bottom:3px solid transparent;white-space:nowrap}.tabs a.active{color:#0875d1;border-color:#0875d1;font-weight:700;background:#eef8ff}.detail-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.detail-list{margin:0;padding:15px 22px}.detail-list>div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e6f0f8}.detail-list>div:last-child{border:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right;font-weight:600}.note-item{padding:14px 0;border-top:1px solid var(--line)}.note-item strong{font-size:11px}.note-item small{float:right;color:var(--muted)}.note-item p{margin:7px 0 0;font-size:11px}.upload-zone{border:2px dashed #9ccff1;border-radius:12px;padding:30px 18px;text-align:center;background:#f5fbff;cursor:pointer;display:flex;flex-direction:column;gap:7px;color:#2b6090}.upload-zone.dragover{background:#ddf2ff;border-color:#0875d1}.upload-zone span{font-size:10px;color:var(--muted)}.upload-icon{font-size:26px}.upload-progress{padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.upload-progress progress{width:100%;height:8px}.document-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.document-row strong,.document-row small{display:block}.document-row small{margin-top:4px;color:var(--muted);font-size:9px}.planner-v2{overflow:hidden}.planner-scroll{overflow:auto;min-width:100%}.planner-head,.planner-row{display:grid;grid-template-columns:220px minmax(1200px,1fr);min-width:1420px}.planner-head{position:sticky;top:0;z-index:4;background:#eef8ff;border-bottom:1px solid var(--line)}.planner-head>.planner-resource{padding:12px 15px;font-weight:700}.planner-head{grid-template-columns:220px repeat(30,40px)}.planner-day{text-align:center;padding:8px 2px;border-left:1px solid var(--line);font-size:10px}.planner-day small{display:block;color:var(--muted);font-size:8px}.planner-row{min-height:58px;border-bottom:1px solid #e4eef6;grid-template-columns:220px 1200px}.planner-resource{padding:10px 15px;background:#fbfdff;position:sticky;left:0;z-index:2;border-right:1px solid var(--line)}.planner-resource strong,.planner-resource small{display:block}.planner-resource small{font-size:8px;color:var(--muted);margin-top:4px}.planner-track{position:relative;background-image:linear-gradient(to right,#d5e7f5 1px,transparent 1px);background-size:40px 100%;min-height:58px}.planner-event{position:absolute;top:10px;height:37px;border:0;border-radius:6px;background:#f3c947;color:#5b4400;padding:4px 7px;overflow:hidden;text-align:left;font-size:8px;border-left:3px solid #d9a800}.planner-event.oneway{background:#65b9f1;color:#063e67;border-left-color:#0875d1}.planner-event strong{white-space:nowrap}.badge.on_rental{background:#dbeeff;color:#075ca8}.badge.hard_hold{background:#e8f5ff;color:#174f7d}.badge.reserved{background:#fff0bb;color:#7c5000}.summary-reset{list-style:none;cursor:pointer}.summary-reset::-webkit-details-marker{display:none}@media(max-width:980px){.form-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:auto}.vehicle-hero{align-items:flex-start;flex-direction:column}}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;border:1px solid var(--line);background:#f7fbff;border-radius:10px;padding:14px}.permission-check{flex-direction:row!important;align-items:center!important;font-weight:500!important}.permission-check input{width:auto!important;margin:0}.permission-check span{font-size:10px}

/* Hover-only column filter icon and the reference value-selection menu. */
table thead th.ech-filter-head{padding-right:27px!important;}
table thead th.ech-filter-relative{position:relative;}
table thead th .ech-filter-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:20px;height:22px;min-width:0;padding:4px 2px;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;display:flex;flex-direction:column;justify-content:center;gap:3px;opacity:0;cursor:pointer;}
table thead th .ech-filter-toggle span{display:block;width:15px;height:1px;min-height:1px;background:currentColor;}
table thead th:hover>.ech-filter-toggle,table thead th:focus-within>.ech-filter-toggle,table thead th>.ech-filter-toggle.is-filtered,table thead th>.ech-filter-toggle[aria-expanded="true"]{opacity:1;}
table thead th>.ech-filter-toggle.is-filtered{color:#0075ba;}
.ech-filter-menu{position:fixed;inset:auto;margin:0;box-sizing:border-box;z-index:2147483000;width:300px;padding:8px;border:1px solid #9cb1c0;border-radius:0;box-shadow:0 3px 9px #0003;background:#fff;color:#15334b;font:13px/1.4 Arial,sans-serif;overflow:auto;}
.ech-filter-menu input.ech-filter-search{display:block;box-sizing:border-box;width:100%;height:31px;min-height:0;padding:4px 7px;margin:0 0 7px;border:1px solid #79a3bb;border-radius:0;background:#fff;color:#15334b;font:inherit;box-shadow:inset 0 0 0 1px #e0edf4;}
.ech-filter-menu .ech-filter-option{display:flex;align-items:center;gap:8px;min-height:28px;margin:0;padding:2px 4px;font:inherit;color:inherit;cursor:pointer;}
.ech-filter-menu .ech-filter-option:hover{background:#eaf5fc;}
.ech-filter-menu .ech-filter-option input[type="checkbox"]{flex:0 0 17px;appearance:auto;width:17px;height:17px;min-height:0;padding:0;margin:0;accent-color:#168bc0;}
.ech-filter-menu .ech-filter-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ech-filter-values{max-height:260px;overflow:auto;}
.ech-column-filter-hidden{display:none!important;}
@media(hover:none){table thead th>.ech-filter-toggle{opacity:1;}}
