:root{font-family:Inter,'Segoe UI',sans-serif;color:#22201d;background:#f8f4ed;--gold:#caa15b;--muted:#77746f}*{box-sizing:border-box}body{margin:0}input,button,select{font:inherit}button,a,input,select,summary{outline-offset:4px}a{color:#825b1f}button{cursor:pointer}button:disabled{cursor:wait}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3.4vw,48px);line-height:1.12;letter-spacing:-1.5px}h2{font-size:29px;letter-spacing:-.8px}h3{font-size:18px}.access-layout{min-height:100svh;display:grid;grid-template-columns:55% 45%}.hero{background:#121212;color:#f8f5ee;position:relative;padding:45px 7% 30px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.brand{width:90px;height:150px;position:absolute;top:30px;left:38px}.hero h1{padding-left:116px;font-size:clamp(30px,3.8vw,62px);letter-spacing:-1.7px;margin:45px 0 24px}.hero h1 span{color:#dfbd77;font-size:1.28em}.motto{font-size:clamp(15px,1.7vw,24px);line-height:1.45;margin-bottom:30px;color:#efebe4}.fleet{width:calc(100% + 70px);margin-left:-35px;display:block;margin-top:6px}.hero-features{display:flex;gap:18px;justify-content:space-between;margin-top:20px;font-size:12px;color:#ded5c4}.hero-features span+span{border-left:1px solid #9f7b41;padding-left:18px}.login-section{display:flex;align-items:center;justify-content:center;padding:70px 10%;background:radial-gradient(at top,#fffdf9,#f4ecdf)}.login-box{max-width:430px;width:100%}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#8d744b;margin-bottom:17px}.login-box h2{font-size:clamp(26px,2.8vw,37px);line-height:1.15;margin-bottom:14px}.muted{color:var(--muted);font-size:14px;line-height:1.65}.login-box>.muted{margin-bottom:35px}label{display:block;font-size:13px;font-weight:600;margin:20px 0 9px}input:not([type=checkbox]):not([type=hidden]),select{width:100%;height:49px;border:1px solid #d2c9bb;border-radius:8px;padding:0 14px;color:#242220;background:#ffffff70;font-size:14px;min-width:0}input:focus,select:focus{outline:2px solid #b8914e;border-color:#b8914e}input::placeholder{color:#a3a09b}.password-field{position:relative}.password-field input{padding-right:72px!important}.show-password{position:absolute;right:8px;top:9px;height:30px;border:0;background:transparent;font-size:12px;color:#82622e}.login-options{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:21px 0 27px}.check{display:flex;gap:8px;align-items:center;margin:0;font-size:12px;color:#706c65;font-weight:400}.check input{width:16px;height:16px;accent-color:#a67b36}.text-button{background:none;border:0;padding:0;font-size:12px;color:#8b601e;text-decoration:underline;text-underline-offset:3px}.primary{border:1px solid #bd944c;background:linear-gradient(115deg,#f1d28e,#bc8d40);color:#1c180f;display:flex;align-items:center;justify-content:center;gap:28px;width:100%;padding:15px 20px;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none;min-height:49px}.primary:hover{filter:brightness(1.05)}.primary span{font-size:22px;line-height:1}.role-hint{font-size:11px;line-height:1.65;text-align:center;color:#8a8173;margin:18px 0 27px}.help{text-align:center;font-size:12px;line-height:2;color:#77716a}.help button{font-weight:600}footer{text-align:center;color:#979086;font-size:11px;margin-top:36px}.notice{font-size:13px;padding:14px 16px;border:1px solid #bbd5b5;background:#eff5eb;color:#395535;border-radius:8px;line-height:1.6}.notice.error{color:#853e32;background:#fff2ed;border-color:#e4c4b6}.single{min-height:100svh;display:grid;place-items:center;padding:40px 20px;background:#191817}.single .card{width:100%;max-width:500px}.single h1{font-size:32px}.card{background:#fffdf8;border:1px solid #e4daca;border-radius:15px;padding:30px;box-shadow:0 8px 28px #34290d05}.field-note{font-size:12px;line-height:1.65;color:#938575;margin:10px 0}.spaced{margin-top:22px}.back-link{display:block;margin-top:22px;font-size:13px}.app-header{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#181817;padding:20px max(5%,20px);color:#e5c17c}.wordmark{color:#e5c17c;text-decoration:none;font-weight:600;font-size:17px}.header-actions{display:flex;gap:20px;align-items:center}.badge{display:inline-block;padding:6px 10px;border-radius:20px;background:#f3e4c6;color:#7a5721;font-size:11px;font-weight:600}.badge.inactive{background:#eeeae4;color:#777}.workspace{max-width:1200px;margin:0 auto;padding:45px 24px}.workspace>h1{font-size:35px}.workspace>.muted{margin-bottom:30px}.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px}.panel-grid h2{font-size:24px;margin-top:20px}.secondary{display:inline-block;min-height:39px;padding:10px 16px;border:1px solid #cbb98e;background:#fffaf0;border-radius:7px;font-size:12px;color:#755626;text-decoration:none}.app-header .secondary{background:transparent;color:#e5c17c;border-color:#74603d}.create-form{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}.create-form .field-note,.create-form>.primary{grid-column:1/-1}.create-form>.primary{width:max-content;margin-top:10px}.section-title{margin-top:36px;font-size:23px}.user-list{display:grid;gap:14px}.user-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.user-row h3{margin-bottom:5px}.user-row .muted{margin-bottom:9px}.user-actions{width:280px;max-width:100%}.user-actions summary{font-size:12px;color:#8b601e;cursor:pointer;margin-top:17px}.user-actions label{font-size:12px}.user-actions .spaced{margin-top:10px}.user-actions input{max-width:280px}dl{font-size:14px}dt{font-size:11px;color:#938575;margin-bottom:4px}dd{margin:0 0 16px}dialog{border:1px solid #dac7a0;border-radius:15px;padding:28px;max-width:400px;width:90%;color:#29251e;background:#fffaf1;box-shadow:0 30px 80px #0003}dialog::backdrop{background:#0009}dialog p{font-size:14px;line-height:1.7;color:#756c5f}dialog h3{font-size:21px}dialog button{margin-top:20px}@media(min-width:1550px){.hero{padding-left:12%;padding-right:12%}.brand{left:55px;top:55px;width:110px;height:180px}.hero h1{padding-left:110px}}@media(max-width:1000px){.hero{padding:35px 7%}.brand{position:static;width:60px;height:103px;margin-bottom:20px}.hero h1{padding:0;margin:0 0 20px;font-size:36px}.hero h1 span{font-size:1.1em}.motto{font-size:16px}.hero-features{font-size:10px;gap:8px}.hero-features span+span{padding-left:8px}.login-section{padding:60px 8%}.login-box h2{font-size:28px}}@media(max-width:700px){.access-layout{grid-template-columns:1fr}.hero{padding:26px 7% 20px;align-items:center;text-align:center}.brand{width:55px;height:95px;margin:0 0 20px}.hero h1{font-size:33px;line-height:1.1}.hero h1 br:first-child{display:none}.motto{font-size:14px;margin-bottom:10px}.fleet{width:calc(100% + 40px);margin:0 -20px}.hero-features{display:none}.login-section{padding:36px 7%}.login-box{max-width:460px}.login-box h2{font-size:29px}.login-box>.muted{margin-bottom:25px}.panel-grid{grid-template-columns:1fr}.app-header{padding:17px;align-items:flex-start}.header-actions{gap:10px;flex-wrap:wrap;justify-content:flex-end}.wordmark{font-size:14px}.workspace{padding:32px 18px}.workspace>h1{font-size:29px}.card{padding:23px}.create-form{grid-template-columns:1fr}.user-row{flex-direction:column}.user-actions{width:100%}.single h1{font-size:28px}}@media(prefers-reduced-motion:no-preference){.primary,.secondary{transition:filter .15s}}

/* Login de escritorio: distribuye el contenido según la altura disponible. */
@media (min-width: 1001px) and (min-height: 600px) {
  .access-layout { height: 100svh; min-height: 600px; grid-template-rows: minmax(0, 1fr); }
  .hero { min-height: 0; padding: 24px 6% 22px; display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; gap: 16px; align-content: stretch; }
  .hero .brand { position: absolute; top: 24px; left: 26px; width: 70px; height: 120px; margin: 0; }
  .hero h1 { padding-left: 95px; margin: 0; font-size: clamp(30px, 5.1svh, 52px); line-height: 1.08; letter-spacing: -1.2px; }
  .hero h1 span { font-size: 1.18em; }
  .hero .motto { margin: 0; font-size: clamp(15px, 2.6svh, 22px); line-height: 1.4; }
  .hero .fleet { min-height: 0; height: 100%; width: 100%; margin: 0; }
  .hero-features { margin: 0; font-size: 11px; gap: 12px; }
  .hero-features span + span { padding-left: 12px; }
  .login-section { min-height: 0; padding: 24px 8%; }
  .login-box .eyebrow { margin-bottom: 12px; }
  .login-box h2 { font-size: clamp(27px, 4.5svh, 36px); margin-bottom: 10px; }
  .login-box > .muted { margin-bottom: 20px; }
  .login-box form > label { margin: 15px 0 7px; }
  .login-options { margin: 16px 0 20px; gap: 10px; }
  .login-box .role-hint { margin: 14px 0 18px; }
  .login-box .help { margin-bottom: 0; line-height: 1.8; }
  .login-box footer { margin-top: 20px; }
}

/* Integra el fondo oscuro del logotipo con el panel de marca. */
.hero { isolation: isolate; }
.hero .brand { mix-blend-mode: lighten; }

/* Expediente vehicular: información compacta sin modificar el login. */
.workspace:has(> .panel-grid + .section-title) {
  max-width: 1320px;
  padding: 24px;
}
.workspace:has(> .panel-grid + .section-title) > .eyebrow { margin-bottom: 10px; }
.workspace:has(> .panel-grid + .section-title) > h1 { font-size: 28px; margin-bottom: 10px; }
.workspace:has(> .panel-grid + .section-title) > .muted { margin-bottom: 16px; }
.workspace:has(> .panel-grid + .section-title) > .panel-grid { margin-top: 16px; gap: 16px; align-items: start; }
.workspace:has(> .panel-grid + .section-title) .card { padding: 20px; border-radius: 12px; }
.workspace:has(> .panel-grid + .section-title) .panel-grid h2 { margin: 0 0 16px; font-size: 21px; }
.workspace:has(> .panel-grid + .section-title) dl {
  display: grid;
  grid-template-columns: minmax(125px, .8fr) minmax(0, 1.2fr);
  gap: 12px 16px;
  align-items: baseline;
  margin: 0;
}
.workspace:has(> .panel-grid + .section-title) dt { margin: 0; font-size: 12px; line-height: 1.5; }
.workspace:has(> .panel-grid + .section-title) dd { margin: 0; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-line; }
.workspace:has(> .panel-grid + .section-title) .section-title { margin: 22px 0 12px; font-size: 22px; }
.workspace:has(> .panel-grid + .section-title) .card > h3 { margin-bottom: 8px; }
.workspace:has(> .panel-grid + .section-title) .card > .muted:last-child { margin-bottom: 0; }
.workspace:has(> .panel-grid + .section-title) > .back-link { margin-top: 16px; }
@media (max-width: 700px) {
  .workspace:has(> .panel-grid + .section-title) { padding: 20px 16px; }
  .workspace:has(> .panel-grid + .section-title) > h1 { font-size: 25px; }
  .workspace:has(> .panel-grid + .section-title) .card { padding: 18px; }
  .workspace:has(> .panel-grid + .section-title) dl { grid-template-columns: minmax(100px, .8fr) minmax(0, 1.2fr); gap: 10px 12px; }
}
