
*{box-sizing:border-box}.noise{position:fixed;inset:0;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.side{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#061a11,#06100c);color:#e7fff0;padding:26px 16px;display:flex;flex-direction:column;z-index:50;border-right:1px solid rgba(255,255,255,.06)}.side-logo{height:76px;padding:10px 12px;display:flex;align-items:center;gap:12px}.side-logo img{width:120px;filter:brightness(0) invert(1)}.side-logo span{font-size:10px;letter-spacing:.16em;color:#83b99b}.side nav{display:grid;gap:6px;margin-top:18px}.nav{border:0;background:transparent;color:#8eaa9a;display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;padding:12px 13px;border-radius:14px;text-align:left;font-weight:760;cursor:pointer;transition:.3s var(--spring)}.nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav:hover,.nav.active{background:linear-gradient(90deg,rgba(18,170,83,.18),rgba(18,170,83,.05));color:#eafff0;transform:translateX(3px)}.nav i{font-style:normal;font-size:10px;background:#133d27;color:#9cf1bc;border-radius:99px;padding:4px 7px}.side-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:18px 10px 4px;color:#73907f;font-size:10px}.api-state{display:flex;align-items:center;gap:10px;margin-bottom:16px}.api-state b{display:block;color:#dff7e7;font-size:11px}.api-state small{display:block;margin-top:2px}.main{min-width:0;padding:24px 30px 70px}.top{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;margin-bottom:25px}.top-title h1{margin:5px 0 0;font-size:clamp(24px,3vw,36px);letter-spacing:-.045em}.top-title p{margin:5px 0 0;color:var(--muted);font-size:12px;min-height:18px}.top-actions{display:flex;align-items:center;gap:10px}.clock{text-align:right;padding-right:8px}.clock b{display:block;font-size:16px}.clock small{color:var(--muted)}.icon-btn{width:42px;height:42px;border:1px solid var(--line);background:var(--panel);border-radius:14px;display:grid;place-items:center;cursor:pointer}.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.avatar{width:42px;height:42px;border-radius:14px;border:0;background:linear-gradient(135deg,#07964a,#4dd908);color:#fff;font-weight:900}.mobile-menu{display:none}.page{display:none;animation:pageIn .55s var(--ease)}.page.active{display:block}@keyframes pageIn{from{opacity:0;filter:blur(9px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}.hero-grid{display:grid;grid-template-columns:1.7fr .72fr;gap:16px}.command-card,.ops-radar,.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(20px)}.command-card{padding:23px;position:relative;overflow:hidden}.command-card:before{content:"";position:absolute;right:-120px;top:-180px;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--green),transparent 83%),transparent 70%)}.command-top,.panel-head,.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.command-top h2,.panel-head h3,.page-head h2{margin:4px 0 0;letter-spacing:-.035em}.live-pill{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:850;color:var(--green);background:color-mix(in srgb,var(--green),transparent 91%);border-radius:99px;padding:9px 12px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:25px}.kpi{padding:16px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--panel),white 4%)}.kpi span,.kpi small{font-size:10px;color:var(--muted)}.kpi strong{display:block;font-size:31px;letter-spacing:-.05em;margin:7px 0 3px}.kpi.danger strong{color:var(--danger)}.kpi.amber strong{color:var(--amber)}.ops-radar{padding:20px;overflow:hidden}.radar-head{display:flex;justify-content:space-between;align-items:flex-start}.radar-head h3{margin:4px 0}.secure{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--muted)}.secure svg{width:15px;height:15px;fill:none;stroke:var(--green);stroke-width:1.7}.radar{width:min(240px,90%);aspect-ratio:1;margin:12px auto;position:relative;border-radius:50%;background:radial-gradient(circle at center,color-mix(in srgb,var(--green),transparent 93%) 0 2%,transparent 2% 100%);overflow:hidden}.ring{position:absolute;border:1px solid var(--line);border-radius:50%;inset:10%}.ring.r2{inset:27%}.ring.r3{inset:43%}.radar:before,.radar:after{content:"";position:absolute;background:var(--line)}.radar:before{width:1px;height:100%;left:50%}.radar:after{height:1px;width:100%;top:50%}.sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 80%,color-mix(in srgb,var(--green),transparent 75%) 94%,transparent 100%);animation:sweep 5s linear infinite}@keyframes sweep{to{transform:rotate(360deg)}}.radar-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:44px;background:var(--panel);border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;z-index:2}.radar-center img{width:58px}.radar-dot{position:absolute;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,currentColor,transparent 88%),0 0 15px currentColor;z-index:3}.radar-dot.ok{color:var(--green);background:var(--green)}.radar-dot.warn{color:var(--amber);background:var(--amber)}.radar-dot.bad{color:var(--danger);background:var(--danger)}.radar-legend{display:flex;justify-content:center;gap:14px;font-size:9px;color:var(--muted)}.radar-legend span{display:flex;align-items:center;gap:5px}.radar-legend i{width:6px;height:6px;border-radius:50%}.radar-legend .ok{background:var(--green)}.radar-legend .warn{background:var(--amber)}.radar-legend .bad{background:var(--danger)}.overview-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:16px;margin-top:16px}.overview-grid.bottom{grid-template-columns:1.2fr .95fr}.panel{padding:20px}.text-btn{border:0;background:transparent;color:var(--green);font-weight:850;cursor:pointer}.live-feed{display:grid;gap:8px;margin-top:13px}.feed-row{display:grid;grid-template-columns:8px 1fr auto;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:15px;transition:.3s var(--ease);cursor:pointer}.feed-row:hover{background:color-mix(in srgb,var(--green),transparent 95%);transform:translateX(3px)}.feed-line{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--green)}.feed-line.bad{background:var(--danger)}.feed-line.warn{background:var(--amber)}.feed-row b{font-size:12px}.feed-row p{margin:4px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.feed-row time{font-size:9px;color:var(--muted)}.service-bars{display:grid;gap:15px;margin-top:18px}.service-row{display:grid;grid-template-columns:1fr auto;gap:8px}.service-row>span{font-size:11px}.service-row>b{font-size:11px}.service-track{grid-column:1/-1;height:9px;border-radius:99px;background:color-mix(in srgb,var(--ink),transparent 93%);overflow:hidden}.service-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#07964a,#4dd908);transform-origin:left;animation:growBar 1.1s var(--ease) both}@keyframes growBar{from{transform:scaleX(0)}}.fleet-strip{display:flex;gap:9px;overflow:auto;padding:5px 1px 8px}.unit-chip{flex:0 0 auto;border:1px solid var(--line);border-radius:13px;padding:10px 12px;min-width:115px}.unit-chip b{font-size:11px}.unit-chip small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.unit-chip.bad{border-color:color-mix(in srgb,var(--danger),transparent 55%);background:color-mix(in srgb,var(--danger),transparent 95%)}.quality-count{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--amber),transparent 88%);color:var(--amber);font-weight:900}.quality-list{display:grid;gap:8px;margin-top:13px}.quality-item{padding:12px;border-left:3px solid var(--amber);background:color-mix(in srgb,var(--amber),transparent 95%);border-radius:10px}.quality-item b{font-size:11px}.quality-item p{font-size:9px;color:var(--muted);line-height:1.45;margin:4px 0 0}.page-head{margin:6px 0 18px}.toolbar{display:flex;align-items:center;gap:9px}.search{height:42px;min-width:300px;border:1px solid var(--line);background:var(--panel);border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 12px}.search svg{width:17px;height:17px;fill:none;stroke:var(--muted);stroke-width:1.7}.search input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.toolbar select{height:42px;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:0 12px;font-size:11px}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:10px}th{font-size:8px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);background:color-mix(in srgb,var(--panel),var(--bg) 18%);position:sticky;top:0}td.desc{white-space:normal;min-width:260px;max-width:380px;line-height:1.45}.status{display:inline-flex;align-items:center;gap:5px;font-size:8px;font-weight:900;letter-spacing:.04em;padding:6px 8px;border-radius:99px}.status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.status.ok{color:var(--green);background:color-mix(in srgb,var(--green),transparent 91%)}.status.warn{color:var(--amber);background:color-mix(in srgb,var(--amber),transparent 90%)}.status.bad{color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 91%)}.view{border:0;background:color-mix(in srgb,var(--green),transparent 92%);color:var(--green);border-radius:9px;padding:7px 10px;font-size:9px;font-weight:850;cursor:pointer}.fleet-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fleet-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:16px;position:relative}.fleet-card .bus-icon{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--green),transparent 91%);display:grid;place-items:center}.fleet-card .bus-icon svg{width:22px;height:22px;fill:none;stroke:var(--green);stroke-width:1.7}.fleet-card h3{margin:16px 0 5px;font-size:15px}.fleet-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.fleet-card .status{position:absolute;right:12px;top:12px}.personnel-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:15px}.personnel-grid h3{margin:5px 0 18px}.personnel-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.personnel-kpis>div{padding:15px;border:1px solid var(--line);border-radius:14px}.personnel-kpis strong{display:block;font-size:30px}.personnel-kpis span{font-size:10px;color:var(--muted)}.data-quality p{font-size:11px;line-height:1.6;color:var(--muted)}.primary,.outline{height:42px;border-radius:12px;padding:0 14px;border:0;font-weight:850;display:inline-flex;gap:8px;align-items:center;cursor:pointer}.primary{background:linear-gradient(135deg,#078345,#12b657);color:white}.outline{border:1px solid var(--line);background:var(--panel)}.primary svg,.outline svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.report-preview h3{margin:0 0 6px}.report-preview p{color:var(--muted);font-size:11px}.report-section{margin-top:18px}.report-section table{white-space:normal}.mini-note{font-size:9px;color:var(--muted)}.detail-drawer{position:fixed;right:0;top:0;bottom:0;width:min(620px,96vw);background:var(--bg);z-index:110;border-left:1px solid var(--line);box-shadow:-30px 0 80px rgba(0,0,0,.18);padding:24px;overflow:auto;transform:translateX(104%);transition:transform .58s var(--spring)}.detail-drawer.open{transform:none}.detail-drawer header{display:flex;justify-content:space-between;align-items:center}.detail-drawer h2{margin:5px 0}.detail-backdrop,.side-backdrop{position:fixed;inset:0;background:rgba(2,10,7,.44);backdrop-filter:blur(8px);z-index:100;opacity:0;pointer-events:none;transition:.35s}.detail-backdrop.open,.side-backdrop.open{opacity:1;pointer-events:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.detail-box{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.detail-box span{display:block;color:var(--muted);font-size:9px}.detail-box b{display:block;margin-top:5px;font-size:11px}.detail-description{margin-top:12px;padding:16px;border-radius:14px;background:var(--panel);border:1px solid var(--line);line-height:1.6;font-size:11px}.timeline{margin:20px 0;padding-left:18px;border-left:1px solid var(--line)}.timeline div{position:relative;padding:0 0 16px 15px;font-size:10px;color:var(--muted)}.timeline div:before{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--green);left:-22px;top:3px}.detail-drawer footer{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:16px}.toast{position:fixed;left:50%;bottom:24px;z-index:180;transform:translate(-50%,30px);opacity:0;background:#061a11;color:white;padding:12px 17px;border-radius:12px;font-size:10px;box-shadow:var(--shadow);transition:.35s var(--spring)}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1200px){.hero-grid{grid-template-columns:1fr}.ops-radar{display:grid;grid-template-columns:1fr 240px auto;align-items:center}.radar{margin:0}.overview-grid,.overview-grid.bottom{grid-template-columns:1fr}.fleet-cards{grid-template-columns:repeat(3,1fr)}.personnel-grid{grid-template-columns:1fr 1fr}.data-quality{grid-column:1/-1}}
@media(max-width:920px){.app-shell{grid-template-columns:82px 1fr}.side{padding:22px 10px}.side-logo img{width:50px}.side-logo span,.nav span,.side-footer>span,.api-state div{display:none}.nav{grid-template-columns:1fr;place-items:center}.nav i{position:absolute;margin-left:32px}.main{padding:20px}.kpis{grid-template-columns:1fr 1fr}.fleet-cards{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.app-shell{display:block}.side{position:fixed;left:0;top:0;width:260px;transform:translateX(-105%);transition:.55s var(--spring)}.side.open{transform:none}.side-logo img{width:120px}.side-logo span,.nav span,.side-footer>span,.api-state div{display:block}.nav{grid-template-columns:24px 1fr auto;place-items:initial}.mobile-menu{display:grid}.main{padding:14px 14px 60px}.top{grid-template-columns:auto 1fr}.top-actions .clock{display:none}.top-actions{grid-column:2;grid-row:1;justify-self:end}.top-title{grid-column:1/-1;grid-row:2}.hero-grid,.ops-radar{display:block}.ops-radar{margin-top:14px}.radar{margin:10px auto}.kpis{grid-template-columns:1fr 1fr}.command-top,.page-head{align-items:flex-start;flex-direction:column}.toolbar{width:100%;flex-wrap:wrap}.search{min-width:100%;width:100%}.fleet-cards,.personnel-grid{grid-template-columns:1fr}.data-quality{grid-column:auto}.detail-grid{grid-template-columns:1fr}}

.kpi-top{display:flex;align-items:center;gap:10px}.kpi-icon,.icon-badge,.title-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--green),transparent 90%);color:var(--green)}.kpi.danger .kpi-icon{background:color-mix(in srgb,var(--danger),transparent 90%);color:var(--danger)}.kpi.amber .kpi-icon{background:color-mix(in srgb,var(--amber),transparent 89%);color:var(--amber)}.kpi-icon svg,.icon-badge svg,.title-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.icon-head>div:first-child{display:flex;align-items:flex-start;gap:12px}.with-icon{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.with-icon .toolbar,.with-icon>button{justify-self:end}.title-icon{width:42px;height:42px;border-radius:14px}
.alert-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.alert-card{padding:15px 16px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel),white 4%);display:flex;align-items:center;gap:12px}.alert-card i{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--green),transparent 90%);color:var(--green);font-style:normal}.alert-card svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.alert-card b{display:block;font-size:12px}.alert-card small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.detail-box.with-icon{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start}.detail-box.with-icon i{width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--green),transparent 90%);display:grid;place-items:center;color:var(--green);font-style:normal}.detail-box.with-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
@media(max-width:1180px){.alert-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.with-icon{grid-template-columns:auto 1fr}.with-icon .toolbar,.with-icon>button{grid-column:1/-1;justify-self:stretch}.alert-strip{grid-template-columns:1fr}}

