
:root{--dg-navy:#061d32;--dg-gold:#edc67b;--dg-soft:#f2f5f9;--dg-ink:#17324a}
body{background:#f2f5f9!important}
#app.app{min-height:100vh!important}#app.app:not(.on){display:none!important}
#app>.sidebar{position:relative!important;top:auto!important;left:auto!important;width:100%!important;height:auto!important;max-width:none!important;min-height:0!important;transform:none!important;background:linear-gradient(110deg,#061d32,#103652)!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;padding:7px 18px!important;overflow:visible!important;z-index:10!important;border:0!important}
#app>.sidebar>.brand{width:230px!important;min-width:200px!important;padding:6px 12px!important;border:0!important;background:transparent!important}
#app>.sidebar>.brand img{max-height:52px!important;object-fit:contain!important}
#app>.sidebar>#sideNav{flex:1 1 650px!important;display:flex!important;flex-flow:row wrap!important;align-items:center!important;gap:3px!important;padding:4px!important;max-height:none!important;overflow:visible!important}
#app>.sidebar>#sideNav button{width:auto!important;min-height:35px!important;margin:0!important;padding:8px 10px!important;background:transparent!important;color:#e4ecf3!important;border:0!important;border-radius:9px!important;white-space:nowrap!important;font-size:11px!important;font-weight:700!important}
#app>.sidebar>#sideNav button.active,#app>.sidebar>#sideNav button:hover{background:#f0ca7f!important;color:#0b273d!important}
#app>.sidebar>.side-bottom{display:none!important}
#app>.main{margin:0!important;margin-left:0!important;min-width:0!important;width:100%!important;max-width:none!important;background:#f2f5f9!important}
#app .topbar{position:relative!important;top:auto!important;padding:12px 22px!important;background:white!important;border-bottom:1px solid #dbe5ee!important;z-index:5!important}
#app .content{width:100%!important;max-width:1850px!important;margin:auto!important;padding:18px 22px 65px!important}
#app .card,#app .metric,#app .panel,#app .stat{border-radius:14px!important;border:1px solid #e0e7ef!important;box-shadow:0 5px 17px #17324a0b!important}
#app .section-title{background:white!important;padding:15px 18px!important;border-left:5px solid #dfae53!important;border-radius:13px!important;margin-bottom:16px!important}
#app .btn{border-radius:9px!important}
#app table thead th{background:#eaf1f7!important;color:#1c3d59!important}
#page-dashboard.dg360-ready>.dg-final-dashboard-title,#page-dashboard.dg360-ready>.reference-hero,#page-dashboard.dg360-ready>.reference-metrics,#page-dashboard.dg360-ready>.reference-grid-main{display:none!important}
#page-dashboard.dg360-ready> :not(#dg360-screen){display:none!important}
#dg360-screen{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#16334e}
.dg360-strip{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(260px,.9fr);gap:12px;margin-bottom:12px}
.dg360-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dg360-day{background:white;border:1px solid #dbe4ee;border-radius:11px;padding:10px 5px;text-align:center;color:#213f59;cursor:pointer;min-height:88px}
.dg360-day strong{display:block;font-size:24px}.dg360-day small{font-size:10px}.dg360-day.active{background:#153c59;color:white;border-color:#153c59}.dg360-day em{display:block;font-size:10px;color:#b88426;font-style:normal;margin-top:6px}
.dg360-summary{background:#10314b;color:white;border-radius:13px;padding:14px}.dg360-summary h3{margin:0 0 12px;font-size:12px;color:#dbe6f1}.dg360-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dg360-metrics b{display:block;font-size:21px;color:#f0ca7f}.dg360-metrics span{font-size:10px;color:#e1eaf1}
.dg360-layout{display:grid;grid-template-columns:minmax(225px,.86fr) minmax(420px,1.55fr) minmax(225px,.76fr);gap:12px;align-items:start}
.dg360-heading{font-size:13px;font-weight:900;margin:0 0 10px;letter-spacing:.02em;color:#102e48}
.dg360-trip{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid #e0e8f0;border-radius:12px;padding:9px;margin-bottom:8px;cursor:pointer;color:#17344f}
.dg360-trip.active{background:#fff2d5;border-color:#e3b85c}
.dg360-trip img{width:72px;height:66px;object-fit:cover;border-radius:8px;flex-shrink:0}
.dg360-trip b{display:block;font-size:15px}.dg360-trip small{display:block;color:#526b7f;font-size:11px}.dg360-trip .detail{min-width:0;flex:1}.dg360-progress{height:5px;background:#dbe4e9;border-radius:9px;margin-top:8px;overflow:hidden}.dg360-progress i{display:block;height:100%;background:#24a66d}
.dg360-box{background:white;border:1px solid #dfe7ee;border-radius:13px;overflow:hidden;margin-bottom:12px}
.dg360-box h3{font-size:13px;background:#fff2d7;padding:12px 14px;margin:0;color:#16354e}
.dg360-box .inner{padding:13px}
.dg360-fleet{display:grid;gap:7px}.dg360-fleet-item{display:flex;align-items:center;gap:9px;border:1px solid #e4eaf0;border-radius:9px;padding:8px;background:#fff}.dg360-fleet-item img{width:74px;height:48px;object-fit:contain}.dg360-fleet-item b{font-size:11px}.dg360-fleet-item small{display:block;font-size:10px;color:#6b7e8e}
.dg360-hero{height:176px;border-radius:14px;overflow:hidden;position:relative;background:linear-gradient(120deg,#123957,#0b2038);color:#fff;margin-bottom:10px}.dg360-hero img{width:100%;height:100%;object-fit:cover;opacity:.43}.dg360-hero .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:20px;background:linear-gradient(0deg,#071d33dc,transparent)}.dg360-hero h1{font-size:35px;color:white;margin:0;line-height:1.05}.dg360-hero p{font-size:12px;margin:8px 0 0;color:#e4ecf3}
.dg360-tabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:11px;background:#fff;border:1px solid #dce5ec;border-radius:10px;padding:5px}.dg360-tabs button{flex:1 0 auto;border:0;border-radius:8px;background:transparent;padding:9px 7px;color:#294861;font-size:11px;cursor:pointer}.dg360-tabs button.active{background:#0e4b83;color:white}
.dg360-buses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.dg360-bus{background:#fff;border:1px solid #dce6ee;border-radius:12px;padding:10px;min-width:0}.dg360-bus img{width:100%;height:84px;object-fit:contain}.dg360-bus h4{margin:4px 0;font-size:13px}.dg360-bus small{font-size:10px;color:#6c8191}.dg360-seats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:12px auto;max-width:180px}.dg360-seat{height:20px;border-radius:4px;background:#dce3e9}.dg360-seat.used{background:#51b77a}.dg360-seat.aisle{background:transparent}.dg360-seat.unknown{background:#a5b8c5}.dg360-caption{font-size:10px;color:#73889b;line-height:1.4}
.dg360-figure{display:flex;gap:8px;align-items:baseline}.dg360-figure b{font-size:27px;color:#103d62}.dg360-figure small{font-size:11px;color:#72869a}
.dg360-stop{display:flex;justify-content:space-between;border-bottom:1px solid #e8edf2;padding:9px 0;font-size:12px}.dg360-stop:last-child{border:0}.dg360-action{display:block;width:100%;background:#f6f9fb;border:1px solid #d7e3ed;border-radius:8px;padding:12px 8px;text-align:left;margin:6px 0;color:#173c5c;font-size:12px;cursor:pointer}.dg360-action.primary{background:#0c4b89;color:white}.dg360-empty{background:white;padding:20px;border:1px dashed #aebdcb;border-radius:12px;color:#5d7488;font-size:12px}.dg360-note{font-size:11px;color:#667d90;margin-top:10px}
@media(max-width:1100px){.dg360-layout{grid-template-columns:1fr 1.4fr}.dg360-layout>.dg360-right{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dg360-right .dg360-box{margin:0}}
@media(max-width:750px){#app>.sidebar>#sideNav{flex-wrap:nowrap!important;overflow-x:auto!important;flex:1 1 100%!important}#app .content{padding:10px!important}.dg360-strip,.dg360-layout{grid-template-columns:1fr}.dg360-layout>.dg360-right{grid-column:auto;display:block}.dg360-days{grid-template-columns:repeat(7,minmax(42px,1fr));overflow:auto}.dg360-day{padding:8px 2px;min-height:75px}.dg360-day strong{font-size:18px}.dg360-buses{grid-template-columns:repeat(3,minmax(0,1fr))}.dg360-bus{padding:5px}.dg360-bus img{height:54px}.dg360-seats{gap:2px}.dg360-seat{height:15px}}

/* R26 FIX: full-width work area and compact navigation; protect login visibility */
html,body{margin:0!important;min-width:0!important;width:100%!important;max-width:none!important;overflow-x:hidden!important}
#app.app.on{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
#app>.sidebar{position:relative!important;display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;align-content:center!important;min-height:0!important;height:auto!important;max-height:none!important;gap:8px!important;padding:8px 16px!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;transform:none!important}
#app>.sidebar>.brand{height:48px!important;min-height:48px!important;max-height:48px!important;width:210px!important;min-width:210px!important;max-width:210px!important;flex:0 0 210px!important;margin:0!important;padding:2px 8px!important;overflow:hidden!important}
#app>.sidebar>.brand img{display:block!important;width:auto!important;max-width:195px!important;max-height:42px!important;height:auto!important;object-fit:contain!important}
#app>.sidebar>#sideNav{height:auto!important;min-height:0!important;max-height:94px!important;flex:1 1 760px!important;width:auto!important;display:flex!important;flex-flow:row wrap!important;justify-content:flex-start!important;align-content:center!important;align-items:center!important;gap:3px!important;margin:0!important;padding:0!important;overflow:auto!important}
#app>.sidebar>#sideNav button{height:34px!important;min-height:34px!important;max-height:34px!important;min-width:0!important;width:auto!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;padding:6px 9px!important;margin:0!important;font-size:11px!important;line-height:1!important;white-space:nowrap!important}
#app>.sidebar>#sideNav button span{display:inline!important;font-size:inherit!important}
#app>.sidebar>.side-bottom{display:none!important}
#app>.main{position:relative!important;display:block!important;float:none!important;margin:0!important;margin-left:0!important;padding:0!important;width:100%!important;max-width:100%!important;min-width:0!important;transform:none!important}
#app>.main>.topbar{height:auto!important;min-height:54px!important;margin:0!important;border-radius:0!important;position:relative!important;display:flex!important;align-items:center!important;gap:12px!important}
#app>.main>.content{box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:14px clamp(12px,2vw,30px) 60px!important;transform:none!important}
#page-dashboard.dg360-ready{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important}
#dg360-screen{display:block!important;position:relative!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important;font-size:14px!important}
#dg360-screen .dg360-layout{grid-template-columns:minmax(220px,25%) minmax(0,1fr) minmax(225px,23%)!important;width:100%!important}
#dg360-screen .dg360-strip{width:100%!important;grid-template-columns:minmax(0,1fr) minmax(250px,31%)!important}
#dg360-screen .dg360-hero{height:200px!important}
#dg360-screen .dg360-hero h1{font-size:clamp(24px,2.6vw,40px)!important}
#dg360-screen .dg360-bus img{height:105px!important;object-fit:contain!important}
#dg360-screen .dg360-fleet-item img{height:55px!important;width:100px!important;object-fit:contain!important}
#dg360-screen .dg360-seat{height:23px!important}
#dg360-screen .dg360-photo-missing{display:flex;align-items:center;justify-content:center;height:105px;background:#f0f4f7;color:#516c81;border:1px dashed #aebfcc;border-radius:8px;font-size:11px;text-align:center;padding:6px}
#dg360-screen .dg360-fleet-item .dg360-photo-missing{height:55px;width:100px;flex-shrink:0}
#dg360-screen .dg360-plate{display:inline-block;font-size:11px;font-weight:800;background:#e6eff7;color:#123c61;padding:3px 6px;border-radius:5px;margin-top:4px}
@media(max-width:1100px){#dg360-screen .dg360-layout{grid-template-columns:minmax(200px,.8fr) minmax(0,1.3fr)!important}#dg360-screen .dg360-layout>.dg360-right{grid-column:1/-1!important}#app>.sidebar>.brand{width:160px!important;min-width:160px!important;flex-basis:160px!important}}
@media(max-width:750px){#app>.sidebar{display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:7px!important}#app>.sidebar>.brand{width:100%!important;max-width:none!important;flex:0 0 40px!important;height:40px!important;min-height:40px!important}#app>.sidebar>#sideNav{display:flex!important;flex:0 0 auto!important;max-height:48px!important;flex-wrap:nowrap!important;overflow-x:auto!important;width:100%!important}#app>.main>.topbar{display:flex!important;min-height:48px!important}#dg360-screen .dg360-layout{grid-template-columns:1fr!important}#dg360-screen .dg360-layout>.dg360-right{grid-column:auto!important}#dg360-screen .dg360-strip{grid-template-columns:1fr!important}#dg360-screen .dg360-hero{height:160px!important}#dg360-screen .dg360-bus img{height:70px!important}#dg360-screen .dg360-seat{height:16px!important}}

/* FINAL LAYOUT STABILIZATION: desktop full-width, no accidental scale */
html,body{font-size:14px!important}
body{margin:0!important;padding:0!important;max-width:100%!important;overflow-x:hidden!important}
#app.app.on{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;width:100%!important;min-height:100vh!important;height:auto!important;max-width:none!important;transform:none!important;zoom:1!important;position:relative!important}
#app.app.on>.sidebar{flex:0 0 auto!important;position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:64px!important;max-height:none!important;padding:8px 18px!important;box-sizing:border-box!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;align-content:center!important;overflow:visible!important;transform:none!important;zoom:1!important}
#app.app.on>.sidebar>.brand{flex:0 0 230px!important;max-width:230px!important;width:230px!important;min-width:0!important;min-height:48px!important;max-height:60px!important;overflow:hidden!important;padding:4px 8px!important}
#app.app.on>.sidebar>#sideNav{flex:1 1 760px!important;width:auto!important;max-width:none!important;min-width:0!important;min-height:0!important;max-height:none!important;height:auto!important;overflow:visible!important;display:flex!important;flex-flow:row wrap!important;gap:5px!important}
#app.app.on>.sidebar>#sideNav button{font-size:12px!important;line-height:1.25!important;min-height:36px!important;height:auto!important;padding:9px 11px!important}
#app.app.on>.main{display:block!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;position:relative!important;inset:auto!important;transform:none!important;zoom:1!important}
#app.app.on>.main>.topbar{min-height:58px!important;height:auto!important;padding:10px 22px!important;position:relative!important;top:auto!important}
#app.app.on>.main>.content{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:16px 20px 48px!important;transform:none!important;zoom:1!important}
#app.app.on #page-dashboard.dg360-ready{width:100%!important;max-width:none!important;min-width:0!important;transform:none!important;zoom:1!important}
#app.app.on #dg360-screen{width:100%!important;max-width:none!important;min-width:0!important;font-size:14px!important;transform:none!important;zoom:1!important}
#app.app.on #dg360-screen .dg360-layout{width:100%!important;grid-template-columns:minmax(245px,0.95fr) minmax(470px,1.65fr) minmax(240px,.83fr)!important;gap:14px!important}
#app.app.on #dg360-screen .dg360-strip{grid-template-columns:minmax(0,2.1fr) minmax(260px,.9fr)!important}
#app.app.on #dg360-screen .dg360-buses{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#app.app.on #dg360-screen .dg360-hero{height:210px!important}
#app.app.on #dg360-screen .dg360-bus img{height:105px!important}
#app.app.on #dg360-screen .dg360-seat{height:19px!important}
#app.app.on #dg360-screen .dg360-photo-missing{height:90px;display:flex;align-items:center;justify-content:center;background:#eaf0f6;border-radius:9px;color:#61778a;font-size:11px;text-align:center;padding:8px}
#app.app.on #dg360-screen .dg360-plate{display:inline-block;font-size:10px;background:#edf3f8;border:1px solid #d8e3ec;border-radius:5px;padding:3px 6px}
@media(max-width:1150px){#app.app.on #dg360-screen .dg360-layout{grid-template-columns:minmax(240px,1fr) minmax(0,1.6fr)!important}#app.app.on #dg360-screen .dg360-layout>.dg360-right{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}#app.app.on #dg360-screen .dg360-strip{grid-template-columns:1fr!important}}
@media(max-width:740px){#app.app.on>.sidebar{padding:6px 10px!important}#app.app.on>.sidebar>.brand{flex:1 1 100%!important;max-width:none!important}#app.app.on>.sidebar>#sideNav{flex:1 1 100%!important;flex-wrap:nowrap!important;overflow-x:auto!important}#app.app.on>.main>.content{padding:10px!important}#app.app.on #dg360-screen .dg360-layout{grid-template-columns:minmax(0,1fr)!important}#app.app.on #dg360-screen .dg360-layout>.dg360-right{grid-column:auto!important;display:block!important}#app.app.on #dg360-screen .dg360-strip{grid-template-columns:minmax(0,1fr)!important}#app.app.on #dg360-screen .dg360-buses{grid-template-columns:repeat(3,minmax(0,1fr))!important}#app.app.on #dg360-screen .dg360-hero{height:160px!important}}
\n.dg360-real-count{margin:10px 0;padding:8px;border-radius:9px;background:#edf5fc;text-align:center;color:#163d5c}.dg360-trip-no-poster{display:flex;min-width:65px;max-width:95px;align-items:center;justify-content:center;text-align:center;font-size:9px;background:#e5edf5;color:#435c73;padding:4px}.dg360-hero-no-poster{display:flex;align-items:center;justify-content:center;height:100%;background:linear-gradient(120deg,#0b2238,#1e4e72);color:#cbddeb;font-weight:700}.dg360-bus .dg360-action{font-size:11px!important;padding:9px 5px!important}\n
/* DG 2026-10-18: override delle regole horizontal-nav di Operations360 */
@media(min-width:851px){
 #app.app.on{display:block!important}
 #app>.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:256px!important;height:100dvh!important;min-height:0!important;max-width:256px!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;overflow-y:auto!important;overflow-x:hidden!important;padding:14px 10px!important;z-index:70!important;border-right:1px solid #24425c!important;box-sizing:border-box!important}
 #app>.sidebar>.brand{width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:10px!important}
 #app>.sidebar>#sideNav{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;width:100%!important;max-height:none!important;overflow:visible!important;gap:4px!important;padding:10px 0!important}
 #app>.sidebar>#sideNav button{width:100%!important;min-height:43px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;white-space:normal!important;font-size:12px!important;padding:9px 12px!important}
 #app>.main{margin-left:256px!important;width:calc(100% - 256px)!important;max-width:none!important;min-width:0!important}
 #app .mobile-menu-btn,#app .mobile-nav{display:none!important}
}
@media(max-width:850px){
 #app>.sidebar{display:none!important}
 #app>.main{margin:0!important;width:100%!important;max-width:100%!important}
 #app .mobile-nav{display:none!important}
 #app .mobile-menu-btn{display:grid!important;place-items:center!important;min-width:44px!important;min-height:44px!important;cursor:pointer!important}
 #app .mobile-menu.on{display:block!important;position:fixed!important;inset:0!important;z-index:9999!important}
 #app .mobile-menu-panel{position:absolute!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;width:min(86vw,350px)!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;box-sizing:border-box!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}
 #app .mobile-menu-grid{display:flex!important;flex-direction:column!important;grid-template-columns:1fr!important}
 #app .mobile-menu-grid button{width:100%!important;min-height:44px!important;text-align:left!important}
}

/* Stato operativo flotta - lettura dalle assegnazioni reali */
.dg360-fleet-operational{align-items:flex-start!important;gap:12px!important}
.dg360-fleet-operational .dg360-fleet-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.dg360-fleet-operational .dg360-fleet-info>b{font-size:13px}
.dg360-fleet-operational .dg360-fleet-info small{font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.dg360-fleet-status{display:inline-flex;align-self:flex-start;font-size:10px;font-weight:800;border-radius:99px;padding:4px 8px;background:#edf2f8;color:#415269}
.dg360-fleet-status.is-assigned{background:#e5f5ec;color:#17623c}
.dg360-fleet-trip{display:flex;flex-direction:column;gap:4px;padding:8px 0}
.dg360-fleet-trip>b{font-size:12px;line-height:1.35}
.dg360-fleet-alert{font-size:11px;color:#a43d21}
.dg360-fleet-operational .dg360-action{margin-top:4px;width:100%;min-height:34px}
