/* INICIO: identidad Burzam Leasing 1.3.3 */
:root { --accent:#61a9e8; --accent2:#a5cfee; --accent-2:#a5cfee; }
.portal-topbar,.topbar { background:#0b0f17; min-height:94px; gap:16px; padding:0; }
.portal-header-inner,.backoffice-header-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:inherit; margin-inline:auto; }
.portal-header-inner { width:min(1380px,calc(100% - 40px)); }
.backoffice-header-inner { width:min(1500px,calc(100% - 40px)); }
.portal-nav > span { max-width:250px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-brand,.brand { flex-shrink:0; }
.leasing-logo-plate { display:inline-flex; align-items:center; justify-content:center; padding:5px 10px; background:#f6f6f7; border:1px solid #ccd5df; border-radius:12px; }
.leasing-logo { display:block; width:208px; height:auto; max-width:100%; }
.leasing-auth-brand { display:flex; justify-content:center; margin:0 0 28px; }
.auth-card h1 { font-size:30px; letter-spacing:-.03em; }
.auth-card .muted { line-height:1.65; }
.portal-footer,.footer { background:#0b0f17; color:#a5b3c5; line-height:1.7; border-top:1px solid var(--line); }
.portal-nav { flex-wrap:wrap; justify-content:flex-end; }
.portal-nav a,.portal-nav button,.link-button { min-height:44px; display:inline-flex; align-items:center; }
.portal-brand:focus-visible,.brand:focus-visible { outline:3px solid var(--accent); outline-offset:4px; border-radius:12px; }
input,select,textarea { font:inherit; }
@media (max-width:760px) {
 .portal-topbar,.topbar { min-height:78px; gap:10px; padding:0; }
 .portal-header-inner,.backoffice-header-inner { width:calc(100% - 24px); gap:10px; }
 .leasing-logo-plate { padding:4px 7px; border-radius:9px; }
 .portal-topbar .leasing-logo,.topbar .leasing-logo { width:150px; }
 .portal-nav { gap:10px; font-size:11px; }
 .auth-card,.login-card { padding:26px 22px; }
 .auth-shell,.login-shell { padding:28px 16px; }
 .login-title h1 { font-size:27px; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
/* FIN: identidad Burzam Leasing */

/* INICIO: controles accesibles de lectura */
.text-size-controls { position:fixed; right:18px; bottom:16px; z-index:80; display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid #5e7996; border-radius:12px; background:#0b0f17; color:#eef6ff; box-shadow:0 4px 18px #0005; font-size:12px; }
.text-size-controls span { min-width:76px; font-size:11px; }
.text-size-controls button { min-height:40px; padding:7px 12px; border:1px solid #7999b7; border-radius:8px; background:#14263a; color:#eef6ff; font:inherit; font-weight:700; cursor:pointer; }
.text-size-controls button:first-of-type { font-size:17px; }
.text-size-controls button:hover { background:#25415f; }
.text-size-controls button:focus-visible { outline:3px solid #a5cfee; outline-offset:3px; }
.text-size-controls button:disabled { opacity:.5; cursor:default; }
.portal-footer,.footer { padding-bottom:100px; }
@media(max-width:760px) { .text-size-controls { right:12px; bottom:12px; max-width:calc(100% - 24px); } }
/* FIN: controles accesibles de lectura */

/* INICIO: cotizaciones y rutas de expediente 1.5.0 */
[hidden] { display:none!important; }
.quote-entry-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-bottom:24px; }
.quote-entry { padding:28px; }
.quote-entry h2 { margin:0 0 12px; font-size:22px; }
.quote-entry p { color:var(--muted); line-height:1.8; margin-bottom:22px; }
.quote-history { padding:0 22px; }
.quote-history-row { display:flex; flex-wrap:wrap; gap:12px 24px; justify-content:space-between; padding:20px 0; border-bottom:1px solid var(--line); text-decoration:none; }
.quote-history-row span,.quote-history-row small { color:var(--muted); }
.quote-config,.quote-proposal { margin:24px 0; padding:24px; border:1px solid var(--line); border-radius:14px; }
.quote-config h3 { margin-top:0; }
.type-options { margin:20px 0; padding:18px; border:1px solid var(--line); border-radius:12px; }
.type-options legend { color:var(--muted); font-size:12px; padding:0 8px; }
.quote-totals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.quote-totals span { display:block; color:var(--muted); font-size:11px; }
.quote-totals strong { display:block; margin-top:6px; }
.quote-line { border-bottom:1px solid var(--line); padding:14px 0; }
.quote-line p { color:var(--muted); font-size:12px; line-height:1.7; }
.wizard-progress { color:var(--accent); margin-top:25px; }
.wizard-actions,.quote-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
@media(max-width:760px) {
 .quote-entry-grid,.quote-totals { grid-template-columns:1fr; }
 .quote-entry,.quote-config,.quote-proposal { padding:20px; }
 .portal-header-inner { flex-wrap:wrap; padding:10px 0; }
 .portal-nav { flex:1; }
}
/* FIN: cotizaciones y rutas de expediente */
