/* LUCIO SISTEMAS · VEHICLE HERO V10 */
:root{--lucio-vehicle:url('/static/mercedes_city.jpg')}
html,body,.portal-main,.portal-content{background:#f7f7f8!important;color:#111827!important}
.fleet-dashboard.fleet-lucio{--fleet-accent:#4b5563!important;--fleet-accent-dark:#111827!important}
.fleet-hero-row:before,.fleet-hero-row:after{display:none!important}
.fleet-city-hero{min-height:220px!important;border:1px solid #e5e7eb!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(17,24,39,.05)!important;background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.58) 48%,rgba(255,255,255,.10) 72%,rgba(255,255,255,.02) 100%),var(--lucio-vehicle)!important;background-size:cover!important;background-position:center 70%!important;background-repeat:no-repeat!important}
.fleet-city-hero:before,.fleet-city-hero:after,.fleet-hero-car{display:none!important}
.fleet-hero-copy{display:block!important;left:30px!important;top:34px!important;color:#111827!important;text-shadow:none!important;max-width:340px!important}
.fleet-hero-copy small{color:#6b7280!important}.fleet-hero-copy h2{color:#111827!important;font-size:34px!important;line-height:1!important}.fleet-hero-copy span{color:#374151!important}
.fleet-city-hero blockquote{display:block!important;right:18px!important;top:26px!important;color:#fff!important;border-left:3px solid rgba(255,255,255,.9)!important;text-shadow:0 2px 8px rgba(0,0,0,.45)!important;background:rgba(17,24,39,.20)!important;padding:8px 10px 8px 14px!important;border-radius:10px!important;backdrop-filter:blur(4px)!important}
.fleet-greeting,.fleet-live-card,.fleet-panel,.fleet-kpi,.fleet-actions>a{background:#fff!important;border-color:#e5e7eb!important;box-shadow:0 6px 18px rgba(17,24,39,.035)!important}.fleet-accent-line{background:#9ca3af!important}
.ls-login{background:#f7f7f8!important}.ls-login-hero{background-image:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.50) 53%,rgba(255,255,255,.08) 76%,rgba(255,255,255,0) 100%),var(--lucio-vehicle)!important;background-size:cover!important;background-position:center 72%!important;background-repeat:no-repeat!important}.ls-login-overlay{background:transparent!important}.ls-login-copy{display:block!important}.ls-login-copy h1{color:#111827!important;text-shadow:none!important}.ls-login-copy>p,.ls-benefits span,.premium-kicker{color:#4b5563!important}.ls-brand-lockup strong,.ls-brand-lockup small{color:#111827!important}.ls-login-side{background:#f7f7f8!important}.ls-login-card{background:#fff!important;border:1px solid #e5e7eb!important;box-shadow:0 18px 44px rgba(17,24,39,.08)!important}.ls-login-submit{background:#111827!important;border-color:#111827!important;color:#fff!important}
@media(max-width:900px){.fleet-city-hero{background-position:center 75%!important}.fleet-city-hero blockquote{display:none!important}.ls-login-hero{background-position:center 75%!important}.ls-login-overlay{background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.58))!important}}


/* NEXVIA VEHICLES PREMIUM V2 · estructura semántica específica */
.nexvia-vehicles-page{max-width:1480px;margin:0 auto;padding:4px 0 28px;color:#17263a}
.nexvia-vehicles-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.nexvia-eyebrow{font-size:11px;font-weight:900;letter-spacing:.16em;color:#2a68b8;margin-bottom:5px}
.nexvia-vehicles-header h1{display:flex;align-items:center;gap:10px;margin:0;font-size:30px;line-height:1.1;color:#10213a;letter-spacing:-.025em}
.nexvia-title-icon{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #d8e4f2;border-radius:14px;background:#f4f8fd;font-size:21px}
.nexvia-vehicles-header p{margin:7px 0 0;color:#6c7d92;font-size:13px}
.nexvia-vehicles-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.nexvia-sweep-form{margin:0}
.nexvia-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border-radius:11px;border:1px solid transparent;font-size:12px;font-weight:850;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}
.nexvia-btn:hover{transform:translateY(-1px)}
.nexvia-btn-primary{background:#1f64c8;color:#fff!important;box-shadow:0 6px 15px rgba(31,100,200,.18)}
.nexvia-btn-primary:hover{background:#1858b5}
.nexvia-btn-secondary{background:#fff;color:#1f5eae!important;border-color:#bdd0e9}
.nexvia-btn-secondary:hover,.nexvia-btn-ghost:hover{background:#f3f7fc}
.nexvia-btn-ghost{background:#f8fafc;color:#50657f!important;border-color:#dce5ef}
.nexvia-vehicle-search{margin-bottom:16px;padding:14px;border:1px solid #e1e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(18,45,78,.04)}
.nexvia-vehicle-search label{display:block;margin:0 0 7px;font-size:11px;font-weight:850;color:#52677f}
.nexvia-search-row{display:flex;gap:8px;align-items:center}
.nexvia-search-row input{flex:1;min-width:0;height:42px;border:1px solid #d7e1ec;border-radius:11px;padding:0 13px;background:#fbfcfe;color:#1d2e43;font:inherit;outline:none}
.nexvia-search-row input:focus{border-color:#5a8fd1;box-shadow:0 0 0 3px rgba(31,100,200,.11)}
.nexvia-vehicle-list{display:grid;gap:10px}
.nexvia-vehicle-list-head{display:grid;grid-template-columns:minmax(300px,2.2fr) 90px minmax(110px,1fr) 100px 70px minmax(260px,1.5fr);gap:8px;align-items:center;padding:0 18px 7px;color:#7a889b;font-size:10px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.nexvia-vehicle-row{position:relative;display:grid;grid-template-columns:minmax(300px,2.2fr) 90px minmax(110px,1fr) 100px 70px minmax(260px,1.5fr);gap:8px;align-items:center;padding:13px 18px 13px 14px;border:1px solid #dfe7f0;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(18,45,78,.045);overflow:hidden;transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.nexvia-vehicle-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2b6bc5}
.nexvia-vehicle-row:hover{transform:translateY(-1px);border-color:#c6d6e8;box-shadow:0 13px 28px rgba(18,45,78,.075)}
.nexvia-vehicle-main{display:grid;grid-template-columns:auto 132px minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.nexvia-id-badge{align-self:flex-start;margin-top:5px;padding:4px 7px;border-radius:8px;background:#eef3f8;color:#63778e;font-size:10px;font-weight:850}
.nexvia-vehicle-image{display:block;width:132px;height:78px;object-fit:contain;border:1px solid #e5ebf2;border-radius:13px;background:linear-gradient(145deg,#fbfcfe,#f2f6fa)}
.nexvia-vehicle-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.nexvia-vehicle-name{font-size:14px;line-height:1.25;font-weight:950;color:#13243b;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexvia-vehicle-meta{font-size:11px;line-height:1.35;color:#718297;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexvia-cell{min-width:0;color:#40536b;font-size:12px;font-weight:700}
.nexvia-mobile-label{display:none}
.nexvia-vehicle-plate{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:7px 9px;border:1px solid #d7e2ee;border-radius:9px;background:#f2f6fb;color:#172943;font-size:12px;font-weight:950;letter-spacing:.055em}
.nexvia-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:850}
.nexvia-status i{width:7px;height:7px;border-radius:50%;background:currentColor}
.nexvia-status.is-active{background:#edf9f0;color:#20743a;border:1px solid #ccebd4}
.nexvia-status.is-inactive{background:#fff1f1;color:#a43838;border:1px solid #f1d1d1}
.nexvia-company-badge{display:inline-flex;min-width:34px;justify-content:center;padding:5px 7px;border:1px solid #dce4ee;border-radius:8px;background:#f7f9fc;color:#53677f;font-weight:850}
.nexvia-vehicle-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.nexvia-vehicle-actions form{margin:0}
.nexvia-action{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border:1px solid #cad9eb;border-radius:9px;background:#fff;color:#245fa8!important;font:inherit;font-size:10.5px;font-weight:850;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.nexvia-action:hover{background:#eef5fd;border-color:#a9c4e5;transform:translateY(-1px)}
.nexvia-action-danger{border-color:#efc8c8;background:#fff7f7;color:#a93434!important}
.nexvia-action-danger:hover{background:#ffeded;border-color:#e7aaaa}
.nexvia-fines-panel{grid-column:1/-1;margin-top:0;border-top:1px solid #edf1f5;padding-top:10px}
.nexvia-fines-panel summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;color:#435870;font-size:11px;font-weight:750}
.nexvia-fines-panel summary::-webkit-details-marker{display:none}
.nexvia-fines-panel summary>span:first-child{display:inline-flex;align-items:center;gap:7px}
.nexvia-fines-panel summary>span:first-child:before{content:"▸";color:#2a68b8;transition:transform .15s ease}
.nexvia-fines-panel[open] summary>span:first-child:before{transform:rotate(90deg)}
.nexvia-fines-panel summary b{display:inline-flex;min-width:22px;justify-content:center;padding:2px 6px;border-radius:999px;background:#eef3f8;color:#496179}
.nexvia-fines-panel summary strong{color:#173b70;font-size:12px}
.nexvia-fines-list{display:grid;gap:7px;margin-top:10px}
.nexvia-fine-item{display:grid;grid-template-columns:150px minmax(220px,1fr) 190px;gap:12px;align-items:center;padding:9px 11px;border:1px solid #e6ecf3;border-radius:11px;background:#fafcfe;font-size:10.5px;color:#4b6078}
.nexvia-fine-item>div:first-child,.nexvia-fine-item>div:last-child{display:flex;align-items:center;gap:8px}
.nexvia-fine-item>div:last-child{justify-content:flex-end}
.nexvia-fine-item span{color:#7b899a}
.nexvia-fine-desc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexvia-fine-status{padding:4px 7px;border-radius:999px;font-size:9px!important;font-weight:850}
.nexvia-fine-status.is-pending{background:#fff3e9;color:#a75a14}
.nexvia-fine-status.is-settled{background:#edf8f0;color:#287540}
.nexvia-empty-fines{margin-top:10px;padding:12px;border-radius:11px;background:#f7f9fc;color:#718095;font-size:11px}
.nexvia-vehicles-empty{padding:42px 20px;border:1px dashed #cfdbe8;border-radius:18px;background:#fbfcfe;text-align:center;color:#687c93}
.nexvia-vehicles-empty h2{margin:0 0 6px;color:#22364e}
.nexvia-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:11px 3px;color:#718196;font-size:11px}
.nexvia-pagination>div{display:flex;align-items:center;gap:7px}
.nexvia-pagination a,.nexvia-pagination .current{display:inline-flex;min-height:32px;align-items:center;padding:5px 9px;border:1px solid #d8e2ed;border-radius:9px;background:#fff;color:#315f99;text-decoration:none;font-weight:800}
@media(max-width:1280px){
  .nexvia-vehicle-list-head{display:none}
  .nexvia-vehicle-row{grid-template-columns:minmax(360px,1.7fr) 120px 150px 110px 80px;}
  .nexvia-vehicle-actions{grid-column:1/-1;justify-content:flex-start;padding-left:48px}
}
@media(max-width:900px){
  .nexvia-vehicles-header{align-items:flex-start;flex-direction:column}
  .nexvia-vehicles-toolbar{justify-content:flex-start}
  .nexvia-vehicle-row{grid-template-columns:1fr 1fr;gap:10px 14px;padding:14px 15px 14px 12px}
  .nexvia-vehicle-main{grid-column:1/-1;grid-template-columns:auto 112px minmax(0,1fr)}
  .nexvia-vehicle-image{width:112px;height:68px}
  .nexvia-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #f0f3f7}
  .nexvia-mobile-label{display:inline;color:#8290a2;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
  .nexvia-vehicle-actions{padding-left:0}
  .nexvia-fine-item{grid-template-columns:1fr;gap:5px}
  .nexvia-fine-item>div:last-child{justify-content:space-between}
}
@media(max-width:620px){
  .nexvia-vehicles-page{padding-bottom:18px}
  .nexvia-vehicles-header h1{font-size:25px}
  .nexvia-vehicles-toolbar,.nexvia-search-row{width:100%}
  .nexvia-vehicles-toolbar .nexvia-btn,.nexvia-sweep-form{flex:1}
  .nexvia-sweep-form .nexvia-btn{width:100%}
  .nexvia-search-row{flex-wrap:wrap}
  .nexvia-search-row input{flex-basis:100%}
  .nexvia-vehicle-row{grid-template-columns:1fr}
  .nexvia-vehicle-main{grid-template-columns:auto 96px minmax(0,1fr)}
  .nexvia-vehicle-image{width:96px;height:60px}
  .nexvia-vehicle-name{font-size:13px}
  .nexvia-vehicle-meta{white-space:normal}
  .nexvia-cell{grid-column:1/-1}
  .nexvia-vehicle-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .nexvia-action{width:100%}
  .nexvia-fines-panel summary{align-items:flex-start;flex-direction:column}
  .nexvia-pagination{align-items:flex-start;flex-direction:column}
}


/* NEXVIA VEHICLES PREMIUM V3 · jerarquia ejecutiva placa + marca/modelo */
.nexvia-vehicle-list-head{grid-template-columns:minmax(390px,2.5fr) minmax(120px,1fr) 100px 70px minmax(280px,1.5fr)!important}
.nexvia-vehicle-row{grid-template-columns:minmax(390px,2.5fr) minmax(120px,1fr) 100px 70px minmax(280px,1.5fr)!important}
.nexvia-vehicle-main{grid-template-columns:auto 142px minmax(0,1fr)!important;gap:14px!important}
.nexvia-vehicle-image{width:142px!important;height:84px!important;border-radius:15px!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.nexvia-vehicle-copy{gap:4px!important}
.nexvia-plate-kicker{font-size:9px;font-weight:950;letter-spacing:.16em;color:#7d8b9b;text-transform:uppercase}
.nexvia-plate-hero{display:inline-flex;width:max-content;align-items:center;padding:5px 10px 6px;border-radius:10px;background:#eef5ff;border:1px solid #cfdff3;color:#123861;font-size:17px;line-height:1;font-weight:950;letter-spacing:.085em;box-shadow:0 3px 10px rgba(31,100,200,.08)}
.nexvia-brand-model{display:flex;gap:6px;align-items:baseline;min-width:0;margin-top:2px}
.nexvia-brand-model strong{font-size:13px;font-weight:950;color:#16263b;text-transform:uppercase;white-space:nowrap}
.nexvia-brand-model span{font-size:12px;font-weight:800;color:#425975;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexvia-vehicle-subline{font-size:10px;font-weight:700;color:#8a98a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nexvia-vehicle-name,.nexvia-vehicle-meta,.nexvia-cell-plate{display:none!important}
@media(max-width:1280px){
  .nexvia-vehicle-row{grid-template-columns:minmax(390px,1.8fr) 140px 105px 80px!important}
  .nexvia-vehicle-actions{grid-column:1/-1!important}
}
@media(max-width:900px){
  .nexvia-vehicle-row{grid-template-columns:1fr 1fr!important}
  .nexvia-vehicle-main{grid-column:1/-1!important;grid-template-columns:auto 118px minmax(0,1fr)!important}
  .nexvia-vehicle-image{width:118px!important;height:72px!important}
}
@media(max-width:620px){
  .nexvia-vehicle-row{grid-template-columns:1fr!important}
  .nexvia-vehicle-main{grid-template-columns:auto 102px minmax(0,1fr)!important}
  .nexvia-vehicle-image{width:102px!important;height:64px!important}
  .nexvia-brand-model{display:grid;gap:1px}
  .nexvia-brand-model strong,.nexvia-brand-model span{white-space:normal}
  .nexvia-plate-hero{font-size:15px}
}