.cmcc-login{position:fixed;inset:0;z-index:400;background:radial-gradient(circle at 20% 10%,rgba(10,150,75,.16),transparent 34%),linear-gradient(145deg,#eef5f1,#fbfdfc);display:grid;place-items:center;padding:22px;transition:.55s var(--ease);overflow:hidden}.cmcc-login.logged{opacity:0;visibility:hidden;pointer-events:none;filter:blur(12px);transform:scale(1.02)}.login-ambient{position:absolute;inset:0;pointer-events:none}.login-ambient i{position:absolute;width:460px;height:460px;border:1px solid rgba(8,150,72,.12);border-radius:50%;right:-160px;top:-160px}.login-ambient i+ i{width:620px;height:620px;right:-260px;top:-260px}.cmcc-login-card{width:min(510px,100%);background:rgba(255,255,255,.86);backdrop-filter:blur(24px);border:1px solid rgba(20,70,45,.10);border-radius:30px;padding:36px;box-shadow:0 35px 100px rgba(10,55,35,.16);position:relative;overflow:hidden}.cmcc-login-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,150,72,.06),transparent 46%);pointer-events:none}.login-logo{width:170px;margin:0 0 30px}.login-logo img{width:150px;position:relative;z-index:3}.login-logo .orbit{width:90px;height:90px;left:42px;top:-25px}.login-logo .orbit.two{width:126px;height:126px;left:25px;top:-44px}.cmcc-login-card h1{font-size:34px;line-height:1.04;letter-spacing:-.045em;margin:9px 0 6px}.cmcc-login-card>p{color:#6b7a72;line-height:1.65;font-size:12px;margin:12px 0 22px}.cmcc-login-card form label{font-size:11px;font-weight:850}.login-code{height:56px;border:1px solid #d9e4de;border-radius:16px;display:flex;align-items:center;gap:11px;padding:0 15px;background:#fff;margin-top:8px}.login-code:focus-within{border-color:#0a9d51;box-shadow:0 0 0 4px rgba(10,157,81,.10)}.login-code svg{width:19px;height:19px;fill:none;stroke:#07964a;stroke-width:1.8}.login-code input{flex:1;border:0;outline:0;background:transparent;font-size:17px;letter-spacing:.10em}.login-submit{width:100%;justify-content:center;margin-top:14px}.cmcc-demo{font-size:10px;color:#6d7d74;margin-top:16px;padding:12px 14px;border-radius:13px;background:rgba(7,150,74,.06)}
.user-area{position:relative}.user-chip{border:1px solid var(--line);background:var(--panel);height:48px;border-radius:15px;padding:5px 10px 5px 6px;display:flex;align-items:center;gap:9px;color:var(--ink);cursor:pointer;box-shadow:0 7px 22px rgba(15,50,35,.06)}.user-avatar{width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#087d43,#15b85b);color:white;display:grid;place-items:center;font-size:10px;font-weight:900}.user-chip>span:nth-child(2){display:grid;text-align:left;min-width:125px}.user-chip b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}.user-chip small{font-size:8px;color:var(--muted);margin-top:2px}.user-chip>svg{width:13px;height:13px;fill:none;stroke:var(--muted);stroke-width:2}.user-menu{position:absolute;right:0;top:57px;width:260px;background:var(--panel);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:12px;z-index:60;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);transition:.25s var(--ease)}.user-menu.open{opacity:1;visibility:visible;transform:none}.user-menu-head{display:flex;gap:10px;align-items:center;padding:7px}.user-menu-head>div{display:grid}.user-menu-head b{font-size:11px}.user-menu-head small{font-size:9px;color:var(--muted);margin-top:3px}.user-menu button{margin-top:10px;width:100%;border:0;border-top:1px solid var(--line);padding:12px 8px 4px;background:transparent;color:var(--danger);font-weight:850;display:flex;gap:8px;align-items:center;cursor:pointer}.user-menu button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}
.page-sub{margin:5px 0 0;color:var(--muted);font-size:10px}.fleet-card{cursor:pointer;transition:transform .35s var(--spring),border-color .25s,box-shadow .25s}.fleet-card:hover{transform:translateY(-5px) scale(1.012);border-color:color-mix(in srgb,var(--green),transparent 48%);box-shadow:0 20px 45px rgba(9,80,48,.10)}.fleet-card:focus-visible{outline:3px solid color-mix(in srgb,var(--green),transparent 68%);outline-offset:3px}.fleet-operator{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.fleet-operator svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:1.8}.fleet-operator b{color:var(--ink);font-size:9px}
.unit-profile{margin-top:16px;padding:17px;border-radius:18px;background:linear-gradient(135deg,#062d1e,#0d5d36);color:white;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.unit-profile-icon{width:50px;height:50px;border-radius:15px;background:rgba(255,255,255,.11);display:grid;place-items:center}.unit-profile-icon svg{width:28px;height:28px;fill:none;stroke:#aaffc6;stroke-width:1.6}.unit-profile small{display:block;color:#afd0bf;font-size:9px}.unit-profile b{font-size:20px}.unit-profile p{margin:4px 0 0;color:#c4dccf;font-size:10px}.identity-card{margin-top:12px;border:1px solid var(--line);border-radius:17px;background:var(--panel);padding:15px;display:flex;gap:12px;align-items:center}.identity-card .person-icon{width:44px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--green),transparent 90%);display:grid;place-items:center;color:var(--green)}.identity-card svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}.identity-card small{display:block;color:var(--muted);font-size:9px}.identity-card b{display:block;font-size:12px;margin:3px 0}.identity-card em{font-style:normal;font-size:9px;color:var(--green);font-weight:800}.unit-section{margin-top:18px}.unit-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.unit-section-head h3{font-size:12px;margin:0}.unit-section-head span{font-size:9px;color:var(--muted)}.unit-event{border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:12px;margin-top:8px}.unit-event-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.unit-event b{font-size:10px}.unit-event p{font-size:9px;color:var(--muted);line-height:1.5;margin:6px 0}.unit-event small{font-size:8px;color:var(--muted)}.unit-empty{padding:14px;border:1px dashed var(--line);border-radius:13px;color:var(--muted);font-size:10px}.elapsed{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,var(--amber),transparent 90%);color:var(--amber);font-size:8px;font-weight:850}
@media(max-width:760px){.cmcc-login-card{padding:27px 22px}.cmcc-login-card h1{font-size:28px}.user-chip>span:nth-child(2){display:none}.user-chip{padding-right:6px}.unit-profile{grid-template-columns:auto 1fr}.unit-profile>.status{grid-column:1/-1;justify-self:start}}

.unit-link{border:0;background:transparent;color:var(--green);font-weight:900;font-size:10px;cursor:pointer;padding:0}.unit-link:hover{text-decoration:underline}.subcode{display:block;color:var(--muted);font-size:8px;margin-top:3px}

.cmcc-secure-form{display:grid;gap:12px}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{width:38px;height:38px;border:0;background:transparent;color:#6b7a72;display:grid;place-items:center;cursor:pointer;border-radius:10px}.password-toggle:hover{background:rgba(7,150,74,.07);color:#07964a}.password-toggle svg{width:18px;height:18px!important;fill:none;stroke:currentColor!important;stroke-width:1.8}.cmcc-security{display:flex;gap:9px;align-items:flex-start;padding:11px 12px;border:1px solid rgba(7,150,74,.16);background:rgba(7,150,74,.05);border-radius:13px;color:#66776e;font-size:10px;line-height:1.5}.cmcc-security svg{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:#07964a;stroke-width:1.8}

/* OMSA 2026 / roles CMCC */
.side{background:linear-gradient(180deg,#052D63 0%,#073B7E 58%,#062B5B 100%)}.side:after{content:"";position:absolute;left:-40%;right:-35%;bottom:8%;height:100px;border-top:6px solid #FFC928;border-radius:50%;transform:rotate(-8deg);opacity:.8;pointer-events:none}.side-logo img{filter:none}.side .nav{color:rgba(255,255,255,.70)}.side .nav.active,.side .nav:hover{background:rgba(33,182,232,.16);color:#fff}.side .nav.active:before{background:#FFC928}.side-footer{border-top-color:rgba(255,255,255,.13)}
.main{background:radial-gradient(circle at 100% 0,rgba(33,182,232,.09),transparent 26%),radial-gradient(circle at 4% 100%,rgba(255,201,40,.07),transparent 20%),var(--bg)}.eyebrow{color:#0B4EA2}.command-card{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(242,248,255,.88))}.command-card:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-88px;height:150px;border-radius:50%;border-top:7px solid #FFC928;transform:rotate(-2deg);opacity:.8;pointer-events:none}.kpi-icon,.icon-badge,.title-icon{background:rgba(33,182,232,.12);color:#0B4EA2}.primary{background:linear-gradient(135deg,#0B4EA2,#087FC2 65%,#21B6E8)}.outline{border-color:rgba(11,78,162,.16)}.text-btn,.view{color:#0B4EA2}.view{background:rgba(33,182,232,.10)}.fleet-card .bus-icon{background:rgba(33,182,232,.12)}.fleet-card .bus-icon svg{stroke:#0B4EA2}.live-pill{background:rgba(33,182,232,.12);color:#0B4EA2}.service-track i{background:linear-gradient(90deg,#0B4EA2,#21B6E8 72%,#FFC928)}
.role-pill{display:inline-flex;margin-top:4px;width:max-content;padding:3px 7px;border-radius:999px;background:rgba(33,182,232,.12);color:#0B4EA2;font-style:normal;font-size:8px;font-weight:900;letter-spacing:.08em}.page-sub{margin:5px 0 0;color:var(--muted);font-size:10px}.nav.role-hidden{display:none!important}
.supervision-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.supervision-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);display:flex;align-items:center;gap:13px}.supervision-card i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(33,182,232,.12);color:#0B4EA2;font-style:normal}.supervision-card i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.supervision-card strong{display:block;font-size:26px}.supervision-card span{font-size:9px;color:var(--muted)}.supervision-queue{display:grid;gap:9px}.queue-row{padding:13px;border:1px solid var(--line);border-radius:14px;display:flex;justify-content:space-between;gap:14px;align-items:center}.queue-row b{font-size:11px}.queue-row small{display:block;color:var(--muted);font-size:9px;margin-top:4px}.admin-grid{display:grid;grid-template-columns:1.35fr .75fr;gap:16px}.audit-list{display:grid;gap:9px}.audit-item{padding:12px 13px;border-left:3px solid #21B6E8;background:rgba(33,182,232,.06);border-radius:10px}.audit-item b{font-size:10px}.audit-item small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.5}
.cmcc-login{background:linear-gradient(140deg,#052D63,#0B4EA2 60%,#087FC2)}.cmcc-login-card{border-color:rgba(255,255,255,.18)}.cmcc-login-card:after{content:"";position:absolute;left:-30%;right:-30%;bottom:-125px;height:180px;border-top:9px solid #FFC928;border-radius:50%;transform:rotate(-6deg);opacity:.95;pointer-events:none}.cmcc-login-card .eyebrow{color:#0B4EA2}
@media(max-width:1050px){.supervision-kpis{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}}@media(max-width:680px){.supervision-kpis{grid-template-columns:1fr}}

/* v7: logo oficial proporcionado por OMSA/usuario. No se redibuja ni se recolorea. */
.side-logo{overflow:visible;position:relative;z-index:4}
.side-logo img{width:154px!important;height:auto!important;filter:none!important;background:#fff;padding:7px 10px;border-radius:12px;object-fit:contain;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.login-logo{width:230px!important;margin-bottom:26px!important}
.login-logo img{width:220px!important;height:auto!important;object-fit:contain!important;filter:none!important}
.radar-center{width:94px!important;height:54px!important;padding:8px;background:#fff!important}
.radar-center img{width:78px!important;height:auto!important;object-fit:contain!important}
.logo-shell .orbit{display:none!important}
.logo-shell:after{display:none!important}

/* v7: las líneas amarillas decorativas grandes se eliminan para no cubrir contenido. */
.side:after,.command-card:after,.cmcc-login-card:after{display:none!important;content:none!important}
.command-card,.cmcc-login-card,.side{isolation:isolate}
.command-card>*{position:relative;z-index:2}
.cmcc-login-card>*{position:relative;z-index:2}
.side>*{position:relative;z-index:2}

/* Acentos amarillos discretos, siempre fuera del contenido. */
.command-card{border-top:3px solid rgba(255,201,40,.88)}
.cmcc-login-card{border-top:4px solid #FFC928}
.side{border-right:1px solid rgba(255,255,255,.10)}
.side:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#FFC928,#21B6E8);z-index:1;pointer-events:none}

/* Login demo accounts: clear and testable */
.demo-roles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.demo-role{border:1px solid rgba(11,78,162,.14);background:#fff;border-radius:12px;padding:10px 8px;text-align:left;cursor:pointer;color:#0B1F36;transition:.25s var(--spring)}
.demo-role:hover{transform:translateY(-2px);border-color:#21B6E8;box-shadow:0 10px 28px rgba(11,78,162,.10)}
.demo-role b{display:block;font-size:10px;color:#0B4EA2}.demo-role small{display:block;margin-top:3px;font-size:8px;color:#617087;line-height:1.35}
.cmcc-demo{position:relative;z-index:3}
@media(max-width:650px){.demo-roles{grid-template-columns:1fr}.side-logo img{width:140px!important}}


/* v8: layout responsive real, sin sidebar "cortado" ni scroll infinito visual */
html,body{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}.app-shell{display:block!important;min-height:100dvh!important}.side{position:fixed!important;inset:0 auto 0 0!important;width:250px;height:100dvh!important;min-height:100dvh;overflow-y:auto;overscroll-behavior:contain}.main{margin-left:250px;min-height:100dvh;width:auto;max-width:none;padding:22px clamp(18px,2.2vw,32px) 34px;overflow-x:hidden}.main>*{min-width:0}.page,.panel,.command-card,.ops-radar{min-width:0}.top{grid-template-columns:minmax(0,1fr) auto}.top-title{min-width:0}.top-title h1{font-size:clamp(25px,3vw,42px);overflow-wrap:anywhere}.top-actions{min-width:0}.user-chip{max-width:245px}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.table-wrap table{min-width:760px}.report-preview{overflow:hidden}.report-logo{width:190px!important;max-width:32vw;height:auto;object-fit:contain}.cmcc-login{overflow-y:auto!important;display:block!important;padding:clamp(14px,3vh,34px) 16px!important}.cmcc-login-card{margin:0 auto;max-width:560px;width:100%}.cmcc-login-card .login-logo{max-width:55%}
/* Administración */
.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.admin-summary article{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow)}.admin-summary i{width:40px;height:40px;border-radius:13px;background:rgba(33,182,232,.12);color:#0B4EA2;display:grid;place-items:center;font-style:normal;flex:0 0 auto}.admin-summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}.admin-summary strong{font-size:23px;display:block}.admin-summary span{font-size:9px;color:var(--muted)}.admin-employees-panel{margin-top:16px}.admin-panel-head{align-items:center}.admin-panel-head>.icon-head{display:flex;gap:12px;align-items:flex-start}.admin-search{min-width:min(340px,100%)}.admin-table{max-height:440px;overflow:auto}.admin-table th{z-index:2}.admin-delete{border:1px solid rgba(214,60,53,.18);background:rgba(214,60,53,.07);color:var(--danger);border-radius:9px;padding:7px 9px;font-size:9px;font-weight:850;cursor:pointer}.admin-delete:hover{background:rgba(214,60,53,.12)}.employee-dialog{width:min(760px,calc(100vw - 28px));max-height:calc(100dvh - 28px);overflow:auto;border:0;border-radius:24px;padding:0;background:var(--bg);color:var(--ink);box-shadow:0 35px 100px rgba(5,30,65,.28)}.employee-dialog::backdrop{background:rgba(5,26,55,.48);backdrop-filter:blur(8px)}.employee-dialog form{padding:24px}.employee-dialog header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:16px}.employee-dialog h2{margin:4px 0}.employee-dialog header p{margin:5px 0 0;color:var(--muted);font-size:10px}.employee-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:18px}.employee-dialog label{display:grid;gap:7px;font-size:10px;font-weight:850}.employee-dialog input,.employee-dialog select{height:44px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:12px;padding:0 12px;outline:0}.employee-dialog input:focus,.employee-dialog select:focus{border-color:#21B6E8;box-shadow:0 0 0 4px rgba(33,182,232,.10)}.cmcc-access-check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:10px!important;margin-top:16px;padding:13px;border:1px solid var(--line);border-radius:13px;background:rgba(33,182,232,.05)}.cmcc-access-check input{width:18px;height:18px;margin:1px 0 0}.cmcc-access-check b{display:block}.cmcc-access-check small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.employee-dialog footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px}.hidden{display:none!important}
@media(max-width:1320px){.hero-grid{grid-template-columns:1fr}.ops-radar{display:grid;grid-template-columns:1fr 220px auto;align-items:center;margin-top:0}.overview-grid,.overview-grid.bottom{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-grid{grid-template-columns:1fr}.admin-summary{grid-template-columns:repeat(2,1fr)}.fleet-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.side{width:78px;padding:20px 9px}.main{margin-left:78px;padding:18px}.side-logo{padding:8px 4px;justify-content:center}.side-logo img{width:58px!important;padding:5px!important}.side-logo span,.nav span,.side-footer>span,.api-state div{display:none!important}.side nav{margin-top:12px}.nav{grid-template-columns:1fr;place-items:center;padding:12px 8px;position:relative}.nav i{position:absolute;right:2px;top:3px;padding:2px 5px}.top{grid-template-columns:1fr}.top-actions{justify-content:flex-start;flex-wrap:wrap}.clock{text-align:left}.user-chip{max-width:min(100%,270px)}.personnel-grid{grid-template-columns:1fr 1fr}.data-quality{grid-column:1/-1}}
@media(max-width:820px){.side{width:min(280px,86vw);padding:22px 14px;transform:translateX(-105%);transition:.5s var(--spring);z-index:160}.side.open{transform:none}.main{margin-left:0;padding:14px 14px 30px}.side-logo{justify-content:flex-start}.side-logo img{width:150px!important;padding:6px 9px!important}.side-logo span,.nav span,.side-footer>span,.api-state div{display:block!important}.nav{grid-template-columns:24px 1fr auto;place-items:initial;padding:12px 13px}.nav i{position:static}.mobile-menu{display:grid!important}.top{grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.top-title{grid-column:1/-1;grid-row:2}.top-actions{grid-column:2;grid-row:1;justify-content:flex-end}.top-actions .clock{display:none}.user-chip{max-width:200px}.user-chip>span:nth-child(2){display:none}.hero-grid,.ops-radar{display:block}.ops-radar{margin-top:14px}.radar{margin:12px auto}.kpis,.alert-strip,.supervision-kpis,.admin-summary,.fleet-cards,.personnel-grid{grid-template-columns:1fr 1fr}.admin-panel-head,.page-head{align-items:flex-start;flex-direction:column}.toolbar{width:100%;flex-wrap:wrap}.search,.admin-search{min-width:100%;width:100%}.employee-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.main{padding:12px 10px 26px}.top-title h1{font-size:28px}.kpis,.alert-strip,.supervision-kpis,.admin-summary,.fleet-cards,.personnel-grid{grid-template-columns:1fr}.command-card,.ops-radar,.panel{border-radius:18px}.panel,.command-card{padding:15px}.report-logo{max-width:150px!important}.panel-head{align-items:flex-start;flex-direction:column}.detail-drawer{width:100vw;padding:16px}.detail-grid{grid-template-columns:1fr}.employee-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 14px);border-radius:18px}.employee-dialog form{padding:16px}.employee-dialog footer{flex-direction:column-reverse}.employee-dialog footer button{width:100%;justify-content:center}.table-wrap table{min-width:680px}.cmcc-login-card{padding:24px 18px}.cmcc-login-card h1{font-size:30px}.cmcc-login-card .login-logo{max-width:70%}}
