/* Docualdía — tema oscuro plano: superficies sólidas, bordes finos, un acento, color solo en estados */
:root{
  color-scheme:dark;
  --bg:#0b1016;--surface:#121922;--surface-2:#18212c;--surface-3:#1f2a37;
  --line:#243041;--line-2:#31405a;
  --ink:#eef2f7;--ink-2:#bcc6d4;--muted:#93a1b3;
  --brand:#2dd4bf;--brand-d:#5eead4;--on-brand:#04201d;--brand-soft:rgba(45,212,191,.12);
  --ok:#4ade80;--ok-bg:rgba(34,197,94,.14);--warn:#fbbf24;--warn-bg:rgba(245,158,11,.14);--bad:#f87171;--bad-bg:rgba(239,68,68,.15);--now:#fb923c;--neutral:#a8b5c6;--neutral-bg:rgba(148,163,184,.14);
  --r:14px;--r-sm:10px;
  --side:248px;--tab:64px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(1.5rem,4vw,1.95rem);line-height:1.2;letter-spacing:-.02em;font-weight:800}
h2{font-size:1.1rem;line-height:1.3;font-weight:700;letter-spacing:-.01em}
h3{font-size:1rem;font-weight:700;line-height:1.3}
a{color:var(--brand-d)}
small{font-size:.8rem}
:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;border-radius:6px}
.icon{width:20px;height:20px;flex:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--brand);color:var(--on-brand);padding:.6rem 1rem;border-radius:8px;z-index:100}
.skip:focus{top:12px}
img{max-width:100%;display:block}

/* ---------- Layout de la app ---------- */
.sidebar{display:none}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 16px;background:var(--bg);border-bottom:1px solid var(--line)}
.content{width:100%;max-width:980px;margin:0 auto;padding:20px 16px calc(var(--tab) + 32px)}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-weight:800;font-size:1.15rem;letter-spacing:-.03em}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--brand);color:var(--on-brand)}
.brand b{color:var(--brand)}
.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-3);color:var(--brand-d);font-weight:800;text-decoration:none;flex:none;border:1px solid var(--line-2)}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);height:var(--tab);padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:.72rem;font-weight:700}
.tabbar a[aria-current=page]{color:var(--brand)}
.tabbar a[aria-current=page] .icon{stroke-width:2.2}

@media(min-width:900px){
  .topbar,.tabbar{display:none}
  .sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);display:flex;flex-direction:column;gap:24px;padding:22px 16px;background:var(--surface);border-right:1px solid var(--line)}
  .sidebar .brand{padding:0 8px}
  .side-nav{display:flex;flex-direction:column;gap:4px}
  .side-nav a{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;border-radius:10px;color:var(--ink-2);text-decoration:none;font-weight:600}
  .side-nav a:hover{background:var(--surface-2)}
  .side-nav a[aria-current=page]{background:var(--brand-soft);color:var(--brand-d)}
  .side-user{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--line)}
  .side-user-id{display:flex;align-items:center;gap:.6rem;min-width:0}
  .side-user-id span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600}
  .content{margin-left:var(--side);width:calc(100% - var(--side));max-width:none;padding:36px 40px 64px}
  .content>*{max-width:940px;margin-left:auto;margin-right:auto}
}

/* ---------- Invitados (login / registro) con foto ---------- */
.auth-shell{min-height:100dvh;display:grid;grid-template-rows:auto 1fr}
.auth-photo{position:relative;height:190px;background:#000 url(/img/suv-sunset.jpg) center 62%/cover no-repeat}
.auth-photo::before{content:"";position:absolute;inset:0;background:rgba(11,16,22,.45)}
.auth-photo .brand{position:absolute;left:20px;top:18px;z-index:1}
.auth-panel{display:flex;flex-direction:column;align-items:center;padding:24px 16px 40px}
.auth-card{width:100%;max-width:420px}
.auth-card h1{font-size:1.6rem}
.auth-card .lead{margin:6px 0 20px}
.auth-foot{margin-top:18px;text-align:center;color:var(--muted);font-size:.95rem}
.auth-panel>.alert{width:100%;max-width:420px}
@media(min-width:900px){
  .auth-shell{grid-template-columns:1.05fr 1fr;grid-template-rows:1fr}
  .auth-photo{height:auto;min-height:100dvh;background-position:center}
  .auth-photo .brand{left:36px;top:30px}
  .auth-panel{justify-content:center;padding:40px}
}

/* ---------- Tipografía y utilidades ---------- */
.lead{color:var(--muted)}
.muted{color:var(--muted)}
.footnote{color:var(--muted);font-size:.82rem;margin-top:10px}
.page-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}
.page-head>div{flex:1 1 240px}
.page-head .lead{margin-top:4px}
@media(max-width:639px){.page-head>.btn{width:100%}}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 12px}
.section-head:first-child{margin-top:0}
.section-head h2{display:flex;align-items:center;gap:.5rem}
.section-head h2 .icon{color:var(--brand)}
.count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 8px;border-radius:99px;background:var(--surface-3);color:var(--ink-2);font-size:.8rem;font-weight:700}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card+.card{margin-top:12px}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.1rem;border:1px solid transparent;border-radius:var(--r-sm);font:inherit;font-weight:700;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.btn-primary{background:var(--brand);color:var(--on-brand)}
.btn-primary:hover{background:var(--brand-d)}
.btn-ghost{background:var(--surface-2);color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{background:var(--surface-3)}
.btn-danger{background:transparent;color:var(--bad);border-color:rgba(248,113,113,.5)}
.btn-danger:hover{background:var(--bad-bg)}
.btn-sm{min-height:38px;padding:0 .8rem;font-size:.9rem}
.btn-block{width:100%}
.btn:disabled{opacity:.55;cursor:not-allowed}
.link{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--brand-d);text-decoration:none}
.link:hover{text-decoration:underline}
.link .icon{width:16px;height:16px}
.back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:14px;color:var(--ink-2);text-decoration:none;font-weight:600}
.back:hover{color:var(--brand-d)}

/* ---------- Formularios ---------- */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}
.field>label{font-weight:700;font-size:.9rem;color:var(--ink)}
input,select,textarea{font:inherit;color:var(--ink);width:100%;min-height:46px;padding:.6rem .8rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg)}
input:hover,select:hover{border-color:#475a73}
input:focus,select:focus{outline:3px solid rgba(45,212,191,.4);outline-offset:0;border-color:var(--brand)}
input[type=file]{padding:.5rem;background:var(--surface-2);border-style:dashed}
input[type=file]::file-selector-button{margin-right:.8rem;padding:.4rem .8rem;border:0;border-radius:8px;background:var(--brand);color:var(--on-brand);font-weight:700;cursor:pointer}
.hint{color:var(--muted);font-size:.82rem}
.check{display:flex;align-items:flex-start;gap:.6rem;font-size:.92rem;color:var(--ink-2);margin:2px 0 14px}
.check input{width:20px;min-height:20px;height:20px;margin-top:2px;accent-color:var(--brand);flex:none}
.form-grid{display:grid;gap:0 14px;grid-template-columns:1fr}
.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
@media(min-width:640px){.form-grid{grid-template-columns:1fr 1fr}.form-grid .span-2{grid-column:1/-1}}
.inline-form{display:grid;gap:0 12px;grid-template-columns:1fr}
.inline-form .btn{align-self:end;margin-bottom:14px}
@media(min-width:640px){.inline-form{grid-template-columns:1fr 1fr auto}}
.search{display:flex;gap:8px;margin-bottom:14px}
.search .field{flex:1;margin:0}
.search-input{position:relative;flex:1}
.search-input .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.search-input input{padding-left:40px}

/* ---------- Avisos ---------- */
.alert{display:flex;gap:.75rem;align-items:flex-start;padding:12px 14px;border-radius:var(--r-sm);font-size:.94rem;margin-bottom:16px;border:1px solid transparent}
.alert .icon{margin-top:2px}
.alert ul{margin:.3rem 0 0;padding-left:1.1rem}
.alert-ok{background:var(--ok-bg);color:var(--ok);border-color:rgba(74,222,128,.3)}
.alert-bad{background:var(--bad-bg);color:var(--bad);border-color:rgba(248,113,113,.35)}

/* ---------- Estados (siempre texto + ícono) ---------- */
.status{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.status-days{font-size:.85rem;color:var(--muted);font-weight:600}
.status-days.is-bad{color:var(--bad)}.status-days.is-warn{color:var(--warn)}.status-days.is-now{color:var(--now)}
.chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem .2rem .45rem;border-radius:99px;font-size:.78rem;font-weight:700;line-height:1.3;white-space:nowrap}
.chip .icon{width:15px;height:15px}
.chip-ok{background:var(--ok-bg);color:var(--ok)}
.chip-warn{background:var(--warn-bg);color:var(--warn)}
.chip-bad{background:var(--bad-bg);color:var(--bad)}
.chip-muted{background:var(--neutral-bg);color:var(--neutral)}
.chip-now{background:var(--now);color:#1c0a00}
.plate{display:inline-block;padding:1px 8px;border:2px solid #0f172a;border-radius:6px;background:#f1f5f9;font:700 .85rem/1.5 ui-monospace,"SF Mono",Consolas,monospace;letter-spacing:.1em;color:#0f172a}

/* ---------- Estado general ---------- */
.hero-status{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:20px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface);margin-bottom:8px}
.hs-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;flex:none;background:var(--surface-3);color:var(--neutral)}
.hs-icon .icon{width:30px;height:30px}
.hs-body{flex:1 1 220px;min-width:0}
.hero-status h2{font-size:1.25rem;line-height:1.25}
.hero-status p{color:var(--ink-2);font-size:.92rem;margin-top:2px}
.hs-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.hs-ok{background:#0f241b;border-color:#1f5a3a}.hs-ok .hs-icon{background:var(--ok-bg);color:var(--ok)}
.hs-warn{background:#241d0e;border-color:#5b4814}.hs-warn .hs-icon{background:var(--warn-bg);color:var(--warn)}
.hs-now{background:#2a1a0b;border-color:#8a420f}.hs-now .hs-icon{background:rgba(251,146,60,.2);color:var(--now)}
.hs-bad{background:#2a1416;border-color:#6b2a2f}.hs-bad .hs-icon{background:var(--bad-bg);color:var(--bad)}
@media(max-width:639px){.hero-status>.btn{width:100%}}

/* ---------- Acciones ---------- */
.todo{display:flex;flex-direction:column;gap:12px}
.todo-item{padding:16px;border:1px solid var(--line-2);border-left:5px solid var(--line-2);border-radius:var(--r);background:var(--surface)}
.todo-item.k-expired{border-left-color:#ef4444}
.todo-item.k-today{border-left-color:#f97316;background:#241709}
.todo-item.k-soon{border-left-color:#f59e0b}
.todo-item h3{font-size:1.1rem;margin:8px 0 4px}
.todo-who{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.9rem;flex-wrap:wrap}
.todo-date{font-size:.85rem;color:var(--muted);margin-top:4px;font-variant-numeric:tabular-nums}
.todo-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}

/* ---------- Vehículos con foto ---------- */
.list{display:flex;flex-direction:column;gap:10px}
.vehicle-row{display:flex;align-items:stretch;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s}
.vehicle-row:hover{border-color:var(--brand)}
.v-photo{position:relative;flex:none;width:104px;background:var(--surface-3);display:grid;place-items:center;color:var(--muted)}
.v-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-photo .icon{width:30px;height:30px}
.v-body{min-width:0;display:flex;flex-direction:column;gap:5px;padding:12px 14px;flex:1;justify-content:center}
.v-body strong{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .5rem;color:var(--muted);font-size:.88rem}
.vehicle-row>.icon{align-self:center;margin-right:12px;color:var(--muted)}
.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:28px 20px;background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r);color:var(--muted)}
.empty .icon{width:34px;height:34px;color:var(--brand)}
.empty strong{color:var(--ink)}
.hero-empty{padding:0;overflow:hidden;border-style:solid;border-color:var(--line)}
.hero-empty .he-photo{width:100%;height:150px;object-fit:cover}
.hero-empty .he-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 20px 26px}
.hero-empty h2{color:var(--ink);font-size:1.3rem}
.quick-form{display:flex;gap:8px;width:100%;max-width:420px}
.quick-form input{text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.pager{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.pager-count{color:var(--muted);font-size:.9rem}

/* ---------- Desplegables ---------- */
details.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);margin-top:12px}
details.panel>summary{display:flex;align-items:center;gap:.6rem;padding:14px 16px;font-weight:700;cursor:pointer;list-style:none;border-radius:var(--r);min-height:48px}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary .icon:first-child{color:var(--brand)}
details.panel>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
details.panel[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
details.panel[open]>summary{border-bottom:1px solid var(--line);border-bottom-left-radius:0;border-bottom-right-radius:0}
.panel-body{padding:16px}
details.panel.danger>summary .icon:first-child{color:var(--bad)}
details.more{margin:0 0 14px}
details.more>summary{cursor:pointer;color:var(--brand-d);font-weight:700;font-size:.92rem;padding:6px 0;min-height:36px}
details.more[open]>summary{margin-bottom:10px}

/* ---------- Detalle de vehículo ---------- */
.vehicle-cover{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--surface-3);min-height:190px;display:flex;align-items:flex-end}
.vehicle-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vehicle-cover .vc-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}
.vehicle-cover .vc-empty .icon{width:56px;height:56px}
.vc-info{position:relative;width:100%;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;padding:16px;background:rgba(11,16,22,.78)}
.vc-info h1{font-size:1.5rem}
.vc-info .v-meta{color:var(--ink-2);margin-top:4px}
.odometer{display:flex;flex-direction:column;text-align:right}
.odometer strong{font-size:1.25rem;font-variant-numeric:tabular-nums}
.odometer small{color:var(--ink-2)}
.subnav{display:flex;gap:8px;overflow-x:auto;padding:14px 16px 2px;margin:0 -16px 20px;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav a{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:99px;background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-2);text-decoration:none;font-weight:700;font-size:.9rem;white-space:nowrap}
.subnav a:hover{border-color:var(--brand);color:var(--brand-d)}
.subnav .icon{width:16px;height:16px}
section[id]{scroll-margin-top:72px}
.rows{display:flex;flex-direction:column}
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.row:first-child{border-top:0;padding-top:0}
.row:last-child{padding-bottom:0}
.row-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand);flex:none}
.row-body{flex:1 1 150px;min-width:0;display:flex;flex-direction:column;gap:2px}
.row-body strong{overflow-wrap:anywhere}
.row-body span,.row-body time{font-size:.86rem;color:var(--muted)}
.row-wrap{flex-wrap:wrap}
.row-sub{flex-basis:100%;padding-left:52px}
@media(max-width:639px){.row-wrap>.chip{margin-left:52px}}
.history-list{list-style:none;margin:0;padding:0}
.history-list li{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums;font-size:.92rem}
.history-list li:first-child{border-top:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.chip-btn{min-height:36px;padding:0 .85rem;border:1px solid var(--line-2);border-radius:99px;background:var(--surface-2);color:var(--ink-2);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}
.chip-btn:hover,.chip-btn.selected{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-d)}
.photo-field{display:flex;align-items:center;gap:14px}
.photo-field .thumb{width:84px;height:64px;border-radius:10px;object-fit:cover;background:var(--surface-3);border:1px solid var(--line-2);flex:none}

/* ---------- Fiscalización ---------- */
.pills{display:flex;gap:8px;overflow-x:auto;padding:2px 16px 12px;margin:0 -16px;scrollbar-width:none}
.pills::-webkit-scrollbar{display:none}
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .9rem .35rem .35rem;border-radius:99px;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-2);text-decoration:none;font-weight:700;white-space:nowrap}
.pill[aria-current=true]{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-d)}
.pill-photo{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--surface-3);display:grid;place-items:center;overflow:hidden;flex:none}
.pill-photo img{width:100%;height:100%;object-fit:cover}
.pill-photo .icon{width:18px;height:18px}
.doc-list{display:flex;flex-direction:column;gap:10px}
.doc-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:14px 16px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--surface)}
.doc-card.k-expired{border-color:rgba(248,113,113,.55)}
.doc-card.k-today{border-color:rgba(251,146,60,.65)}
.doc-card.is-missing{border-style:dashed}
.doc-thumb{width:56px;height:72px;border-radius:8px;overflow:hidden;background:var(--surface-3);border:1px solid var(--line-2);flex:none;display:grid;place-items:center;color:var(--brand)}
.doc-thumb img{width:100%;height:100%;object-fit:cover}
.doc-main{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:3px}
.doc-main strong{font-size:1.05rem;overflow-wrap:anywhere}
.doc-meta{color:var(--muted);font-size:.85rem}
.doc-actions{display:flex;gap:8px;flex-wrap:wrap}
.doc-renew{flex-basis:100%}
.group-title{display:flex;align-items:center;gap:.6rem;margin:26px 0 10px}
.group-title h2{font-size:1.05rem}
.versions{margin-top:10px}
@media(max-width:639px){.doc-actions{width:100%}.doc-actions .btn{flex:1}}
.narrow{max-width:640px!important}

/* ---------- Landing con foto ---------- */
.land{background:var(--bg)}
.land-hero{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:#000 url(/img/suv-sunset.jpg) center 60%/cover no-repeat;isolation:isolate}
.land-hero::before{content:"";position:absolute;inset:0;background:rgba(8,12,17,.58);z-index:-1}
.land-wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 20px}
.land-head{display:flex;align-items:center;justify-content:space-between;height:72px}
.land-main{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:36px;gap:22px}
.land-main h1{font-size:clamp(2.2rem,8vw,3.8rem);line-height:1.05;letter-spacing:-.035em;max-width:14ch}
.land-main h1 span{color:var(--brand)}
.land-main p.lead{color:#d3dbe6;font-size:1.1rem;max-width:36ch}
.land-cta{display:flex;flex-wrap:wrap;gap:10px}
.land-cta .btn{min-height:52px;padding:0 1.5rem;font-size:1.02rem}
.land-note{font-size:.85rem;color:#b9c3d0}
.land-chips{display:flex;flex-wrap:wrap;gap:8px}
.land-chips span{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border-radius:99px;background:rgba(11,16,22,.7);border:1px solid var(--line-2);font-size:.88rem;font-weight:600}
.land-chips .icon{width:16px;height:16px;color:var(--brand)}
.land-features{display:grid;gap:14px;padding:48px 0 64px}
.land-feature{padding:22px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
.land-feature .icon{width:26px;height:26px;color:var(--brand);margin-bottom:10px}
.land-feature p{color:var(--muted);margin-top:4px;font-size:.95rem}
@media(min-width:860px){.land-features{grid-template-columns:repeat(3,1fr)}}

/* ---------- Google ---------- */
.google-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:46px;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);font:inherit;font-weight:700;text-decoration:none}
.google-btn img{width:18px;height:18px}
.google-btn:hover{background:var(--surface-3)}
button.google-btn:disabled{opacity:.6;cursor:not-allowed}
.divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.85rem}
.divider::before,.divider::after{content:"";height:1px;flex:1;background:var(--line)}

@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Landing (look original: foto completa, capa azul oscura, tarjetas flotantes) ---------- */
.land-hero{background:#0b1016 url(/img/suv-sunset.jpg) center 55%/cover no-repeat;min-height:100dvh;display:flex;flex-direction:column}
.land-hero::before{background:linear-gradient(180deg,rgba(11,16,22,.55) 0,rgba(11,16,22,.05) 30%,rgba(11,16,22,.15) 55%,rgba(11,16,22,.92) 88%)}
.brand-lg .brand-mark{width:54px;height:54px;border-radius:14px}
.brand-lg .brand-mark .icon{width:28px;height:28px}
.brand-text{display:flex;flex-direction:column;line-height:1.05;font-size:1.9rem}
.brand-text small{font-size:.68rem;letter-spacing:.22em;font-weight:600;color:#c3ccd8;margin-top:6px}
.land-head{height:96px}
.btn-outline{background:rgba(11,16,22,.35);color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-outline.btn-sm{border-radius:99px;padding:0 1.2rem}
.land-title{font-size:clamp(2.1rem,7.5vw,3.6rem);line-height:1.08;letter-spacing:-.04em;margin-top:6px;max-width:16ch;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.land-title span{color:var(--brand)}
.land-bottom{margin-top:auto;padding-bottom:28px;display:flex;flex-direction:column;gap:16px}
.float-cards{position:relative;height:190px;max-width:520px;margin:0 auto 4px;width:100%}
.fc{position:absolute;background:#f1f5f4;color:#0f2530;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.fc-l,.fc-r{width:46%;top:8px;padding:14px;display:flex;flex-direction:column;gap:6px;height:130px}
.fc-l{left:0;transform:rotate(-5deg)}
.fc-r{right:0;transform:rotate(5deg)}
.fc-ic{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#0f3b3f;color:#5eead4}
.fc strong{font-size:.95rem;line-height:1.2}
.fc-c{left:8%;right:8%;top:62px;overflow:hidden;transform:rotate(-2deg)}
.fc-top{display:block;background:#17475a;color:#e6f3f1;font-size:.72rem;letter-spacing:.16em;font-weight:700;padding:10px 16px}
.fc-body{display:flex;align-items:center;gap:12px;padding:12px 16px}
.fc-car{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#dbe5e3;color:#506670;flex:none}
.fc-body div{flex:1;display:flex;flex-direction:column;line-height:1.25}
.fc-body small{font-size:.66rem;letter-spacing:.14em;color:#5b6b73}
.fc-body span{font-size:.78rem;color:#5b6b73}
.fc-body strong{font-size:1.05rem}
.fc-ok{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#d3f3e6;color:#0f9f6e;flex:none}
.land-dots{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px;color:#d3dbe6;font-size:.92rem}
.land-dots li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--brand);margin-right:7px;vertical-align:middle}
.land-cta{flex-direction:column;max-width:520px;width:100%;margin:0 auto}
.land-cta .btn{width:100%;min-height:56px;border-radius:16px;font-size:1.1rem}
.land-note{text-align:center;color:#aeb9c7;font-size:.9rem}
@media(min-width:860px){
  .land-hero{background-position:center 60%}
  .land-bottom{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
  .float-cards{margin:0;flex:0 0 420px}
  .land-dots{flex:1 1 100%;order:3;justify-content:flex-start}
  .land-cta{flex-direction:row;width:auto;margin:0;order:2}
  .land-cta .btn{width:auto;padding:0 2rem}
  .land-note{order:4;flex:1 1 100%;text-align:left}
}
.land-title{max-width:none;font-size:clamp(2rem,7vw,3.6rem)}
.float-cards{height:210px}
.fc-l,.fc-r{top:0;height:112px;justify-content:flex-start}
.fc-l strong,.fc-r strong{font-size:.88rem}
.fc-c{top:92px}
/* v6: auto visible, tarjetas más bajas y compactas */
.land-hero{background-position:center top;background-size:cover}
.land-hero::before{background:linear-gradient(180deg,rgba(11,16,22,.45) 0,rgba(11,16,22,0) 28%,rgba(11,16,22,0) 58%,rgba(11,16,22,.94) 86%)}
.float-cards{height:150px;margin-top:auto}
.fc-l,.fc-r{height:92px;padding:10px 12px;gap:4px}
.fc-ic{width:30px;height:30px}
.fc-l strong,.fc-r strong{font-size:.8rem}
.fc-c{top:64px}
.fc-top{padding:8px 14px}
.fc-body{padding:10px 14px}
/* v7: foto completa a todo el ancho en móvil, se funde con el fondo */
@media(max-width:859px){
  .land-hero{background:#0b1016 url(/img/suv-sunset.jpg) center top/100% auto no-repeat}
  .land-hero::before{background:linear-gradient(180deg,rgba(11,16,22,.5) 0,rgba(11,16,22,0) 22%,rgba(11,16,22,0) 40%,#0b1016 calc(150vw - 6px))}
}
.float-cards{height:178px}
/* v9: tarjetas compactas en celular */
@media(max-width:859px){
  .float-cards{height:118px;max-width:340px}
  .fc{border-radius:14px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
  .fc-l,.fc-r{width:42%;height:70px;padding:8px 10px;gap:3px}
  .fc-ic{width:24px;height:24px;border-radius:7px}
  .fc-ic .icon{width:14px;height:14px}
  .fc-l strong,.fc-r strong{font-size:.68rem;line-height:1.15}
  .fc-c{left:12%;right:12%;top:46px}
  .fc-top{font-size:.58rem;padding:5px 12px}
  .fc-body{padding:7px 12px;gap:9px}
  .fc-car{width:32px;height:32px;border-radius:9px}
  .fc-car .icon,.fc-ok .icon{width:16px;height:16px}
  .fc-ok{width:28px;height:28px}
  .fc-body small{font-size:.54rem}
  .fc-body strong{font-size:.85rem}
  .fc-body span{font-size:.64rem}
  .land-dots{font-size:.82rem;gap:2px 10px}
  .land-bottom{gap:12px;padding-bottom:20px}
}
@media(max-width:859px){
  .float-cards{height:122px}
  .fc-l,.fc-r{flex-direction:row;align-items:flex-start;height:56px;gap:7px}
  .fc-c{top:44px}
}
/* auth: foto superior en móvil, ancho de contenido */
.auth-photo{height:170px;background:#0b1016 url(/img/suv-sunset.jpg) center 38%/cover no-repeat}
.auth-photo::before{background:linear-gradient(180deg,rgba(11,16,22,.55),rgba(11,16,22,0) 40%,#0b1016 100%)}
.auth-panel{padding:8px 20px 40px;align-items:center}
.auth-card{margin-top:-8px}
.auth-card form .field a.link{align-self:flex-end;margin-top:2px}
.auth-foot a{color:var(--brand-d)}
.auth-photo .brand{text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* v12: paleta de la versión anterior (azul marino + verde agua), sin naranja */
:root{
  --bg:#08141c;--surface:#0f202c;--surface-2:#132a38;--surface-3:#183344;
  --line:#1b3342;--line-2:#25465a;
  --ink:#eaf3f6;--ink-2:#b4c6cf;--muted:#8ea5b2;
  --brand:#2de2c4;--brand-d:#5eeed6;--on-brand:#04231f;--brand-soft:rgba(45,226,196,.12);
  --warn:#f6bd3f;--warn-bg:rgba(246,189,63,.16);--bad:#ff6b6b;--bad-bg:rgba(255,107,107,.16);--now:#f6bd3f;
  --r:22px;--r-sm:14px;
}
body{background:var(--bg)}
.topbar{background:var(--bg)}
.tabbar,.sidebar{background:var(--surface)}
.chip-now{background:var(--warn);color:#2a1d00}
.status-days.is-now{color:var(--warn)}
.hs-now{background:#2a2410;border-color:#6b5514}
.hs-now .hs-icon{background:var(--warn-bg);color:var(--warn)}
.hs-bad{background:#2b1519;border-color:#6b2a33}
.hs-warn{background:#2a2410;border-color:#6b5514}
.hs-ok{background:#0d2a28;border-color:#1d5a50}
.todo-item{background:var(--surface);border-color:var(--line)}
.todo-item.k-expired{border-left-color:#ff6b6b}
.todo-item.k-today{border-left-color:#f6bd3f;background:var(--surface)}
.todo-item.k-soon{border-left-color:#f6bd3f}
.doc-card.k-today{border-color:rgba(246,189,63,.6)}
.doc-card.k-expired{border-color:rgba(255,107,107,.55)}
.btn-primary{border-radius:var(--r-sm)}
.card,.vehicle-row,.doc-card,details.panel,.empty{border-radius:var(--r)}

/* v13: orden y espaciado */
.content>section+section,.content>section+details,.content>section+p,.content>section+.empty{margin-top:32px}
.content>.hero-status+section{margin-top:28px}
.section-head{margin:0 0 12px}
.v-badge{display:grid;place-items:center;flex:none;width:56px;height:56px;margin:14px 0 14px 14px;border-radius:16px;background:var(--surface-3);color:var(--brand)}
.v-badge .icon{width:26px;height:26px}
.vehicle-row{align-items:center;padding-right:4px}
.vehicle-row .v-body{padding:14px}
.vehicle-row .v-body>span:last-child{font-size:.88rem;color:var(--muted)}
.vehicle-row>.icon{margin-right:12px}
details.panel{margin-top:16px}
.footnote{display:flex;gap:.5rem;align-items:flex-start;margin-top:20px;line-height:1.4}
.page-head{margin-bottom:22px}
.todo{gap:14px}
.hero-status{margin-bottom:0}
@media(max-width:639px){
  .hero-status{padding:16px;gap:14px}
  .hs-icon{width:44px;height:44px;border-radius:12px}
  .hs-icon .icon{width:24px;height:24px}
  .hs-body{flex:1 1 0}
  .hero-status h2{font-size:1.1rem}
  .hero-status>.btn{flex:1 1 100%}
}
.v-badge .icon{width:30px;height:30px;stroke-width:1.6}

/* v16: estado de flota y 4 pestañas */
.tabbar{grid-template-columns:repeat(4,1fr)}
.fleet{margin-top:16px}
.fleet-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.fleet-bar{display:flex;gap:4px;height:12px;border-radius:99px;overflow:hidden}
.fleet-bar span{border-radius:99px;min-width:12px}
.fb-ok{background:var(--brand)}.fb-warn{background:var(--warn)}.fb-bad{background:var(--bad)}
.fleet-legend{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.fleet-legend li{display:flex;align-items:center;gap:.4rem;color:var(--ink-2);font-size:.92rem}
.fleet-legend strong{color:var(--ink);font-size:1.1rem}
.fleet-legend li:nth-child(1) .icon{color:var(--brand)}.fleet-legend li:nth-child(2) .icon{color:var(--warn)}.fleet-legend li:nth-child(3) .icon{color:var(--bad)}
.fleet-legend .icon{width:18px;height:18px}
.fleet .footnote{margin-top:12px}
.content>.card+section{margin-top:32px}

/* v17: pantalla de fiscalización más simple */
.ready-bar{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface)}
.ready-bar .icon{width:26px;height:26px;flex:none}
.ready-bar div{display:flex;flex-direction:column;line-height:1.3}
.ready-bar span{font-size:.88rem;color:var(--ink-2)}
.rb-ok{background:#0d2a28;border-color:#1d5a50}.rb-ok .icon{color:var(--brand)}
.rb-warn{background:#2a2410;border-color:#6b5514}.rb-warn .icon{color:var(--warn)}
.rb-bad{background:#2b1519;border-color:#6b2a33}.rb-bad .icon{color:var(--bad)}
.pills{margin-bottom:6px}
.wallet-search{margin:14px 0 0}
.group-title{margin:24px 0 10px}
.doc-card{padding:12px 14px;gap:10px 12px;align-items:flex-start}
.doc-card .row-icon{width:36px;height:36px}
.doc-actions{flex-basis:100%;margin-top:2px}
.doc-actions .btn{flex:1}
.doc-main strong{font-size:1rem}
@media(min-width:640px){.doc-actions{flex-basis:auto}.doc-actions .btn{flex:none}.doc-card{align-items:center}}
.doc-renew:not([open]),#add-personal:not([open]){display:none}
.group-title{flex-wrap:wrap;row-gap:4px}
.group-title .link{white-space:nowrap}
.group-title h2{flex:0 1 auto}
.manage-link{margin:26px 0 0;text-align:center}
.doc-actions .btn-primary{width:100%}

/* v21: fiscalización, cabecera compacta */
.wallet-page .page-head{margin-bottom:8px}
.wallet-page h1{font-size:1.25rem;letter-spacing:-.01em}
.wallet-page .pills{padding-bottom:8px;margin-bottom:0}
.wallet-page .ready-bar{padding:9px 12px;gap:10px}
.wallet-page .ready-bar .icon{width:22px;height:22px}
.wallet-page .ready-bar div{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 8px}
.wallet-page .ready-bar strong{font-size:.95rem}
.wallet-page .ready-bar span{font-size:.82rem}
.wallet-page .group-title{margin:16px 0 8px}
.wallet-page .group-title h2{font-size:1rem}
@media(max-width:639px){.wallet-page .ready-bar.rb-ok span{display:none}}

/* v22: estado vacío compacto, íconos de botón visibles */
.empty .btn .icon,.empty .btn-primary .icon{color:inherit;width:18px;height:18px}
.doc-list .empty{flex-direction:row;flex-wrap:wrap;justify-content:space-between;text-align:left;gap:10px 14px;padding:14px 16px;border-radius:var(--r)}
.doc-list .empty .icon{width:24px;height:24px}
.doc-list .empty span{flex:1 1 140px}
.doc-list .empty .btn{flex:1 1 100%}

/* v24: visor de documentos dentro de la app */
.viewer{border:0;padding:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:#000;color:#fff}
.viewer::backdrop{background:#000}
.viewer[open]{display:flex;flex-direction:column}
.viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border-bottom:1px solid var(--line)}
.viewer header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer-body{flex:1;min-height:0;display:grid;place-items:center;overflow:auto;padding:8px}
.viewer-body img{max-width:100%;max-height:100%;object-fit:contain}

/* v25: cargar con cámara o archivo */
.file-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.file-actions .btn{min-height:52px}
.file-name{overflow-wrap:anywhere}
.visually-hidden:focus-visible{outline:none}
.file-field:focus-within .file-actions{outline:0}
.file-name.is-error{color:var(--bad);font-weight:700;font-size:.92rem}
.doc-renew{scroll-margin-top:72px}

/* v27: foto del vehículo */
.v-photo{position:relative;flex:none;width:84px;align-self:stretch;min-height:84px;background:var(--surface-3)}
.v-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v-photo-lg{width:72px;height:72px;min-height:0;align-self:auto;border-radius:16px;overflow:hidden}
.vehicle-row .v-photo{margin:0}

/* v29: mantenciones con estado */
.mt-grid{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:640px){.mt-grid{grid-template-columns:1fr 1fr}}
.mt-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--r);border:1px solid var(--line-2);border-left:5px solid var(--line-2);background:var(--surface)}
.mt-overdue{border-left-color:var(--bad);border-color:rgba(255,107,107,.45);border-left-color:var(--bad)}
.mt-due,.mt-soon{border-left-color:var(--warn)}
.mt-ok{border-left-color:var(--brand)}
.mt-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mt-head h3{flex:1;font-size:1.05rem}
.mt-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.mt-lines li{display:flex;align-items:center;gap:.5rem;font-weight:700}
.mt-lines li .icon{width:18px;height:18px;color:var(--muted);flex:none}
.mt-lines li.is-bad{color:var(--bad)}.mt-lines li.is-bad .icon{color:var(--bad)}
.mt-lines .muted{font-weight:500;font-size:.88rem}
.mt-last{color:var(--muted);font-size:.86rem}
.mt-card .btn{align-self:flex-start}

/* v31: inicio como ruta de prioridades */
.home-head{margin:4px 0 16px}
.home-head h1{font-size:1.35rem;margin:0 0 6px}
.home-headline{display:flex;gap:8px;align-items:flex-start;margin:0;color:var(--muted,#9db3bd);font-size:.95rem;line-height:1.35}
.home-headline .icon{flex:none;width:18px;height:18px;margin-top:1px}
.home-headline.hl-bad .icon{color:var(--bad)}.home-headline.hl-now .icon,.home-headline.hl-warn .icon{color:var(--warn)}.home-headline.hl-ok .icon{color:var(--brand)}
.eyebrow{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#9db3bd);margin:18px 0 8px;font-weight:700}
.eyebrow .count{margin-left:6px}
.focus-card{background:var(--surface);border:1px solid var(--line,#1d3544);border-left:4px solid var(--warn);border-radius:var(--r);padding:16px}
.focus-card.tone-bad{border-left-color:var(--bad)}.focus-card.tone-now{border-left-color:var(--now)}
.focus-card h3{font-size:1.25rem;margin:10px 0 6px}
.focus-card .todo-who{display:flex;gap:8px;align-items:center;margin-bottom:8px}
.focus-card .hint{margin:8px 0 0}
.focus-cta{margin-top:14px;min-height:48px}
.queue{display:flex;flex-direction:column;gap:8px}
.queue-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line,#1d3544);border-left:3px solid var(--warn);border-radius:16px;padding:12px 14px;color:inherit;text-decoration:none;min-height:56px}
.queue-row.tone-bad{border-left-color:var(--bad)}.queue-row.tone-now{border-left-color:var(--now)}
.queue-row .qr-body{flex:1;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.queue-row .qr-body strong{flex:1 1 100%}
.queue-row>.icon{flex:none;width:18px;height:18px;opacity:.6}
.qr-who{display:inline-flex;gap:4px;align-items:center;font-size:.85rem;color:var(--muted,#9db3bd)}
.queue-more{margin-top:8px}
.allclear{display:flex;gap:12px;align-items:center;background:var(--surface);border-radius:var(--r);padding:16px;margin-top:8px}
.allclear>.icon{flex:none;width:28px;height:28px;color:var(--brand)}
.allclear span{display:block;color:var(--muted,#9db3bd);font-size:.9rem;margin-top:2px}
.shortcut{display:flex;align-items:center;gap:10px;margin:20px 0 4px;padding:14px 16px;background:var(--surface);border-radius:16px;color:inherit;text-decoration:none;min-height:52px}
.shortcut span{flex:1}.shortcut .icon{width:20px;height:20px}

/* v32: documentos, fiscalización, perfil, vehículos */
.docs-intro{margin:-6px 0 12px}
.doc-group{margin-top:22px;scroll-margin-top:72px}
.doc-summary .ds-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line,#1d3544)}
.doc-summary .ds-row:last-of-type{border-bottom:0}
.doc-summary .btn{margin-top:10px}
.veh-data{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 14px;background:var(--surface);border-radius:var(--r);padding:14px 16px;margin:0 0 12px}
.veh-data dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#9db3bd)}
.veh-data dd{margin:2px 0 0;font-weight:700}
.profile-card{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.profile-card .muted{display:block;word-break:break-all}
.avatar-lg{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--brand);color:#06131a;font-weight:800;font-size:1.3rem;flex:none}
.v-chips{display:flex;flex-wrap:wrap;gap:6px}
.tabbar a span{font-size:.68rem}
.tabbar{grid-template-columns:repeat(5,1fr)}
.tabbar a{padding-left:2px;padding-right:2px;min-width:0}
.tabbar a span{white-space:nowrap}
.doc-dl{flex:1 1 100%;font-size:.9rem;display:inline-flex;gap:6px;align-items:center;padding:4px 2px}
.doc-dl .icon{width:16px;height:16px}
/* v35: ficha de vehículo compacta */
.vehicle-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 16px}
.vehicle-head .vehicle-head-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 220px}
.vehicle-head .v-badge{margin:0;width:48px;height:48px}
.vehicle-head h1{font-size:1.2rem;margin:0 0 4px}
.vehicle-head .odometer{flex-direction:row;align-items:baseline;gap:8px;text-align:left;flex:1 1 100%;padding-top:8px;border-top:1px solid var(--line,#1d3544)}
.vehicle-head .odometer small:first-child{flex:1}
.subnav{flex-wrap:wrap;overflow:visible;padding:12px 0 0;margin:0 0 18px}
@media(min-width:640px){.doc-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.doc-actions .btn,.doc-actions .btn-primary{width:auto;flex:none}.doc-actions .doc-dl{flex:0 0 auto}}
/* v37: modales */
.modal{border:1px solid var(--line,#1d3544);border-radius:22px;padding:0;background:var(--surface);color:inherit;width:min(560px,calc(100% - 24px));max-height:calc(100% - 24px);overflow:hidden}
.modal[open]{display:flex;flex-direction:column}
.modal::backdrop{background:rgba(2,8,12,.72)}
.modal form{display:flex;flex-direction:column;min-height:0;flex:1}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line,#1d3544)}
.modal-head h2{margin:0;font-size:1.1rem}
.modal-body{padding:16px;overflow:auto;flex:1}
.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--line,#1d3544)}
.modal-foot .btn{min-height:46px}
.link-btn{background:none;border:0;cursor:pointer;font:inherit;padding:8px}
.file-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.file-actions .btn{min-width:0;padding-left:8px;padding-right:8px;white-space:normal}
.section-head .btn{margin-left:auto}
.add-doc-btn{margin-top:12px}
.doc-card dialog.modal{width:min(560px,calc(100% - 24px))}
.fleet-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
/* Tarjeta prioritaria: datos y acción visibles en menos altura. */
.focus-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status" "who action" "detail action" "hint hint";align-items:center;gap:5px 12px;padding:14px 16px}
.focus-card>h3{grid-area:title;margin:0;font-size:1.1rem;line-height:1.25;overflow-wrap:anywhere}
.focus-card>.focus-top{grid-area:status;justify-self:end;min-width:0}
.focus-card>.todo-who{grid-area:who;min-width:0;margin:0;flex-wrap:wrap;font-size:.85rem;line-height:1.3}
.focus-card>.todo-who span:last-child{overflow-wrap:anywhere}
.focus-card>.mt-lines,.focus-card>.todo-date{grid-area:detail;min-width:0;font-size:.86rem;line-height:1.3}
.focus-card>.mt-lines{gap:3px}.focus-card>.mt-lines li{gap:5px}.focus-card>.mt-lines li .icon{width:16px;height:16px}
.focus-card>.hint{grid-area:hint;margin:4px 0 0;font-size:.8rem}
.focus-card>.focus-cta{grid-area:action;width:auto;min-width:106px;min-height:44px;margin:0;padding:8px 12px;align-self:center}
@media(max-width:340px){.focus-card{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:12px}.focus-card>.focus-cta{min-width:90px;padding:7px 9px;font-size:.83rem}.focus-card>.focus-top .chip{font-size:.72rem}}
.remaining-queue{margin-top:10px}
.offline-settings{margin:24px 0;padding:16px;border:1px solid var(--line,#29434c);border-radius:16px;background:var(--surface)}.offline-settings h2{font-size:1rem;margin:0 0 6px}.offline-settings p,.offline-settings small{color:var(--muted);font-size:.85rem}.offline-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;border-top:1px solid var(--line,#29434c)}.offline-row strong,.offline-row small{flex-basis:100%;overflow-wrap:anywhere}.offline-row button{min-height:44px;padding:8px 14px;border:0;border-radius:10px;background:var(--brand);color:#062b30;font:inherit;font-weight:700}.offline-row .offline-remove{background:#203944;color:#e7f2f5}[data-offline-status]:not(:empty){padding:10px 0;font-weight:700}
.expected-compact{margin-top:12px}.expected-compact>summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;font-weight:700}.expected-compact>summary:after{content:'+';margin-left:auto;color:var(--brand);font-size:1.3rem}.expected-compact[open]>summary:after{content:'−'}.expected-form{display:flex;gap:8px;align-items:stretch;margin-top:10px}.expected-form .field{flex:1;min-width:0}.expected-form input{width:100%;min-width:0}.expected-form .btn{flex:none;min-height:44px}.expected-compact .hint{margin:10px 0 0;font-size:.8rem}@media(max-width:340px){.expected-form{flex-wrap:wrap}.expected-form .field{flex-basis:100%}.expected-form .btn{width:100%}}
/* Selectores nativos legibles y adaptables al ancho del dispositivo. */
select{max-width:100%;min-width:0;color-scheme:dark;font-size:1rem;line-height:1.35}select option{background:#102530;color:#e7f2f5}select:focus-visible{outline:3px solid #47dbc4;outline-offset:2px}[hidden]{display:none!important}.field{min-width:0}
.offline-settings{margin:20px 0 8px;padding:12px 14px}.offline-settings [data-offline-status]{font-size:.82rem;font-weight:600;padding:0}.offline-details>summary{display:flex;align-items:center;min-height:44px;color:var(--brand);font-size:.85rem;font-weight:700;cursor:pointer}.offline-details>summary:after{content:'+';margin-left:auto;font-size:1.2rem}.offline-details[open]>summary:after{content:'−'}.offline-details p{margin:0 0 10px;line-height:1.4}.offline-controls{display:flex;flex-wrap:wrap;gap:8px}.offline-controls .btn{min-height:44px}
/* Acento automotriz decorativo, sin alterar la disposición del inicio. */
.home-head{position:relative;isolation:isolate}
.home-head::before{content:"";position:absolute;z-index:-1;inset:-12px -16px -10px 30%;background:linear-gradient(90deg,#07151c 0%,#07151c88 45%,#07151c30 100%),url('/img/vehicle-accent.jpg') right 53%/cover no-repeat;opacity:.75;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 45%)}
/* El mismo acento acompaña los encabezados de las pantallas interiores. */
.page-head{position:relative;isolation:isolate}
.page-head::before{content:"";position:absolute;z-index:-1;inset:-12px -16px -10px 30%;background:linear-gradient(90deg,#07151c 0%,#07151c99 45%,#07151c33 100%),url('/img/vehicle-accent.jpg') right 53%/cover no-repeat;opacity:.75;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 45%)}
.vehicle-head{background-image:linear-gradient(90deg,#102530 0%,#102530ed 50%,#102530a8 100%),url('/img/vehicle-accent.jpg');background-size:cover;background-position:right center}
.auth-card{background-image:linear-gradient(90deg,#102530f7 0%,#102530ef 58%,#102530b8 100%),url('/img/vehicle-accent.jpg');background-size:cover;background-position:right center}
/* Prueba de acentos más sobrios, conservando contraste en estados y acciones. */
:root{--brand:#69b6aa;--brand-d:#92c8bd;--brand-soft:rgba(105,182,170,.12);--on-brand:#092522;--ok:#80c49b;--ok-bg:rgba(103,166,125,.15);--warn:#d9b66d;--warn-bg:rgba(196,157,87,.16);--bad:#e18a89;--bad-bg:rgba(193,109,109,.16);--now:#d9b66d}
.todo-item.k-expired{border-left-color:var(--bad)}.todo-item.k-today,.todo-item.k-soon{border-left-color:var(--warn)}
select:focus-visible{outline-color:#92c8bd}
/* Acentos intensos con tonos más profundos y estados diferenciados. */
:root{--brand:#1cb6a1;--brand-d:#73d1c1;--brand-soft:rgba(28,182,161,.15);--on-brand:#042b27;--ok:#78c99a;--ok-bg:rgba(67,152,103,.17);--warn:#efbd52;--warn-bg:rgba(201,146,47,.18);--bad:#ef7075;--bad-bg:rgba(190,75,84,.19);--now:#efbd52}
select:focus-visible{outline-color:#73d1c1}
/* Acciones cálidas y tarjetas más legibles en móvil. */
.btn-primary{background:#e7b455;color:#241a08;border-color:#e7b455}.btn-primary:hover{background:#f1c66f;color:#241a08}.btn-primary:active{background:#d7a344}.btn-primary:focus-visible{outline-color:#f1d493}
.focus-card{grid-template-areas:"title title" "status status" "who action" "detail action" "hint hint";grid-template-columns:minmax(0,1fr) auto;gap:7px 12px}.focus-card>.focus-top{justify-self:start}.focus-card>h3{font-size:1.1rem}.focus-card>.focus-cta{min-width:108px;max-width:140px}.focus-card .status{flex-wrap:wrap}
/* Estados críticos: rojo más intenso. */
:root{--bad:#ff525b;--bad-bg:rgba(206,46,56,.22)}
/* Rojo puro y luminoso para atrasos y vencimientos. */
:root{--bad:#ff3333;--bad-bg:rgba(206,24,24,.25)}
/* El rojo intenso señala la alerta; los textos usan un tono claro para leerse. */
:root{--bad-text:#ffb1a9;--bad-bg:rgba(135,30,30,.32)}
.chip-bad,.alert-bad,.status-days.is-bad,.mt-lines li.is-bad,.file-name.is-error,.btn-danger{color:var(--bad-text)}
.chip-bad .icon,.mt-lines li.is-bad .icon{color:var(--bad)}
/* Alertas rojas sin fondo de color detrás del texto. */
.chip-bad{background:transparent;color:var(--bad);padding-left:0;padding-right:0}.chip-bad .icon,.status-days.is-bad,.mt-lines li.is-bad,.mt-lines li.is-bad .icon{color:var(--bad)}
/* Etiquetas de alerta sólidas, con texto e iconos blancos. */
.chip-bad{background:#d82029;color:#fff;padding:.2rem .6rem .2rem .45rem}.chip-bad .icon{color:#fff}
/* Acción compacta, manteniendo un área táctil cómoda. */
.add-vehicle-icon{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;flex:none}.add-vehicle-icon .icon{width:22px;height:22px}
/* Un signo discreto, sin bloque de color; el área táctil sigue siendo de 44 px. */
.add-vehicle-icon,.add-vehicle-icon:hover,.add-vehicle-icon:active{background:transparent;border:0;box-shadow:none;color:var(--brand-d)}
.add-vehicle-icon .icon{width:20px;height:20px;stroke-width:1.7}
/* El título y el botón comparten fila también en teléfonos pequeños. */
.vehicle-list-head{display:flex;flex-wrap:nowrap;align-items:center;gap:12px}
.vehicle-list-head>div{flex:1 1 auto;min-width:0}
.vehicle-list-head>.add-vehicle-icon,.vehicle-list-head>.add-vehicle-icon:hover,.vehicle-list-head>.add-vehicle-icon:active{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;flex:0 0 44px;background:#e7b455;color:#241a08;border:0;border-radius:12px}
.vehicle-list-head>.add-vehicle-icon:hover{background:#f1c66f}
/* Ámbar cálido para acciones, coordinado con el azul y el turquesa. */
.btn-primary{background:#d9a85c;border-color:#d9a85c;color:#211a0d}.btn-primary:hover{background:#e4b974;color:#211a0d}.btn-primary:active{background:#c79349}
.vehicle-list-head>.add-vehicle-icon,.vehicle-list-head>.add-vehicle-icon:active{background:#d9a85c;color:#211a0d}.vehicle-list-head>.add-vehicle-icon:hover{background:#e4b974}
/* Amarillo limpio para acciones. */
.btn-primary{background:#f1ce60;border-color:#f1ce60;color:#25200e}.btn-primary:hover{background:#f6dc86;color:#25200e}.btn-primary:active{background:#dfb94c}
.vehicle-list-head>.add-vehicle-icon,.vehicle-list-head>.add-vehicle-icon:active{background:#f1ce60;color:#25200e}.vehicle-list-head>.add-vehicle-icon:hover{background:#f6dc86}
.odometer-photo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px}.odometer-camera{cursor:pointer}.odometer-photo .hint{flex:1 1 190px}.odometer-photo [data-odometer-status]:not(:empty){flex-basis:100%;font-size:.87rem;color:var(--ink-2);margin:0}.odometer-candidates{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}.odometer-candidates:empty{display:none}.odometer-photo:focus-within .odometer-camera{outline:3px solid #f59e0b;outline-offset:2px}
.mileage-reminders{margin-top:18px}.mileage-reminder{border-left-color:var(--brand)}.mileage-reminder>.icon:first-child{color:var(--brand);width:20px;height:20px}.mileage-reminder .qr-who{flex-wrap:wrap}
.onboarding-page .page-head .hint{margin-top:8px}.onboarding-page .eyebrow{display:block;margin:0 0 8px}.onboarding-page .card{margin-top:8px}.onboarding-skip{margin-top:12px}
.odometer-dialog .modal-body{overflow:auto}.odometer-image-wrap{position:relative;line-height:0;touch-action:none;user-select:none;margin-top:12px}.odometer-image-wrap img{display:block;width:100%;height:auto;pointer-events:none}.odometer-selection{position:absolute;border:2px solid #fff;background:#2dd4bf33;box-shadow:0 0 0 9999px #0004;pointer-events:none}.odometer-image-wrap{overflow:hidden;border-radius:10px}.odometer-dialog [data-crop-help]{margin-top:10px}
/* Tema claro: mismas pantallas y estados, con superficies claras. */
html[data-theme="light"]{color-scheme:light;--bg:#f2f6f5;--surface:#fff;--surface-2:#eaf2f0;--surface-3:#dceae7;--line:#d0dedb;--line-2:#b7cbc6;--ink:#173139;--ink-2:#354f55;--muted:#526b70;--brand:#087e70;--brand-d:#08675d;--brand-soft:rgba(8,126,112,.11);--on-brand:#fff;--ok:#176b43;--ok-bg:#e1f3e9;--warn:#855506;--warn-bg:#fff0cc;--bad:#bc1e29;--bad-text:#a61b23;--bad-bg:#fde8e8;--now:#855506;--neutral:#50666b;--neutral-bg:#e7efed}
html[data-theme="light"] select{color-scheme:light}html[data-theme="light"] select option{background:#fff;color:#173139}
html[data-theme="light"] .topbar,html[data-theme="light"] .tabbar,html[data-theme="light"] .sidebar{background:var(--surface)}
html[data-theme="light"] .brand-mark{color:#fff}html[data-theme="light"] .btn-primary{color:#251d0d}
html[data-theme="light"] .home-head::before,html[data-theme="light"] .page-head::before{background-image:linear-gradient(90deg,#f2f6f5 0%,#f2f6f5d9 42%,#f2f6f580 100%),url('/img/vehicle-accent.jpg');opacity:.38}
html[data-theme="light"] .vehicle-head,html[data-theme="light"] .auth-card{background-image:linear-gradient(90deg,#fffffff7 0%,#fffffff0 58%,#ffffffd0 100%),url('/img/vehicle-accent.jpg')}
html[data-theme="light"] .hs-ok{background:#e6f4eb;border-color:#a8d7bb}html[data-theme="light"] .hs-warn,html[data-theme="light"] .hs-now,html[data-theme="light"] .rb-warn{background:#fff4db;border-color:#dfc486}html[data-theme="light"] .hs-bad,html[data-theme="light"] .rb-bad{background:#fff0ef;border-color:#e6b5b3}
html[data-theme="light"] .status-days.is-bad,html[data-theme="light"] .mt-lines li.is-bad,html[data-theme="light"] .file-name.is-error,html[data-theme="light"] .btn-danger,html[data-theme="light"] .alert-bad{color:#a61b23}
html[data-theme="light"] .chip-bad{background:#b9212a;color:#fff}html[data-theme="light"] .chip-bad .icon{color:#fff}html[data-theme="light"] .chip-now{background:#f3cd70;color:#322408}
html[data-theme="light"] .status-days.is-now,html[data-theme="light"] .status-days.is-warn{color:#855506}
html[data-theme="light"] .offline-row .offline-remove{background:#e2eeeb;color:#173139}
html[data-theme="light"] .google-signin{color:#1f1f1f}
/* La portada fotográfica mantiene texto claro sobre la imagen. */
html[data-theme="light"] body.land{--ink:#eef2f7;--ink-2:#d2dfdf;--muted:#b8c7ca;--brand-d:#8fe5d4;color:#eef2f7}
html[data-theme="light"] .rb-ok{background:#e6f4eb;border-color:#a8d7bb}
.searchable-select{position:relative;min-width:0}.searchable-select input[type=search]{width:100%;padding-right:2.2rem}.searchable-select:after{content:'⌄';position:absolute;right:14px;top:10px;color:var(--muted);pointer-events:none}.searchable-options{position:relative;z-index:3;max-height:200px;overflow:auto;margin-top:5px;background:var(--surface);border:1px solid var(--line-2);border-radius:12px;box-shadow:0 12px 24px #0003}.searchable-option,.searchable-empty{padding:10px 12px;font-size:.94rem;line-height:1.35}.searchable-option{cursor:pointer;color:var(--ink);min-height:44px}.searchable-option:hover,.searchable-option[aria-selected=true]{background:var(--brand-soft);color:var(--brand-d)}.searchable-empty{color:var(--muted)}
/* Portada y acceso conservan el acento turquesa de su diseño original. */
.land-cta .btn-primary,.auth-shell .btn-primary,html[data-theme="light"] .auth-shell .btn-primary{background:#2bd5bb;border-color:#2bd5bb;color:#062b30}
.land-cta .btn-primary:hover,.auth-shell .btn-primary:hover,html[data-theme="light"] .auth-shell .btn-primary:hover{background:#50dfc8;color:#062b30}
/* Acceso centrado y compacto, con la imagen como ambiente detrás del formulario. */
.auth-shell{min-height:100dvh;display:grid;grid-template-columns:1fr;grid-template-rows:64px 1fr;background:linear-gradient(125deg,#061720db,#071923db),url('/img/suv-sunset.jpg') center/cover fixed no-repeat}
.auth-photo{height:64px;min-height:0;background:transparent;border-bottom:1px solid #ffffff1c}.auth-photo::before{display:none}.auth-photo .brand{top:14px;left:18px;color:#fff;text-shadow:none}.auth-photo .brand b{color:#2bd5bb}
.auth-panel{width:100%;justify-content:center;align-items:center;padding:18px 16px 28px}
.auth-card,html[data-theme="light"] .auth-card{width:100%;max-width:440px;margin:0;padding:24px;background:var(--surface);background-image:none;border:1px solid var(--line-2);border-radius:20px;box-shadow:0 18px 50px #0005}
.auth-card h1{font-size:1.55rem;line-height:1.16}.auth-card .lead{margin:7px 0 17px;color:var(--muted)}.auth-card .field{margin-bottom:13px}.auth-card .divider{margin:13px 0}.auth-card .auth-foot{margin-top:15px}
.auth-shell .google-btn{background:#fff;color:#1f1f1f;border-color:#dadce0}.auth-shell .google-btn:hover{background:#f4f6f5;color:#1f1f1f}
@media(min-width:900px){.auth-shell{grid-template-columns:1fr;grid-template-rows:72px 1fr}.auth-photo{height:72px;min-height:0}.auth-photo .brand{top:18px;left:30px}.auth-panel{padding:24px}}
@media(max-width:380px){.auth-panel{padding:12px 12px 20px}.auth-card{padding:19px}.auth-card h1{font-size:1.4rem}}
html[data-theme="light"] .land-cta .btn-primary{background:#2bd5bb;border-color:#2bd5bb;color:#062b30}
.lookup-box{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.lookup-box .lookup-button{align-self:flex-start}.lookup-box [data-lookup-status]:not(:empty){margin:3px 0;font-size:.86rem;color:var(--ink-2)}.lookup-box [data-lookup-result]{padding:10px 0 0;border-top:1px solid var(--line)}.lookup-box [data-lookup-result] strong{overflow-wrap:anywhere}.lookup-box [data-lookup-result] p{margin:5px 0 10px}
.inspection-lookup{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.inspection-lookup>button{align-self:flex-start;white-space:normal;text-align:left}.inspection-lookup [data-inspection-status]:not(:empty){font-size:.86rem;color:var(--ink-2)}.inspection-lookup [data-inspection-result]{padding-top:8px;border-top:1px solid var(--line)}.inspection-lookup [data-inspection-result] p{margin:5px 0 8px}
.vehicle-docs-section{margin-top:28px}.vehicle-docs-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.vehicle-docs-heading h2{display:flex;align-items:center;gap:8px;margin:0}.vehicle-docs-controls{display:flex;align-items:center;gap:7px}.vehicle-docs-controls button{width:44px;min-width:44px;min-height:44px;padding:0}.vehicle-docs-controls span{color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap}.vehicle-docs-hint{color:var(--muted);font-size:.8rem;margin:4px 0 10px}.vehicle-docs-track{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 1px;padding:2px 1px 14px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.vehicle-doc-card{flex:0 0 min(88%,460px);min-width:0;scroll-snap-align:start;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px}.vehicle-docs-track.is-single .vehicle-doc-card{flex-basis:100%;max-width:none}.vehicle-doc-card>.group-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px}.vehicle-doc-card>.group-title>.icon{color:var(--brand)}.vehicle-doc-card>.group-title h3{font-size:1rem;margin:0;overflow-wrap:anywhere}.vehicle-doc-card .vehicle-doc-link{margin-left:auto;white-space:nowrap;font-size:.82rem}.vehicle-doc-card .doc-list .empty{background:var(--surface-2);padding:14px}.vehicle-doc-card .expected-compact{background:var(--surface-2)}@media(max-width:350px){.vehicle-doc-card{flex-basis:94%;padding:13px}.vehicle-doc-card .vehicle-doc-link{flex-basis:100%;margin-left:28px}}
.initial-scan{margin:0 0 14px;padding:13px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface-2)}.initial-scan-heading{display:flex;align-items:center;gap:8px;font-size:.9rem}.initial-scan-heading>.icon{color:var(--brand);width:18px;height:18px}.initial-scan-heading strong{flex:1}.initial-scan-heading .btn{min-height:36px;font-size:.78rem}.initial-scan-status,.initial-scan-note{margin:7px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}.initial-scan-result{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.initial-scan-result strong,.initial-scan-result>span,.initial-scan-result small{flex-basis:100%;overflow-wrap:anywhere}.initial-scan-result>span{font-size:.85rem}.initial-scan-result small{color:var(--muted)}.initial-scan-result .btn{margin-top:6px;min-height:40px}
.scan-other{margin-top:8px;border-top:1px solid var(--line);padding-top:4px}.scan-other summary{min-height:38px;display:flex;align-items:center;cursor:pointer;color:var(--brand-d);font-weight:700;font-size:.82rem}.scan-other summary:after{content:'+';margin-left:auto}.scan-other[open] summary:after{content:'−'}.scan-other .hint{margin:3px 0 8px}.scan-other>a{display:flex;gap:6px;align-items:center;padding:7px 0;font-size:.82rem}.scan-other>a .icon{width:15px;height:15px}
.vehicle-optional{border:1px solid var(--line);border-radius:14px;padding:2px 14px;background:var(--surface-2)}.vehicle-optional>summary{min-height:46px;display:flex;align-items:center;gap:8px}.vehicle-optional>summary:after{content:'+';margin-left:auto;font-size:1.15rem}.vehicle-optional[open]>summary:after{content:'−'}.vehicle-optional>.form-grid{padding:8px 0 2px}.vehicle-head+.subnav{margin-bottom:14px}
/* Ficha de vehículo: una sección visible a la vez, con navegación compacta. */
.vehicle-sections{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px;scrollbar-width:thin}.vehicle-sections a{flex:none;min-height:44px}.vehicle-sections a[aria-current="page"]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-d)}
.vehicle-list-title{display:flex;align-items:center;gap:9px}.vehicle-list-title .count{flex:none}.vehicle-list-head{margin-bottom:14px}#vehicle-list>.search{margin-top:4px}.vehicle-row .v-badge{width:42px;height:42px;margin:10px 0 10px 12px;border-radius:12px}.vehicle-row .v-badge .icon{width:23px;height:23px}.vehicle-row .v-photo{width:68px;min-height:68px}.vehicle-row .v-body{padding:10px 12px;gap:3px}.vehicle-row .v-body strong{font-size:.95rem}.vehicle-row .v-meta{font-size:.8rem}.vehicle-row .v-chips{gap:4px}.vehicle-row .v-chips .chip{font-size:.72rem}.vehicle-row>.icon{margin-right:8px}
.vehicle-section-picker{margin:14px 0 18px;max-width:100%}.vehicle-section-picker select{width:100%;min-height:48px;padding:10px 42px 10px 15px;background-color:var(--surface-2);border:1px solid var(--line-2);border-radius:14px;font-weight:700;color:var(--ink);text-overflow:ellipsis}
/* Lectura compacta: cámara visible junto al dato, sin perder accesibilidad. */
@media(max-width:639px){.vehicle-head{padding:10px 12px;gap:8px}.vehicle-head .vehicle-head-main{gap:10px}.vehicle-head .v-body{padding:0}.vehicle-head .v-badge,.vehicle-head .v-photo-lg{width:42px;height:42px;border-radius:12px}.vehicle-head h1{font-size:1.05rem}.vehicle-section-picker{margin:10px 0 12px}.back{margin-bottom:8px}}
.vehicle-section-picker:not([hidden])~#distance>.section-head{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
.mileage-form{padding:15px}.mileage-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:end}.mileage-grid .field{margin:0;min-width:0}.mileage-reading{grid-column:1/-1}.mileage-input-row{display:flex;align-items:stretch;gap:8px;min-width:0}.mileage-input-row>input[type=number]{flex:1;min-width:0}.mileage-input-row .odometer-camera{display:inline-flex;justify-content:center;align-items:center;gap:6px;flex:none;min-height:46px;padding:8px 14px;border-radius:12px;background:#2bd5bb;color:#062b30;font-weight:800;cursor:pointer}.mileage-input-row .odometer-camera .icon{width:19px;height:19px}.mileage-input-row input[type=file]:focus-visible+.odometer-camera{outline:3px solid #f2c65e;outline-offset:2px}.mileage-save{min-width:100px;min-height:46px}.mileage-form [data-odometer-status]:not(:empty){margin:10px 0;color:var(--ink-2);font-size:.85rem}.mileage-form .check{margin-top:12px}.mileage-form .history-list{margin-top:8px}@media(max-width:340px){.mileage-input-row .odometer-camera{padding:8px 10px}.mileage-save{min-width:80px}}
/* Secciones del vehículo en una fila, con botones de icono accesibles. */
.vehicle-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;overflow:visible;padding:0;margin:12px 0 14px}.vehicle-sections a{min-width:0;min-height:46px;padding:8px;justify-content:center;border-radius:13px}.vehicle-sections a .icon{width:21px;height:21px}.vehicle-sections a[aria-current="page"]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-d)}
/* Controles coherentes en ventanas pequeñas y con teclado visible. */
.document-type-field>input:not([hidden]){margin-top:8px}.modal{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.modal-head{min-width:0}.modal-head h2{min-width:0;overflow-wrap:anywhere}.modal-foot{flex-wrap:wrap}.modal-foot .btn{min-width:0;white-space:normal;text-align:center}.modal-body{overscroll-behavior:contain}.searchable-option,.searchable-empty{overflow-wrap:anywhere}.doc-main,.vehicle-doc-card,.modal-body .field{min-width:0}

/* Inicio: resumen compacto del garage, sin desplazar las alertas prioritarias. */
.home-garage{margin:20px 0 0;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.home-garage-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.home-garage-kicker{color:var(--brand-d);font-size:.68rem;letter-spacing:.13em;font-weight:800}.home-garage-head h2{font-size:1.15rem;margin:2px 0 0}.home-garage-head>a{display:flex;align-items:center;gap:2px;flex:none;color:var(--brand-d);font-size:.83rem;font-weight:700;text-decoration:none;min-height:44px}.home-garage-head>a .icon{width:16px;height:16px}
.home-garage-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.home-garage-stats>a{display:flex;align-items:center;gap:9px;min-width:0;min-height:66px;padding:10px;border-radius:14px;background:var(--surface-2);color:var(--ink);text-decoration:none}.home-stat-icon{display:grid;place-items:center;width:38px;height:38px;flex:none;border-radius:11px;background:var(--brand-soft);color:var(--brand-d)}.home-stat-icon .icon{width:19px;height:19px}.home-garage-stats>a>span:nth-child(2){min-width:0;flex:1}.home-garage-stats strong,.home-garage-stats small{display:block;line-height:1.2}.home-garage-stats strong{font-size:1.15rem}.home-garage-stats small{color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.home-garage-stats>a>.icon{width:16px;height:16px;flex:none;color:var(--muted)}
.home-garage-list{margin-top:10px}.home-garage-list>a{display:flex;align-items:center;gap:9px;min-height:51px;padding:8px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.home-vehicle-name{display:flex;align-items:baseline;gap:7px;min-width:0;flex:1}.home-vehicle-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.home-vehicle-name small{color:var(--muted);flex:none}.home-garage-list .plate{flex:none;font-size:.75rem}.home-garage-list>a>.icon{width:16px;height:16px;flex:none;color:var(--muted)}.home-document-action{display:flex;align-items:center;gap:8px;min-height:46px;margin-top:10px;color:var(--brand-d);font-weight:700;font-size:.88rem;text-decoration:none}.home-document-action .icon{width:19px;height:19px}.home-document-action .icon:last-child{margin-left:auto;color:var(--muted)}
@media(max-width:340px){.home-garage{padding:13px}.home-garage-stats>a{gap:6px;padding:8px}.home-garage-stats>a>.icon{display:none}.home-garage-list .plate{font-size:.68rem;padding:1px 4px}}

/* Fiscalización: vehículo identificado una vez y documentos visibles primero. */
.wallet-vehicle-summary{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;margin:10px 0 2px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.wallet-vehicle-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:var(--brand-soft);color:var(--brand-d)}.wallet-vehicle-icon .icon{width:20px;height:20px}.wallet-vehicle-summary>div{min-width:0;flex:1}.wallet-vehicle-summary strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem}.wallet-vehicle-summary div span{display:block;color:var(--muted);font-size:.78rem}.wallet-vehicle-summary .plate{flex:none;font-size:.75rem}.wallet-page .doc-card{padding:10px 12px;gap:8px 10px}.wallet-page .doc-card .row-icon{width:34px;height:34px}.wallet-page .doc-main strong{font-size:.95rem}.wallet-page .doc-meta{font-size:.8rem}.wallet-page .doc-actions{margin-top:0}.wallet-page .doc-actions .btn{min-height:42px}.wallet-empty{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px dashed var(--line-2);border-radius:14px;color:var(--muted);font-size:.85rem}.wallet-empty>.icon{width:19px;height:19px;flex:none;color:var(--brand-d)}.wallet-empty span{flex:1}.wallet-empty a{color:var(--brand-d);font-weight:700;text-decoration:none;min-height:44px;display:flex;align-items:center}.wallet-page .group-title{margin:14px 0 8px}
@media(max-width:340px){.wallet-vehicle-summary .plate{font-size:.65rem;padding:1px 4px}.wallet-empty{flex-wrap:wrap}.wallet-empty a{margin-left:28px}}

/* Tarjetas de fiscalización: información y acción en una sola fila. */
.wallet-page .doc-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px 10px}
.wallet-page .doc-card .doc-main{min-width:0}.wallet-page .doc-card .doc-main strong{overflow-wrap:anywhere;line-height:1.2}.wallet-page .doc-card .doc-meta{line-height:1.3}.wallet-page .doc-card .status{margin-top:3px}.wallet-page .doc-card .doc-actions{display:flex;align-items:center;min-width:0;margin:0}.wallet-page .doc-card .doc-actions .btn{width:auto;min-width:44px;min-height:44px;flex:none;padding:0 10px;font-size:.8rem}.wallet-page .doc-card .doc-actions .btn .icon{width:17px;height:17px}.wallet-page .doc-card .doc-actions>.doc-meta{max-width:92px;overflow-wrap:anywhere;text-align:right;font-size:.75rem}
@media(max-width:360px){.wallet-page .doc-card{grid-template-columns:28px minmax(0,1fr) auto;gap:7px}.wallet-page .doc-card .row-icon{width:28px;height:28px}.wallet-page .doc-card .doc-actions .btn{padding:0 7px;font-size:.75rem}.wallet-page .doc-card .doc-main strong{font-size:.87rem}}
.billing-access-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;margin-bottom:12px;border:1px solid currentColor;border-radius:12px;font-size:.9rem;min-height:44px}.billing-access-link{display:inline-flex;align-items:center;min-height:44px}
@media(pointer:coarse){:is(.btn,.pill,.avatar,.back,.vehicle-sections>a){min-height:44px!important;min-width:44px!important}}
.mp-secure-field{min-height:48px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px}.mp-secure-field iframe{width:100%;min-height:26px;border:0}

/* Rodadocs: símbolo propio, conservando dimensiones y controles existentes. */
.brand .brand-mark{flex:none;padding:0;background:transparent;box-shadow:none}
.brand .brand-symbol{display:block;width:100%;height:100%;object-fit:contain}
.brand-wordmark{white-space:nowrap;line-height:1.1}

/* Fondo sutil de vehículo en pantallas de resumen (decorativo; las tarjetas conservan su fondo sólido). */
.app-ui.bg-car .content{position:relative;isolation:isolate}
.app-ui.bg-car .content::before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--bg) 0%,rgba(7,12,18,.55) 45%,var(--bg) 100%),url('/img/vehicle-bg.jpg') center 70%/cover no-repeat;opacity:.16}
@media(min-width:900px){.app-ui.bg-car .content::before{inset:0 0 0 var(--side);background-position:center 60%}}
html[data-theme="light"] .app-ui.bg-car .content::before{background:linear-gradient(180deg,var(--bg) 0%,rgba(242,246,245,.5) 45%,var(--bg) 100%),url('/img/vehicle-bg.jpg') center 70%/cover no-repeat;opacity:.1}
@media(prefers-reduced-data:reduce){.app-ui.bg-car .content::before{display:none}}
/* Resumen del garage: el texto no se parte a media palabra. */
.home-garage-stats small{overflow-wrap:normal;word-break:normal}.home-garage-stats>a>.icon:last-child{display:none}
/* Enlaces y resúmenes con zona táctil cómoda. */
.app-ui .group-title .link{display:inline-flex;align-items:center;min-height:44px}
.app-ui details>summary{min-height:44px}

/* Filtros de flota: las etiquetas de estado son enlaces con zona táctil cómoda. */
a.chip{text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.fleet-chips a.chip[aria-current="true"]{outline:2px solid var(--ink);outline-offset:2px}
.fleet-chips .chip-clear{background:transparent;border:1px solid var(--line-2);color:var(--ink-2)}
@media(pointer:coarse){a.chip{min-height:44px}}

/* Documentos con flotas: selector de vehículo. */
.vehicle-picker{display:grid;gap:8px;margin:0 0 14px}.vehicle-picker label{font-weight:700}.vehicle-picker-row{display:flex;gap:8px}.vehicle-picker-row select{flex:1;min-width:0;min-height:48px}.vehicle-picker .pill{justify-self:start}

/* Documentos rediseñado: pestañas, selector de vehículo y resumen de una línea */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.seg-item{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;color:var(--ink-2);font-weight:700;text-decoration:none}
.seg-item.is-active{background:var(--brand);color:var(--on-brand)}
.seg-item:focus-visible,.pill:focus-visible{outline:3px solid var(--brand-d);outline-offset:2px}
.pill.is-active{background:var(--brand);color:var(--on-brand);border-color:transparent}
.doc-summary-line{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.vehicle-picker select{width:100%}
.initial-scan{padding:10px 12px;margin-bottom:10px}

/* Filas de documentos compactas: 2 líneas (nombre / estado y fecha) y acciones en iconos. */
.docs-compact{display:grid;gap:8px}
.docs-compact .doc-card{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:10px 12px}
.docs-compact .doc-card .row-icon{width:36px;height:36px}
.docs-compact .doc-main{flex:none;min-width:0;gap:2px}
.docs-compact .doc-main strong{font-size:1rem;line-height:1.2}
.docs-compact .doc-open{color:inherit;text-decoration:none}
.docs-compact .doc-open:hover{text-decoration:underline}
.docs-compact .doc-line{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px}
.docs-compact .doc-line .status{gap:2px 8px}
.docs-compact .doc-actions{display:flex;flex-wrap:nowrap;width:auto;gap:6px;margin:0;flex-basis:auto}
.docs-compact .doc-actions .btn{width:auto;flex:none;min-width:44px;min-height:44px;padding:0 10px;justify-content:center}
.docs-compact .doc-actions .lbl{display:none}
.docs-compact .doc-card dialog.modal{grid-column:1/-1}
@media(min-width:640px){.docs-compact .doc-actions .lbl{display:inline}.docs-compact .doc-actions .btn{padding:0 14px}}
@media(max-width:639px){
.docs-compact .doc-card{grid-template-columns:minmax(0,1fr) auto;padding:8px 10px}
.docs-compact .doc-card .row-icon{display:none}
.docs-compact .doc-actions .btn{min-width:42px;min-height:42px;padding:0 8px}
.docs-compact .doc-line .chip{padding:2px 8px;font-size:.78rem}
.doc-summary-line{gap:6px;margin:2px 0 8px}.doc-summary-line .chip{padding:2px 8px;font-size:.78rem}
.initial-scan{padding:8px 10px;margin-bottom:8px}.initial-scan-heading{margin:0}.initial-scan-status{margin:2px 0}
}
@media(max-width:639px){.docs-compact .status-days{display:none}.docs-compact .doc-line{flex-wrap:nowrap;gap:8px}.docs-compact .doc-line .doc-meta{white-space:nowrap}.expected-compact>summary{min-height:44px;padding-block:6px}}
@media(max-width:639px){.docs-compact .doc-line{flex-wrap:wrap}.docs-compact .doc-main{overflow:hidden}.docs-compact .doc-line .status+.doc-meta:not(time){display:none}}
/* Bloque superior de Documentos más bajo: revisión en línea en una fila y resumen en una línea */
.initial-scan{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}
.initial-scan-heading{flex:0 0 auto}.initial-scan-status{flex:1 1 140px;margin:0;font-size:.85rem}
.initial-scan-result{flex:1 1 100%}
.initial-scan .scan-other{flex:1 1 100%}.initial-scan .scan-other>summary{min-height:36px;font-size:.85rem;color:var(--muted)}
.doc-summary-line{gap:4px 6px}
@media(max-width:639px){.doc-summary-line .chip{padding:1px 6px;font-size:.74rem;gap:3px}.doc-summary-line .icon{width:13px;height:13px}}
@media(max-width:639px){
.initial-scan-status{flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.initial-scan .scan-other{border:0;margin:0;padding:0}
.vehicle-doc-card{padding:12px}.vehicle-doc-card .group-title{margin-bottom:8px}
.doc-summary-line .chip{padding:1px 5px;font-size:.72rem}
}

/* Consulta de revisión técnica como una fila más de la lista */
.scan-row{border-style:dashed}
.scan-row .doc-line{align-items:center}
.scan-other{margin-top:10px}.scan-other>.link{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin-right:12px}

/* Detalle del vehículo: pestañas con texto visible y estado de documentos con días y fecha */
.vehicle-sections a{flex-direction:column;gap:2px;padding:6px 4px;line-height:1.1}.vehicle-sections .vs-label{font-size:.72rem;font-weight:600;letter-spacing:0}
.doc-summary .ds-row{align-items:center;gap:4px 10px}.doc-summary .ds-state{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 8px}

/* Logo de marca en miniatura: un solo tono, apagado, sin competir con los estados */
.brand-logo{display:inline-block;flex:none;width:20px;height:20px;vertical-align:-4px;background:currentColor;opacity:.6;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}
.v-badge .brand-logo{width:28px;height:28px;opacity:.75;vertical-align:baseline}
.vehicle-head .v-badge .brand-logo{width:26px;height:26px}
.group-title .brand-logo{width:22px;height:22px;color:var(--brand)}
.km-sub .brand-logo{width:16px;height:16px;opacity:.55;vertical-align:-3px}
.v-badge:has(.brand-logo){background:#fff;box-shadow:inset 0 0 0 1px rgba(15,23,32,.08)}
.v-badge:has(.brand-logo) .brand-logo{color:#17212b;opacity:.9}
/* Formularios de documentos: pasos numerados y botones que se ven como botones */
.steps{counter-reset:step;display:grid;gap:18px}
.steps .field,.steps .check{margin:0}
.steps .step>label:first-child{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;margin-bottom:8px}
.steps .step>label:first-child::before{counter-increment:step;content:counter(step);display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--on-brand);font-size:.85rem;font-weight:800}
.steps .step>label:first-child span{font-weight:500;color:var(--muted);font-size:.85rem}
.steps .file-actions .btn{min-height:56px;flex-direction:column;gap:4px;border:1.5px solid var(--brand);background:var(--brand-soft);color:var(--ink);font-weight:700;border-radius:14px}
.steps .file-actions .btn .icon{width:22px;height:22px;color:var(--brand-d)}
.steps .file-actions .btn:active{background:rgba(45,212,191,.25)}
.steps .file-name{display:block;margin-top:8px;padding:9px 12px;border:1px dashed var(--line-2);border-radius:12px;text-align:center;color:var(--muted)}
.steps .file-name.is-chosen{border:1px solid var(--ok,#34d399);border-style:solid;background:rgba(52,211,153,.12);color:var(--ink);font-weight:700}
.steps .file-name.is-chosen::before{content:"✓ ";color:var(--ok,#34d399);font-weight:800}
.steps select,.steps input[type=date],.steps input:not([type=checkbox]):not([type=file]){border-width:1.5px;border-color:var(--line-2);min-height:52px}
.steps .check{padding:13px 14px;border:1.5px solid var(--line-2);border-radius:14px;background:var(--surface-2);cursor:pointer;align-items:center;margin:0}
.steps .check input{width:22px;height:22px;margin:0}
.steps .check:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}
.steps input[type=date]:disabled{opacity:.45}
.modal-foot .btn-primary{flex:1;min-height:52px;font-weight:800}
.modal-foot .btn-ghost{min-height:52px;border:1.5px solid var(--line-2)}
/* Logo de marca en casilla blanca también fuera de la lista y el detalle */
.brand-tile{display:inline-grid;place-items:center;flex:none;background:#fff;border-radius:9px;box-shadow:inset 0 0 0 1px rgba(15,23,32,.08)}
.brand-tile .brand-logo{color:#17212b;opacity:.9;vertical-align:baseline}
.group-title .brand-tile{width:32px;height:32px}.group-title .brand-tile .brand-logo{width:22px;height:22px}
.km-sub .brand-tile{width:22px;height:22px;border-radius:7px;vertical-align:-6px}.km-sub .brand-tile .brand-logo{width:15px;height:15px;opacity:.9}
.v-badge .brand-tile{width:auto;height:auto;background:none;box-shadow:none;border-radius:0}

/* Acción principal = turquesa de la marca. El ámbar queda solo para "vence pronto" y advertencias. */
.btn-primary,.vehicle-list-head>.add-vehicle-icon,.vehicle-list-head>.add-vehicle-icon:active{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.btn-primary:hover,.vehicle-list-head>.add-vehicle-icon:hover{background:var(--brand-d);border-color:var(--brand-d);color:var(--on-brand)}
.btn-primary:active{background:var(--brand);filter:brightness(.92)}
.btn-primary:focus-visible,.vehicle-list-head>.add-vehicle-icon:focus-visible{outline-color:var(--brand-d)}
html[data-theme="light"] .btn-primary,html[data-theme="light"] .btn-primary:hover,html[data-theme="light"] .vehicle-list-head>.add-vehicle-icon{color:#fff}
.land-cta .btn-primary,.auth-shell .btn-primary,html[data-theme="light"] .land-cta .btn-primary,html[data-theme="light"] .auth-shell .btn-primary{background:#2bd5bb;border-color:#2bd5bb;color:#062b30}

/* Semántica: registrar = turquesa (.btn-primary), editar = ámbar (.btn-edit), eliminar = rojo (.btn-danger). */
.btn-edit{background:#f1ce60;border-color:#f1ce60;color:#25200e}
.btn-edit:hover{background:#f6dc86;border-color:#f6dc86;color:#25200e}
.btn-edit:active{background:#dfb94c;border-color:#dfb94c}
.btn-edit:focus-visible{outline-color:#f1d493}
html[data-theme="light"] .btn-edit{background:#e8b93f;border-color:#e8b93f;color:#2a1f05}
html[data-theme="light"] .btn-edit:hover{background:#f0c85c;border-color:#f0c85c;color:#2a1f05}
.btn-danger,html[data-theme="light"] .btn-danger{background:#d93a3a;border-color:#d93a3a;color:#fff}
.btn-danger:hover,html[data-theme="light"] .btn-danger:hover{background:#c22d2d;border-color:#c22d2d;color:#fff}
.btn-danger:focus-visible{outline-color:#ff9d9d}

/* Selector Vehículos / Conductor: navegación en pestañas con subrayado (sin relleno de color de acción). */
.seg{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;gap:0}
.seg-item{border-radius:0;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted);font-weight:700;background:transparent}
.seg-item .icon{color:var(--muted)}
.seg-item:hover{color:var(--ink);background:rgba(148,163,184,.08)}
.seg-item.is-active,.seg-item.is-active:hover{background:transparent;color:var(--ink);border-bottom-color:var(--ink);box-shadow:none}
.seg-item.is-active .icon{color:var(--ink)}
.seg-item:focus-visible{outline:3px solid var(--ink-2);outline-offset:-3px;border-radius:8px}

/* Aviso: la copia no reemplaza el documento físico */
.physical-notice{display:flex;gap:12px;align-items:flex-start;margin:0 0 16px;padding:12px 14px;border:1px solid var(--warn);border-radius:14px;background:var(--warn-bg);color:var(--ink)}
.physical-notice>svg{flex:0 0 22px;width:22px;height:22px;color:var(--warn);margin-top:2px}
.physical-notice strong{display:block;font-size:.95rem}
.physical-notice span{display:block;font-size:.88rem;line-height:1.4;margin-top:2px}
.viewer-note{margin:0;padding:10px 14px;font-size:.85rem;text-align:center;background:var(--warn-bg);color:var(--ink);border-top:1px solid var(--warn)}

/* Documentos: «Renovar» con texto visible en móvil; Fiscalización aclarada; bloque de kilometraje con título */
.docs-compact .doc-actions .btn-renew .lbl{display:inline}
.docs-compact .doc-actions .btn-renew{padding:0 12px;gap:6px}
.wallet-lead{margin:-4px 0 14px;font-size:.9rem;line-height:1.4;color:var(--muted,#9db3bd)}
.km-eyebrow{margin-top:22px}
@media(max-width:639px){.docs-compact .doc-card:has(.btn-renew){display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 10px}.docs-compact .doc-card:has(.btn-renew) .row-icon{flex:0 0 36px}.docs-compact .doc-card:has(.btn-renew) .doc-main{flex:1 1 0;min-width:0}.docs-compact .doc-card:has(.btn-renew) .doc-actions{flex:1 1 100%;width:100%;justify-content:stretch}.docs-compact .doc-card:has(.btn-renew) .doc-actions .btn-renew{flex:1}}

/* Crítica UX 4-9: mantención separada del aro, documento más urgente en la lista */
.health-maint{display:flex;margin-top:8px;padding-top:8px;border-top:1px solid var(--line,rgba(255,255,255,.12))}
.v-worst{font-size:.8rem;margin-left:4px}
/* Perfil: «Eliminar mis datos» conserva texto blanco legible sobre el rojo */
.profile-logout .btn.btn-danger{color:#fff}
/* Portada: textos de la tarjeta legibles en celular (mínimo ~11px) y subtítulo sobre la foto */
@media(max-width:859px){
  .float-cards{height:172px;max-width:340px}
  .fc-l,.fc-r{height:64px;padding:8px 10px}
  .fc-l strong,.fc-r strong{font-size:.75rem;line-height:1.15}
  .fc-c{top:58px}
  .fc-top{font-size:.7rem;padding:6px 12px;letter-spacing:.12em}
  .fc-body{padding:8px 12px}
  .fc-body small{font-size:.68rem;letter-spacing:.1em}
  .fc-body strong{font-size:.95rem}
  .fc-body span{font-size:.75rem}
}
.land-hero .lp-sub{color:#f1f5f9;text-shadow:0 1px 3px rgba(0,0,0,.7),0 2px 14px rgba(0,0,0,.6)}

/* Escala visual unificada (ux-scale-v1): un solo tamaño de título de página */
main .page-head h1,main .profile-heading h1,main .vehicle-list-title h1,main .home-head h1,main .wallet-page h1,main .billing-page h1,main .billing-page .page-head h1{font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;font-weight:800}
