:root { --brand:#0f766e; --brand-dark:#115e59; --accent:#f59e0b; --bg:#f7fafc; --text:#0f172a; --muted:#64748b; --card:#fff; --surface:#f8fafc; --field:#fff; --border:#dbe3ea; --danger:#b91c1c; --ok:#047857; --shadow:rgba(15,23,42,.06); --sidebar-top:#334155; --sidebar-bottom:#0f172a; }
:root[data-theme="dark"] { --brand:#2dd4bf; --brand-dark:#0f766e; --accent:#fbbf24; --bg:#07111f; --text:#e5eefb; --muted:#9fb0c7; --card:#101d2e; --surface:#142235; --field:#0b1626; --border:#294057; --danger:#f87171; --ok:#34d399; --shadow:rgba(0,0,0,.34); --sidebar-top:#0f2538; --sidebar-bottom:#050b16; }
* { box-sizing: border-box; }
body { margin:0; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); }
a { color:inherit; }
.shell { min-height:100vh; display:grid; grid-template-columns:280px 1fr; }
.sidebar { background:linear-gradient(180deg,var(--brand),var(--brand-dark)); color:white; padding:28px 22px; position:sticky; top:0; height:100vh; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
.brand { display:flex; align-items:center; gap:10px; font-size:1.2rem; font-weight:900; letter-spacing:.02em; margin-bottom:30px; }
.logo { width:38px; height:38px; border-radius:12px; background:rgba(255,255,255,.16); display:grid; place-items:center; font-weight:900; }
.nav { display:grid; gap:8px; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding-right:4px; }
.nav a { text-decoration:none; padding:12px 14px; border-radius:14px; color:#dff7f4; font-weight:800; }
.nav a.active, .nav a:hover { background:rgba(255,255,255,.15); color:#fff; }
.sidebar small { flex:0 0 auto; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.10); color:#bde7e1; line-height:1.45; }
.main { padding:28px clamp(18px,4vw,54px); }
.topbar { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:26px; }
.topbar h1 { margin:0; font-size:clamp(1.8rem,4vw,3.2rem); line-height:1; }
.pill { display:inline-flex; align-items:center; gap:8px; border:1px solid var(--border); background:var(--surface); border-radius:999px; padding:9px 13px; color:var(--muted); font-weight:800; }
.grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.two { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr); gap:20px; align-items:start; }
.card, form, .page-card { background:var(--card); border:1px solid var(--border); border-radius:28px; padding:24px; box-shadow:0 18px 45px var(--shadow); }
.card h2, .card h3, form h2 { margin-top:0; }
.muted { color:var(--muted); }
.hero { background:linear-gradient(135deg,var(--brand),var(--brand-dark)); color:white; border-radius:30px; padding:44px; margin-bottom:22px; }
.hero h1 { max-width:850px; font-size:clamp(2.4rem,6vw,5rem); margin:0 0 16px; line-height:.95; }
.hero p { color:#d7fffb; max-width:760px; font-size:1.1rem; }
.actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.country-public-brand { display:flex; align-items:center; gap:18px; margin-bottom:18px; }
.country-public-brand img { width:168px; max-width:42vw; height:84px; object-fit:contain; border-radius:18px; background:white; border:1px solid var(--border); padding:10px; }
.country-public-brand h2 { margin:.2rem 0; font-size:clamp(1.5rem,3vw,2.5rem); }
.eyebrow { text-transform:uppercase; letter-spacing:.14em; color:var(--muted); font-size:.75rem; font-weight:900; }
.button, button { border:0; border-radius:14px; padding:13px 16px; background:var(--brand); color:white; font-weight:900; cursor:pointer; text-decoration:none; display:inline-flex; justify-content:center; align-items:center; }
.button.secondary, button.secondary { background:var(--surface); color:var(--text); border:1px solid var(--border); }
.button.light { background:var(--surface); color:var(--brand-dark); border:1px solid var(--border); }
label { display:grid; gap:7px; font-weight:850; color:var(--text); margin-bottom:14px; }
input, select, textarea { width:100%; border:1px solid var(--border); border-radius:14px; padding:13px 14px; font:inherit; background:var(--field); color:var(--text); }
input::placeholder, textarea::placeholder { color:var(--muted); opacity:.9; }
input[type="checkbox"] { width:auto; }
.check { display:flex; grid-template-columns:none; align-items:center; gap:10px; }
.status { border-radius:16px; padding:14px; background:#ecfeff; color:#155e75; border:1px solid #a5f3fc; margin-top:14px; white-space:pre-wrap; }
.status.error { background:#fef2f2; color:var(--danger); border-color:#fecaca; }
.table { width:100%; border-collapse:collapse; }
.table th,.table td { text-align:left; padding:13px; border-bottom:1px solid var(--border); }
.table th { color:var(--muted); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.steps { counter-reset:step; display:grid; gap:14px; }
.step { display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:start; }
.step:before { counter-increment:step; content:counter(step); width:34px; height:34px; border-radius:12px; background:#ccfbf1; color:#115e59; display:grid; place-items:center; font-weight:900; }
.code { background:#0f172a; color:#d1fae5; border-radius:18px; padding:18px; overflow:auto; font-family:"SFMono-Regular", Consolas, monospace; font-size:.9rem; }
.notice { border-left:5px solid var(--accent); background:#fffbeb; padding:14px 16px; border-radius:14px; color:#78350f; }
@media (max-width:980px) { .shell { grid-template-columns:1fr; } .sidebar { position:relative; height:auto; overflow:visible; } .nav { overflow:visible; padding-right:0; } .sidebar small { display:block; margin-top:20px; } .grid,.two { grid-template-columns:1fr; } .hero { padding:28px; } }
.stack { display:grid; gap:10px; }
.list-row { width:100%; display:grid; grid-template-columns:1fr auto; gap:6px 12px; text-align:left; background:var(--surface); color:var(--text); border:1px solid var(--border); }
.list-row small { grid-column:1 / -1; color:var(--muted); }
.driver-portal .sidebar { background:linear-gradient(180deg,#1d4ed8,#1e3a8a); }
.backoffice-portal .sidebar { background:linear-gradient(180deg,var(--sidebar-top),var(--sidebar-bottom)); }
.disabled-card { transition:opacity .2s ease; }
.compact-form { margin-bottom:18px; box-shadow:none; padding:0; border:0; background:transparent; }
.checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; }
.user-row { grid-template-columns:1fr auto; }
.row-actions { grid-column:1 / -1; display:flex; gap:8px; flex-wrap:wrap; }
button.danger { background:var(--danger); color:white; }
.password-tools { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; align-items:center; }
.password-tools input { min-width:0; }
.password-tools button { white-space:nowrap; }
@media (max-width:700px) { .checks { grid-template-columns:1fr; } }
.kpi-card { display:grid; gap:8px; min-width:0; overflow:hidden; }
.kpi-card strong { font-size:clamp(1.45rem,2.2vw,2rem); line-height:1.08; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.kpi-card .button { justify-self:start; margin-top:8px; }
.kpi-grid { margin-bottom:18px; }
.management-hero { display:flex; justify-content:space-between; align-items:center; gap:18px; background:linear-gradient(135deg,rgba(45,212,191,.16),var(--card)); }
.management-hero h2 { margin:.2rem 0; font-size:clamp(1.7rem,3vw,2.6rem); }
.metric-row { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:14px 0 8px; font-weight:900; }
.metric-row span { color:var(--muted); }
.danger-progress span { background:linear-gradient(90deg,#f97316,var(--danger)); }
.expediente-layout { align-items:start; }
.expediente-header { display:flex; gap:12px; align-items:center; flex-wrap:wrap; justify-content:space-between; }
.pill { display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:999px; padding:8px 12px; background:var(--surface); font-weight:800; }
.pill.warn { background:#fff4dc; color:#92400e; }
.progress { height:12px; border-radius:999px; background:#e5e7eb; overflow:hidden; }
.progress span { display:block; height:100%; background:linear-gradient(90deg, var(--brand), #22c55e); }
.tabs { display:flex; gap:8px; flex-wrap:wrap; }
.tabs button { background:#e8eef6; color:var(--text); }
.tabs button.active { background:var(--brand); color:white; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.inline-form { display:grid; grid-template-columns:minmax(160px,220px) 1fr auto; gap:10px; align-items:end; }
.document-row { grid-template-columns:1fr auto; }
@media (max-width:900px) { .form-grid,.inline-form { grid-template-columns:1fr; } }
.hidden { display:none !important; }
.wizard-steps { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.step-dot { background:#e8eef6; color:var(--text); border:1px solid var(--border); }
.step-dot.active { background:var(--brand); color:white; }
.wizard-panel { display:grid; gap:14px; }
.wizard-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between; margin-top:12px; }
.full-span { grid-column:1 / -1; }
.wide-two { grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); }
.expediente-form { display:grid; gap:14px; }
textarea { min-height:92px; resize:vertical; }
@media (max-width:900px) { .full-span { grid-column:auto; } .wide-two { grid-template-columns:1fr; } }
.application-wrap { max-width:1180px; margin:0 auto; }
.wizard-form { display:block; }
.upload-checklist { display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:14px; border:1px dashed var(--border); border-radius:18px; background:#f8fafc; margin-bottom:14px; }
.upload-checklist strong { margin-right:8px; }
.upload-checklist span { background:#e8eef6; border-radius:999px; padding:7px 10px; color:#334155; font-weight:800; font-size:.86rem; }
.upload-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.upload-card { border:1px solid var(--border); border-radius:20px; padding:14px; background:#fbfdff; display:grid; gap:10px; }
.upload-head { display:flex; justify-content:space-between; gap:10px; align-items:center; }
.upload-state { border-radius:999px; padding:5px 9px; background:#e8eef6; color:#475569; font-size:.78rem; font-weight:900; white-space:nowrap; }
.upload-drop { margin:0; border:1px dashed #b8c5d3; border-radius:18px; padding:14px; background:white; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.upload-drop input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.upload-cta { display:inline-flex; border-radius:999px; padding:10px 14px; background:#e2e8f0; color:#0f172a; font-weight:900; }
.preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; min-height:36px; }
.preview-item { border:1px solid var(--border); border-radius:14px; overflow:hidden; background:white; }
.preview-item img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.preview-item small { display:block; padding:7px; color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-icon { aspect-ratio:4/3; display:grid; place-items:center; background:#e2e8f0; font-weight:900; color:#334155; }
@media (max-width:1100px) {
  .shell { grid-template-columns:230px 1fr; }
  .main { padding:22px; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body { font-size:15px; }
  .shell { display:block; }
  .sidebar { position:static; height:auto; padding:16px; border-radius:0 0 22px 22px; }
  .brand { margin-bottom:14px; }
  .nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
  .nav a { padding:10px; font-size:.95rem; }
  .sidebar small { display:none; }
  .main { padding:16px 12px 28px; }
  .topbar { align-items:flex-start; flex-direction:column; margin-bottom:16px; }
  .topbar h1 { font-size:2.1rem; }
  .card, form, .page-card { border-radius:18px; padding:16px; }
  .hero { border-radius:22px; padding:24px 18px; }
  .hero h1 { font-size:2.5rem; }
  .grid,.two,.wide-two,.expediente-layout,.upload-grid,.form-grid { grid-template-columns:1fr; }
  .wizard-steps { overflow-x:auto; flex-wrap:nowrap; padding-bottom:6px; scroll-snap-type:x mandatory; }
  .step-dot { flex:0 0 auto; scroll-snap-align:start; padding:11px 12px; }
  .wizard-actions { position:sticky; bottom:0; background:rgba(247,250,252,.94); padding:10px 0; z-index:4; }
  .wizard-actions button, .actions .button, button, .button { width:100%; }
  .actions { display:grid; }
  .preview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .list-row { grid-template-columns:1fr; }
  .row-actions { display:grid; grid-template-columns:1fr; }
  .password-tools { grid-template-columns:1fr; }
  .kpi-card strong { font-size:1.55rem; }
  .expediente-header { display:grid; }
}
@media (max-width:420px) {
  .nav { grid-template-columns:1fr; }
  .preview-grid { grid-template-columns:1fr; }
  .upload-head { align-items:flex-start; flex-direction:column; }
  input, select, textarea { padding:12px; }
}
.expediente-board { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(560px,1.45fr); gap:22px; align-items:start; }
.bureau-panel,.credit-file { border:1px solid #cfd9e5; background:linear-gradient(180deg,#fff,#f8fbff); }
.board-toolbar { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:10px; align-items:end; margin-bottom:14px; }
.bureau-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:10px 0 18px; }
.bureau-kpis div { border:1px solid var(--border); background:var(--surface); border-radius:20px; padding:12px; display:grid; gap:2px; }
.bureau-kpis strong { font-size:1.55rem; }
.bureau-kpis span { color:var(--muted); font-weight:800; font-size:.82rem; }
.bureau-row { width:100%; display:grid; grid-template-columns:1fr auto minmax(150px,.5fr); gap:12px; align-items:center; background:#f8fafc; color:var(--text); border:1px solid var(--border); border-radius:16px; padding:14px 16px; text-align:left; }
.bureau-row:hover { border-color:#90b5d4; transform:translateY(-1px); box-shadow:0 10px 25px rgba(15,23,42,.08); }
.bureau-row small { display:block; color:var(--muted); margin-top:3px; }
.credit-hero { display:grid; grid-template-columns:150px 1fr; gap:18px; align-items:center; border-radius:26px; padding:22px; color:white; background:linear-gradient(135deg,#334155,#0f172a); box-shadow:0 24px 60px rgba(15,23,42,.18); }
.credit-hero h2 { margin:0 0 8px; font-size:clamp(1.4rem,2vw,2.2rem); }
.credit-hero p { color:rgba(255,255,255,.86); }
.score-ok { background:linear-gradient(135deg,#047857,#10b981); }
.score-good { background:linear-gradient(135deg,#0f766e,#22c55e); }
.score-mid { background:linear-gradient(135deg,#b45309,#f59e0b); }
.score-bad { background:linear-gradient(135deg,#991b1b,#ef4444); }
.score-ring { width:132px; height:132px; border-radius:999px; display:grid; place-items:center; border:10px solid rgba(255,255,255,.35); background:rgba(255,255,255,.16); }
.score-ring strong { font-size:2.8rem; line-height:1; }
.score-ring span { font-weight:900; opacity:.8; margin-top:-28px; }
.risk-chip { display:inline-flex; align-items:center; border-radius:999px; padding:10px 13px; font-weight:900; background:rgba(255,255,255,.18); }
.risk-ok { color:#dcfce7; } .risk-mid { color:#fef3c7; } .risk-high { color:#fee2e2; }
.rule-row { display:grid; grid-template-columns:34px 1fr; gap:4px 12px; align-items:center; border:1px solid var(--border); border-radius:16px; padding:12px; margin-bottom:8px; background:#f8fafc; }
.rule-row span { width:30px; height:30px; display:grid; place-items:center; border-radius:10px; font-weight:900; }
.rule-row small { grid-column:2; color:var(--muted); }
.rule-row.pass span { background:#dcfce7; color:#047857; }
.rule-row.fail span { background:#fee2e2; color:#b91c1c; }
.income-table { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:8px; align-items:center; margin-bottom:14px; }
.income-table b { color:var(--muted); text-transform:uppercase; font-size:.78rem; letter-spacing:.06em; }
.income-table strong { padding:12px; border-radius:12px; background:#f1f5f9; }
.chart-card { min-height:310px; overflow:hidden; }
.chart-frame { position:relative; height:300px; max-height:300px; overflow:hidden; }
.chart-card canvas { display:block; width:100% !important; height:300px !important; max-height:300px; }
.doc-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.doc-thumb { width:100%; aspect-ratio:4/3; object-fit:contain; border-radius:14px; background:#e2e8f0; display:grid; place-items:center; color:var(--muted); font-weight:900; }
@media (max-width:1180px) { .expediente-board { grid-template-columns:1fr; } .board-toolbar { grid-template-columns:1fr; } }
@media (max-width:760px) { .bureau-kpis,.bureau-row,.credit-hero,.income-table { grid-template-columns:1fr; } .score-ring { width:112px; height:112px; } .doc-gallery { grid-template-columns:1fr; } }
.doc-card { border:1px solid var(--border); border-radius:18px; padding:12px; background:#f8fafc; display:grid; gap:8px; min-width:0; overflow:hidden; }
.doc-card strong { font-size:1rem; }
.doc-card small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.doc-upload-form { min-width:0; overflow:hidden; }
.doc-upload-form input[type="file"] { max-width:100%; width:100%; }
.consent-panel { border:1px solid var(--border); border-radius:16px; padding:14px; margin:12px 0; background:#f8fafc; display:grid; gap:10px; }
.consent-panel p { white-space:pre-line; color:#334155; line-height:1.55; margin:0; }
.expediente-board { grid-template-columns:minmax(360px,430px) minmax(0,1fr); }
.credit-file { overflow:hidden; }
.credit-file .expediente-header { display:grid; grid-template-columns:auto 1fr auto auto; gap:14px; align-items:center; }
.credit-file .tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:8px; }
.credit-file .tabs button { white-space:nowrap; flex:0 0 auto; }
.credit-file .grid.kpi-grid { grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); }
.credit-file .kpi-card strong { font-size:clamp(1.35rem,2vw,1.75rem); }
.credit-file .kpi-card .legal-signal { max-width:100%; white-space:normal; font-size:clamp(1.15rem,1.8vw,1.45rem); line-height:1.05; }
.summary-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:18px; align-items:start; }
.status-form { display:grid; grid-template-columns:1fr; gap:12px; align-items:stretch; }
.status-form button { width:100%; }
.credit-file .list-row { overflow:hidden; }
.credit-file .list-row strong,.credit-file .list-row small { overflow:hidden; text-overflow:ellipsis; }
@media (max-width:1300px) { .credit-file .expediente-header { grid-template-columns:1fr auto; } }
@media (max-width:980px) {
  .credit-file .tabs {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    overflow:visible;
    padding:12px 0 4px;
  }
  .credit-file .tabs button {
    width:100%;
    min-width:0;
    min-height:46px;
    padding:12px 10px;
    white-space:normal;
    line-height:1.15;
    border-radius:16px;
    box-shadow:none;
  }
}
@media (max-width:1180px) { .summary-grid { grid-template-columns:1fr; } }

/* Bandeja profesional de expedientes de crédito */
.intake-board { background:linear-gradient(180deg,#ffffff,#f8fbff); border-color:#cfd9e5; }
.applicant-card-grid { display:grid; gap:14px; }
.applicant-card { display:grid; grid-template-columns:58px minmax(0,1.4fr) minmax(160px,.55fr) minmax(140px,.45fr) minmax(260px,.9fr); gap:14px; align-items:center; border:1px solid var(--border); border-radius:26px; padding:16px; background:var(--card); box-shadow:0 14px 32px var(--shadow); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.applicant-card:hover { transform:translateY(-2px); border-color:#9ab1c8; box-shadow:0 24px 46px rgba(15,23,42,.09); }
.applicant-avatar { width:54px; height:54px; border-radius:18px; display:grid; place-items:center; background:linear-gradient(135deg,#0f766e,#22c55e); color:white; font-weight:950; letter-spacing:.04em; box-shadow:0 10px 24px rgba(15,118,110,.22); }
.applicant-avatar.large { width:78px; height:78px; border-radius:24px; font-size:1.3rem; }
.applicant-main { display:grid; gap:3px; min-width:0; }
.applicant-main strong { font-size:1.05rem; }
.applicant-main small, .applicant-meta small, .applicant-score small { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.applicant-meta, .applicant-score { display:grid; gap:6px; min-width:0; }
.applicant-score { padding:10px 12px; border-radius:16px; background:#f1f5f9; border:1px solid var(--border); }
.applicant-score strong { color:#334155; }
.applicant-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.applicant-actions .button, .applicant-actions button { padding:10px 12px; border-radius:12px; font-size:.88rem; }
.quick-summary { margin-top:22px; }
.quick-summary-card { position:relative; border-color:#cfd9e5; background:radial-gradient(circle at top left, rgba(15,118,110,.08), transparent 36%), #fff; }
.quick-summary-card > #closeSummary { position:absolute; top:16px; right:16px; }
.summary-head { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; margin-bottom:18px; padding-right:90px; }
.summary-head img { width:84px; height:84px; border-radius:24px; object-fit:cover; border:3px solid white; box-shadow:0 16px 30px rgba(15,23,42,.18); }
.summary-head h2 { margin:0 0 6px; }
.full-file { max-width:1180px; margin-inline:auto; }
.full-file .expediente-header { position:sticky; top:0; z-index:3; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--border); margin:-24px -24px 18px; padding:18px 24px; }
.choice-card { border:1px solid var(--border); border-radius:18px; padding:14px; margin:0 0 14px; background:#fbfdff; }
.choice-card legend { padding:0 8px; color:#243b53; font-weight:900; }
.choice-card .check { display:inline-flex; margin:8px 14px 0 0; }
@media (max-width:1280px) { .applicant-card { grid-template-columns:54px 1fr 150px; } .applicant-score,.applicant-actions { grid-column:2 / -1; } .applicant-actions { justify-content:flex-start; } }
@media (max-width:900px) { .applicant-card { grid-template-columns:48px 1fr; } .applicant-meta,.applicant-score,.applicant-actions { grid-column:1 / -1; } .summary-head { grid-template-columns:auto 1fr; padding-right:0; } .summary-head .pill { grid-column:1 / -1; justify-self:start; } .quick-summary-card > #closeSummary { position:static; margin-bottom:12px; } }
@media (max-width:520px) { .applicant-card { grid-template-columns:1fr; } .applicant-avatar { width:48px; height:48px; } .applicant-actions { display:grid; } .summary-head { grid-template-columns:1fr; } .summary-head img,.applicant-avatar.large { width:72px; height:72px; } }

/* Expediente360: dossier ejecutivo para gerencia */
.dossier360 { display:grid; gap:18px; }
.dossier-hero { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,.34fr); gap:20px; align-items:center; border-radius:28px; padding:24px; color:white; box-shadow:0 24px 60px rgba(15,23,42,.18); }
.dossier-profile img { width:132px; height:132px; border-radius:32px; object-fit:cover; border:4px solid rgba(255,255,255,.72); box-shadow:0 18px 40px rgba(15,23,42,.25); }
.dossier-eyebrow { margin:0 0 8px; color:rgba(255,255,255,.78); font-weight:950; letter-spacing:.09em; text-transform:uppercase; font-size:.78rem; }
.dossier-hero h2 { margin:0 0 8px; font-size:clamp(1.8rem,4vw,3.4rem); line-height:.95; }
.signature-card { display:grid; gap:8px; border:1px solid rgba(255,255,255,.28); border-radius:22px; padding:18px; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); }
.signature-card span,.signature-box span { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:950; opacity:.78; }
.signature-card strong { font-family:"SFMono-Regular", Consolas, monospace; font-size:1.2rem; overflow-wrap:anywhere; }
.signature-card small { color:rgba(255,255,255,.78); }
.dossier-kpis .kpi-card strong { font-size:clamp(1.6rem,3vw,2.4rem); }
.dossier-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.dossier-section { box-shadow:none; }
.dossier-lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.dossier-line { border:1px solid var(--border); border-radius:14px; background:#f8fafc; padding:11px 12px; display:grid; gap:3px; min-width:0; }
.dossier-line span { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; font-weight:900; }
.dossier-line strong { color:#243b53; overflow-wrap:anywhere; }
.dossier-decision .credit-hero { margin-bottom:16px; }
.signature-box { display:grid; gap:8px; padding:16px; border:1px solid var(--border); background:#f8fafc; border-radius:18px; margin-bottom:14px; }
.signature-box strong { overflow-wrap:anywhere; }
.signature-line { margin-top:28px; border-top:2px solid #94a3b8; padding-top:12px; color:var(--muted); font-weight:900; }
@media print {
  @page { size:A4; margin:8mm; }
  * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  body { background:#fff !important; color:#0f172a !important; font-size:10px; }
  .sidebar,.topbar,.top-utility,.theme-toggle,#shellLogout,.notice,.expediente-header,.tabs,.progress,.doc-upload-form,.row-actions,.image-zoom-modal,.dossier360,.document-print-summary { display:none !important; }
  .shell,.main,.credit-file,.full-file { display:block !important; padding:0 !important; margin:0 !important; border:0 !important; box-shadow:none !important; background:#fff !important; }
  #expedienteTab { display:none !important; }
  .pdf-report { display:block !important; max-width:none; margin:0; color:#0f172a; font-family:Inter, Arial, sans-serif; }
  .pdf-cover { border:1px solid #cbd5e1; border-top:5px solid #0f766e; border-radius:10px; padding:10px; margin-bottom:8px; break-inside:avoid; }
  .pdf-cover-brand,.pdf-cover-person { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; margin-bottom:8px; }
  .pdf-cover-brand img { width:42px; height:42px; object-fit:contain; border-radius:10px; background:#031a32; }
  .pdf-cover-brand span { text-transform:uppercase; letter-spacing:.16em; color:#64748b; font-size:8px; font-weight:900; }
  .pdf-cover-brand h1,.pdf-cover-person h2 { margin:0; line-height:1; color:#0f172a; }
  .pdf-cover-person img,.pdf-cover-person .applicant-avatar { width:58px; height:58px; border-radius:14px; object-fit:cover; }
  .pdf-cover-person p { margin:3px 0; color:#475569; }
  .pdf-metric-grid,.pdf-eval-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }
  .pdf-metric { border:1px solid #dbe3ea; border-radius:8px; padding:6px; background:#f8fafc; min-height:42px; }
  .pdf-metric span,.pdf-field span { display:block; color:#64748b; font-size:7.5px; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
  .pdf-metric strong,.pdf-field strong { display:block; color:#0f172a; font-size:10px; line-height:1.2; overflow-wrap:anywhere; }
  .pdf-metric.score { background:#ecfeff; border-color:#99f6e4; }
  .pdf-main { display:block; }
  .pdf-section { border:1px solid #dbe3ea; border-radius:9px; padding:7px; margin:0 0 7px; break-inside:avoid; page-break-inside:avoid; }
  .pdf-section h2 { margin:0 0 6px; color:#0f3760; font-size:12px; border-bottom:1px solid #e2e8f0; padding-bottom:4px; }
  .pdf-field-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px 8px; }
  .pdf-field { border-bottom:1px solid #edf2f7; padding-bottom:3px; min-width:0; }
  .pdf-income-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:8px; align-items:start; }
  .pdf-table { width:100%; border-collapse:collapse; font-size:8.5px; }
  .pdf-table th { text-align:left; background:#f1f5f9; color:#475569; text-transform:uppercase; letter-spacing:.07em; font-size:7px; }
  .pdf-table th,.pdf-table td { padding:3px 4px; border-bottom:1px solid #e2e8f0; vertical-align:top; }
  .pdf-table td:nth-child(n+2),.pdf-table th:nth-child(n+2) { text-align:right; }
  .pdf-table.compact { font-size:8px; }
  .pdf-bars { display:grid; gap:3px; }
  .pdf-bars div { display:grid; grid-template-columns:42px 1fr 58px; gap:4px; align-items:center; font-size:7.5px; }
  .pdf-bars i { display:block; height:8px; border-radius:999px; background:linear-gradient(90deg,#0f766e,#14b8a6); }
  .pdf-bars strong { text-align:right; color:#0f172a; }
  .pdf-documents-section { break-inside:auto; page-break-inside:auto; }
  .pdf-document-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:6mm; }
  .pdf-doc-tile { border:1px solid #cbd5e1; border-radius:8px; padding:5px; break-inside:avoid; page-break-inside:avoid; min-height:125mm; display:grid; grid-template-rows:auto 1fr auto; gap:4px; }
  .pdf-doc-tile h3 { margin:0; color:#0f172a; font-size:8.5px; line-height:1.15; }
  .pdf-doc-frame { height:110mm; display:grid; place-items:center; background:#f8fafc; border:1px solid #e2e8f0; border-radius:6px; overflow:hidden; color:#64748b; }
  .pdf-doc-tile.compact .pdf-doc-frame { height:110mm; }
  .pdf-doc-tile.full-page { grid-column:1 / -1; min-height:255mm; break-before:page; break-after:page; page-break-before:always; page-break-after:always; }
  .pdf-doc-tile.full-page .pdf-doc-frame { height:238mm; }
  .pdf-doc-frame img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
  .pdf-doc-tile small { color:#64748b; font-size:6.8px; overflow-wrap:anywhere; }
  .pdf-doc-pdf { font-size:13px; font-weight:900; color:#0f766e; }
  body.print-documents-only .shell, body.print-documents-only .main, body.print-documents-only .credit-file { display:block !important; padding:0 !important; margin:0 !important; }
  body.print-documents-only .topbar, body.print-documents-only .top-utility, body.print-documents-only .sidebar, body.print-documents-only .expediente-header, body.print-documents-only .tabs, body.print-documents-only #expedienteTab, body.print-documents-only .dossier360, body.print-documents-only .pdf-report { display:none !important; }
  body.print-documents-only .document-print-summary { display:block !important; }
  .document-print-summary header { display:flex; gap:8px; align-items:center; border-bottom:2px solid #0f766e; padding-bottom:6px; margin-bottom:8px; }
  .document-print-summary header img { width:42px; height:42px; object-fit:contain; border-radius:10px; }
  .document-print-summary { color:#0f172a; }
  .document-print-summary h2 { margin:0; font-size:15px; }
  .document-print-summary p { margin:2px 0; color:#475569; }
  .document-checklist { grid-column:1 / -1; border:1px solid #cbd5e1; border-radius:12px; padding:10mm; min-height:245mm; break-after:page; page-break-after:always; background:#fff; }
  .document-checklist span { color:#0f766e; text-transform:uppercase; letter-spacing:.14em; font-size:8px; font-weight:950; }
  .document-checklist h3 { margin:2mm 0 1mm; font-size:20px; color:#0f172a; }
  .document-checklist ul { list-style:none; padding:0; margin:8mm 0 0; display:grid; grid-template-columns:repeat(2,1fr); gap:4mm; }
  .document-checklist li { display:grid; grid-template-columns:9mm 1fr; gap:3mm; align-items:start; border:1px solid #e2e8f0; border-radius:10px; padding:4mm; background:#f8fafc; break-inside:avoid; }
  .document-checklist li > span { display:grid; place-items:center; width:8mm; height:8mm; border-radius:999px; background:#e2e8f0; color:#64748b; letter-spacing:0; font-size:11px; }
  .document-checklist li.complete > span { background:#14b8a6; color:white; }
  .document-checklist strong,.document-checklist em,.document-checklist small { display:block; overflow-wrap:anywhere; }
  .document-checklist strong { color:#0f172a; font-size:10px; }
  .document-checklist em { color:#0f766e; font-style:normal; font-weight:800; font-size:8.5px; }
  .document-checklist small { color:#64748b; font-size:7px; margin-top:1mm; }
  .print-doc-figure { break-inside:avoid; page-break-inside:avoid; min-height:125mm; display:grid; grid-template-rows:auto 1fr auto; gap:4px; align-items:stretch; border:1px solid #cbd5e1; border-radius:8px; padding:5px; }
  .print-doc-figure h3 { margin:0; color:#0f172a; border-bottom:1px solid #e2e8f0; padding-bottom:3px; font-size:8.5px; }
  .print-doc-figure img { width:100%; height:110mm; object-fit:contain; border:1px solid #e2e8f0; border-radius:6px; background:#f8fafc; }
  .print-doc-figure small { color:#475569; font-size:7px; overflow-wrap:anywhere; }
  .print-doc-figure.full-page { grid-column:1 / -1; min-height:255mm; break-before:page; break-after:page; page-break-before:always; page-break-after:always; }
  .print-doc-figure.full-page img { height:238mm; }
  body.print-documents-only .document-print-summary { display:grid !important; grid-template-columns:repeat(2,1fr); gap:6mm; }
  body.print-documents-only .document-print-summary header { grid-column:1 / -1; }
}
@media (max-width:1050px) { .dossier-hero,.dossier-grid,.dossier-lines { grid-template-columns:1fr; } }
@media (max-width:520px) { .dossier-profile img { width:96px; height:96px; border-radius:24px; } .dossier-hero { padding:18px; } }

/* Carga documental desde backoffice */
.doc-thumb.empty { gap:6px; text-align:center; padding:12px; }
.doc-thumb.empty span { font-weight:950; }
.doc-thumb.empty small { max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.doc-file-link { text-decoration:none; display:grid; place-items:center; gap:8px; font-weight:950; color:#334155; }
.doc-file-link span { font-size:.9rem; color:var(--muted); max-width:90%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.doc-open-link { justify-self:start; padding:9px 12px; max-width:100%; }
.doc-upload-form { display:grid; gap:10px; padding:12px; border:1px dashed #b8c5d3; border-radius:16px; background:#fff; min-width:0; overflow:hidden; }
.doc-upload-form label { margin:0; font-size:.92rem; }
.doc-upload-form input { padding:10px; background:#f8fafc; max-width:100%; min-width:0; }
.doc-upload-form button { width:100%; }
.document-print-summary { display:none; }
.pdf-report { display:none; }

/* Expediente360 ejecutivo: hoja de decisión para gerencia */
.executive-sheet { max-width:1380px; margin:0 auto; padding:18px; border-radius:30px; background:radial-gradient(circle at top left, rgba(20,184,166,.18), transparent 34%), linear-gradient(180deg,#0f1b2d,#07141f); color:#f8fafc; box-shadow:0 28px 80px rgba(2,6,23,.28); }
.dossier360-toolbar { position:sticky; top:0; z-index:4; display:flex; justify-content:space-between; align-items:center; gap:14px; padding:14px; border:1px solid rgba(148,163,184,.22); border-radius:22px; background:rgba(15,23,42,.88); backdrop-filter:blur(12px); }
.dossier360-toolbar .actions { margin:0; }
.dossier360-toolbar button:not(.secondary) { background:linear-gradient(90deg,#2563eb,#14b8a6); }
.dossier360-cover,.dossier360-panel { border:1px solid rgba(148,163,184,.25); background:rgba(15,28,43,.92); border-radius:24px; padding:22px; box-shadow:0 18px 45px rgba(2,6,23,.18); }
.dossier360-cover { display:grid; gap:18px; }
.dossier360-person { display:grid; grid-template-columns:auto 1fr; gap:20px; align-items:center; }
.dossier360-person img { width:118px; height:118px; border-radius:999px; object-fit:cover; border:3px solid rgba(255,255,255,.76); }
.dossier360-person h2 { margin:0 0 8px; font-size:clamp(1.8rem,4vw,3rem); line-height:1; }
.dossier360-person p,.dossier360-panel p { color:#cbd5e1; font-size:1.02rem; }
.dossier360-id,.dossier360-flags span,.dossier360-status-grid p strong + span { border:1px solid rgba(148,163,184,.28); border-radius:999px; padding:6px 10px; background:rgba(30,41,59,.86); font-weight:900; }
.dossier360-score { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:center; padding:14px; border:1px solid rgba(148,163,184,.3); border-radius:16px; background:rgba(255,255,255,.04); }
.dossier360-score span { color:#cbd5e1; }
.dossier360-score strong { color:#99f6e4; font-size:1.1rem; }
.dossier360-meter { grid-column:1 / -1; height:13px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.25); }
.dossier360-meter span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#22d3ee,#22c55e); }
.dossier360-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 22px; }
.dossier360-status-grid p,.dossier360-info p { margin:.25rem 0; }
.dossier360-status-grid strong,.dossier360-info strong,.dossier360-panel h3,.dossier360-panel h4 { color:#fff; }
.dossier360-warning { color:#fdba74 !important; font-weight:800; }
.dossier360-ok { color:#86efac !important; font-weight:800; }
.dossier360-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dossier360-panel h3 { margin:0 0 18px; font-size:1.35rem; }
.dossier360-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.dossier360-wide { grid-column:1 / -1; }
.dossier360-eval { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.dossier360-flags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.dossier360-flags span { color:#fde68a; border-color:rgba(245,158,11,.5); background:rgba(120,53,15,.45); }
.dossier360-panel textarea { min-height:88px; color:#e2e8f0; background:#172234; border-color:rgba(148,163,184,.34); }
.dossier360-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:10px 0 22px; }
.dossier360-documents-panel { break-inside:avoid; }
.dossier360-doc { border:1px solid rgba(148,163,184,.28); border-radius:20px; padding:14px; background:rgba(15,23,42,.56); }
.dossier360-doc .doc-thumb { height:360px; min-height:260px; max-height:360px; object-fit:contain; background:#07111f; border:1px solid rgba(226,232,240,.65); }
.dossier360-doc .doc-thumb.empty { min-height:260px; }
.dossier360-doc small { display:block; margin-top:8px; color:#cbd5e1; }
.dossier360-signatures { display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:end; }
.dossier360-signature-panel { break-inside:avoid; }
.dossier360-signatures > div { min-height:150px; display:grid; align-content:space-between; border:1px solid rgba(148,163,184,.28); border-radius:18px; padding:18px; background:rgba(2,6,23,.28); }
@media print { .executive-sheet { box-shadow:none; background:#fff; color:#0f172a; } .dossier360-toolbar,#sendToManagement,#managementComment { display:none !important; } .dossier360-cover,.dossier360-panel,.dossier360-doc { break-inside:avoid; background:#fff; color:#0f172a; } .dossier360-person p,.dossier360-panel p,.dossier360-doc small { color:#334155; } }
@media (max-width:980px) { .dossier360-toolbar,.dossier360-person,.dossier360-grid,.dossier360-info,.dossier360-status-grid,.dossier360-eval,.dossier360-doc-grid,.dossier360-signatures { grid-template-columns:1fr; } .dossier360-toolbar { display:grid; } }

/* Marca Fleets y Expediente360 con paleta clara/teal */
.brand-logo { overflow:hidden; background:#031a32; padding:0; }
.brand-logo img { width:100%; height:100%; object-fit:cover; display:block; }
.brand-logo.square { background:#fff; border-radius:10px; padding:3px; }
.brand-logo.square img { object-fit:contain; }
.executive-sheet { background:linear-gradient(180deg,#f8fcff,#ecfeff); color:#0f172a; border:1px solid #b9e6ee; box-shadow:0 28px 80px rgba(8,47,73,.14); }
.dossier360-brand { display:flex; align-items:center; gap:12px; color:#0f3760; font-weight:950; letter-spacing:.03em; }
.dossier360-brand img { width:58px; height:58px; border-radius:18px; object-fit:cover; box-shadow:0 12px 28px rgba(8,47,73,.22); }
.dossier360-toolbar { background:rgba(255,255,255,.92); border-color:#b9e6ee; box-shadow:0 14px 35px rgba(8,47,73,.08); }
.dossier360-toolbar button:not(.secondary), .dossier360-toolbar #sendToManagement { background:linear-gradient(90deg,#0f766e,#14b8a6); color:white; }
.dossier360-cover,.dossier360-panel { background:rgba(255,255,255,.94); border-color:#c7e8ef; color:#0f172a; box-shadow:0 18px 45px rgba(8,47,73,.08); }
.dossier360-person p,.dossier360-panel p { color:#334155; }
.dossier360-status-grid strong,.dossier360-info strong,.dossier360-panel h3,.dossier360-panel h4 { color:#0f172a; }
.dossier360-id,.dossier360-flags span { background:#ecfeff; border-color:#99f6e4; color:#0f766e; }
.dossier360-score { background:#f8fafc; border-color:#c7e8ef; }
.dossier360-meter { background:#dbeafe; }
.dossier360-warning { color:#b45309 !important; }
.dossier360-doc { background:#f8fafc; border-color:#c7e8ef; }
.dossier360-doc .doc-thumb { background:white; border-color:#94a3b8; }
.dossier360-doc small { color:#475569; }
.dossier360-signatures > div { background:#f8fafc; border-color:#c7e8ef; }
.doc-zoom-trigger { width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; display:block; }
.doc-carousel-thumbs { display:flex; gap:8px; overflow-x:auto; padding:8px 2px 2px; align-items:stretch; }
.doc-carousel-thumbs button { flex:0 0 88px; border:2px solid transparent; border-radius:12px; padding:3px; background:#f8fafc; cursor:pointer; display:grid; place-items:center; }
.doc-carousel-thumbs button.active { border-color:#14b8a6; background:#ccfbf1; }
.doc-carousel-thumbs .doc-thumb { min-height:70px !important; height:70px; max-height:70px; border-radius:8px; }
.doc-carousel-thumbs .doc-file-link { min-height:70px !important; font-size:.8rem; }
.image-zoom-modal { position:fixed; inset:0; z-index:9999; background:rgba(2,6,23,.88); display:grid; place-items:center; padding:24px; }
.image-zoom-modal.hidden { display:none; }
.image-zoom-dialog { width:min(94vw,1180px); max-height:90vh; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:10px; }
.image-zoom-actions { display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.image-zoom-controls { display:flex; align-items:center; gap:6px; padding:4px; border:1px solid rgba(255,255,255,.18); border-radius:12px; background:rgba(15,23,42,.72); }
.image-zoom-level { min-width:56px; color:white; font-weight:800; text-align:center; font-variant-numeric:tabular-nums; }
.image-zoom-stage { display:grid; place-items:center; height:min(78vh,820px); overflow:hidden; border-radius:18px; background:#020617; box-shadow:0 30px 80px rgba(0,0,0,.45); touch-action:none; overscroll-behavior:contain; cursor:zoom-in; user-select:none; }
.image-zoom-dialog img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; image-rendering:auto; transform-origin:center center; will-change:transform; transition:transform .08s ease-out; pointer-events:none; }
.image-zoom-modal.zoomed .image-zoom-stage { cursor:grab; }
.image-zoom-modal.zoomed .image-zoom-stage:active { cursor:grabbing; }
.image-zoom-close, .image-zoom-prev, .image-zoom-next, .image-zoom-in, .image-zoom-out, .image-zoom-reset { background:#14b8a6; }
.image-zoom-dialog p { margin:0; color:white; font-weight:800; text-align:center; }
.image-zoom-help { color:#cbd5e1; text-align:center; }
@media (max-width:620px) { .image-zoom-modal { padding:10px; } .image-zoom-actions { display:grid; grid-template-columns:auto 1fr auto auto; } .image-zoom-controls { justify-content:center; } .image-zoom-reset { display:none; } .image-zoom-stage { height:72dvh; border-radius:14px; } .image-zoom-help { font-size:.76rem; } }
.vehicle-image-zoom-trigger { width:100%; height:100%; padding:0; border-radius:inherit; overflow:hidden; background:transparent; touch-action:manipulation; }
@media print { .dossier360-brand { display:flex !important; color:#0f172a; } .dossier360-brand img { box-shadow:none; } }

.decision-badge { display:inline-flex; align-items:center; border-radius:999px; padding:7px 11px; font-weight:950; border:1px solid #cbd5e1; background:#f1f5f9; color:#334155; }
.decision-badge.approved { background:#dcfce7; color:#047857; border-color:#86efac; }
.decision-badge.rejected { background:#fee2e2; color:#b91c1c; border-color:#fecaca; }
.decision-badge.pending { background:#e0f2fe; color:#0369a1; border-color:#bae6fd; }
.dossier360-management-note { padding:12px 14px; border-radius:16px; background:#ecfeff; border:1px solid #99f6e4; color:#0f766e !important; font-weight:800; }
.doc-card .doc-carousel-main .doc-thumb, .doc-card > .doc-zoom-trigger .doc-thumb { max-height:360px; height:360px; object-fit:contain; background:#f8fafc; }

.management-sign-actions { grid-template-columns:1fr 1fr; }
.decision-badge.status { background:#f1f5f9; color:#475569; border-color:#cbd5e1; }
.legal-signal { display:inline-flex; width:max-content; border-radius:999px; padding:7px 12px; font-weight:950; border:1px solid #cbd5e1; background:#f1f5f9; color:#334155; }
.legal-signal.green { background:#dcfce7; color:#047857; border-color:#86efac; }
.legal-signal.yellow { background:#fef3c7; color:#92400e; border-color:#fde68a; }
.legal-signal.red { background:#fee2e2; color:#b91c1c; border-color:#fecaca; }
.legal-review-summary { display:grid; gap:10px; }

.doc-card .dossier360-doc { min-width:0; overflow:hidden; border:0; padding:0; background:transparent; }
.doc-card .doc-carousel-main, .doc-card .doc-zoom-trigger, .dossier360-doc, .doc-carousel-main { min-width:0; max-width:100%; overflow:hidden; }
.doc-card .dossier360-doc .doc-thumb, .doc-card .doc-carousel-main .doc-thumb, .doc-card > .doc-zoom-trigger .doc-thumb { width:100%; height:260px; max-height:260px; min-height:180px; object-fit:contain; }
.doc-carousel-thumbs { max-width:100%; min-width:0; }
.doc-carousel-thumbs button { min-width:88px; max-width:88px; overflow:hidden; }
.dossier-income-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:18px; align-items:stretch; }
.dossier-income-table { max-height:420px; overflow:auto; font-size:.95rem; }
.dossier-income-summary { border:1px solid #c7e8ef; border-radius:18px; padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; background:#f8fafc; }
.dossier-income-summary .chart-frame { grid-column:1/-1; min-height:260px; height:260px; margin-top:8px; }
@media (max-width:980px) { .dossier-income-layout { grid-template-columns:1fr; } }

.top-utility { display:flex; justify-content:flex-end; gap:10px; align-items:center; margin:0 0 14px auto; min-height:44px; }
.top-utility button { min-height:42px; box-shadow:0 12px 28px var(--shadow); }
:root[data-theme="dark"] .intake-board,
:root[data-theme="dark"] .bureau-panel,
:root[data-theme="dark"] .credit-file,
:root[data-theme="dark"] .country-public-brand,
:root[data-theme="dark"] .wizard-panel,
:root[data-theme="dark"] .consent-panel,
:root[data-theme="dark"] .upload-card,
:root[data-theme="dark"] .upload-summary,
:root[data-theme="dark"] .bureau-kpis div,
:root[data-theme="dark"] .income-table strong,
:root[data-theme="dark"] .upload-drop,
:root[data-theme="dark"] .preview-item { background:var(--surface); border-color:var(--border); color:var(--text); }
:root[data-theme="dark"] .step-dot,
:root[data-theme="dark"] .pill,
:root[data-theme="dark"] .doc-card .pill,
:root[data-theme="dark"] .upload-summary span { background:var(--card); color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] .step-dot.active { background:var(--brand); color:#042f2e; border-color:transparent; }
:root[data-theme="dark"] .consent-panel h3,
:root[data-theme="dark"] .consent-panel label,
:root[data-theme="dark"] .upload-card strong,
:root[data-theme="dark"] .upload-summary strong { color:var(--text); }
:root[data-theme="dark"] .consent-panel p,
:root[data-theme="dark"] .upload-card small,
:root[data-theme="dark"] .upload-summary { color:var(--muted); }
:root[data-theme="dark"] .upload-card .upload-drop { background:var(--card); color:var(--text); }
:root[data-theme="dark"] .main { background:radial-gradient(circle at 20% 0%, rgba(45,212,191,.12), transparent 34%), var(--bg); }
:root[data-theme="dark"] .choice-card,
:root[data-theme="dark"] .applicant-card,
:root[data-theme="dark"] .quick-summary-card,
:root[data-theme="dark"] .applicant-score,
:root[data-theme="dark"] .doc-upload-form,
:root[data-theme="dark"] .dossier-line,
:root[data-theme="dark"] .signature-box,
:root[data-theme="dark"] .dossier-income-summary,
:root[data-theme="dark"] .executive-sheet,
:root[data-theme="dark"] .dossier360-cover,
:root[data-theme="dark"] .dossier360-panel,
:root[data-theme="dark"] .dossier360-doc,
:root[data-theme="dark"] .dossier360-signatures > div { background:var(--card); border-color:var(--border); color:var(--text); }
:root[data-theme="dark"] .full-file .expediente-header,
:root[data-theme="dark"] .dossier360-toolbar { background:rgba(16,29,46,.92); border-color:var(--border); }
:root[data-theme="dark"] .tabs button,
:root[data-theme="dark"] .doc-carousel-thumbs button,
:root[data-theme="dark"] .doc-thumb,
:root[data-theme="dark"] .dossier360-score,
:root[data-theme="dark"] .dossier360-id,
:root[data-theme="dark"] .dossier360-flags span { background:var(--surface); color:var(--text); border-color:var(--border); }
:root[data-theme="dark"] .dossier-line strong,
:root[data-theme="dark"] .applicant-score strong,
:root[data-theme="dark"] .choice-card legend,
:root[data-theme="dark"] .dossier360-status-grid strong,
:root[data-theme="dark"] .dossier360-info strong,
:root[data-theme="dark"] .dossier360-panel h3,
:root[data-theme="dark"] .dossier360-panel h4 { color:var(--text); }
:root[data-theme="dark"] .dossier360-person p,
:root[data-theme="dark"] .dossier360-panel p,
:root[data-theme="dark"] .dossier360-doc small,
:root[data-theme="dark"] .doc-file-link span { color:var(--muted); }
:root[data-theme="dark"] .button.light,
:root[data-theme="dark"] .role-hint { color:var(--text); }
:root[data-theme="dark"] .status { background:#083344; color:#a5f3fc; border-color:#155e75; }
:root[data-theme="dark"] .status.error { background:#3b1117; color:#fecaca; border-color:#7f1d1d; }
:root[data-theme="dark"] .notice { background:#422006; color:#fde68a; }
.referral-create { display:grid; grid-template-columns:1fr auto; gap:12px; align-items:end; margin:14px 0; }
.referral-list { display:grid; gap:10px; }
.referral-row { display:grid; grid-template-columns:minmax(130px,220px) 1fr auto auto; gap:10px; align-items:center; }
.referral-row input { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.9rem; }
@media (max-width:760px) { .referral-create,.referral-row { grid-template-columns:1fr; } }

/* Visual refresh 2026: premium backoffice surfaces, typography and spacing */
:root {
  --radius-sm:14px;
  --radius-md:22px;
  --radius-lg:32px;
  --focus-ring:0 0 0 4px rgba(45,212,191,.22);
}
body { line-height:1.55; letter-spacing:-.012em; }
.main { min-height:100vh; background:radial-gradient(circle at 12% 0%, rgba(20,184,166,.10), transparent 30%), radial-gradient(circle at 84% 10%, rgba(59,130,246,.08), transparent 26%); }
.sidebar { width:100%; border-right:1px solid rgba(255,255,255,.08); box-shadow:18px 0 55px rgba(2,6,23,.20); }
.backoffice-portal .sidebar { background:linear-gradient(180deg,#0f2a3f 0%,#091827 52%,#050b16 100%); }
.brand { font-size:clamp(1.25rem,1.4vw,1.65rem); line-height:1.28; letter-spacing:-.025em; }
.logo { box-shadow:0 14px 34px rgba(20,184,166,.25); }
.nav { gap:10px; }
.nav a { position:relative; min-height:52px; display:flex; align-items:center; padding:13px 16px; border:1px solid transparent; transition:background .18s ease, transform .18s ease, border-color .18s ease; }
.nav a.active,.nav a:hover { background:rgba(148,163,184,.16); border-color:rgba(255,255,255,.12); transform:translateX(2px); }
.nav a.active::before { content:""; width:5px; height:28px; border-radius:99px; background:linear-gradient(180deg,#2dd4bf,#60a5fa); position:absolute; left:-2px; }
.topbar { padding:10px 0 6px; }
.topbar h1 { letter-spacing:-.055em; font-weight:950; text-wrap:balance; }
.topbar p { font-size:1.05rem; color:var(--muted); }
.card,.page-card,.intake-board,.bureau-panel,.credit-file { border-radius:var(--radius-lg); border-color:rgba(148,163,184,.25); box-shadow:0 24px 70px rgba(2,6,23,.10); }
:root[data-theme="dark"] .card,
:root[data-theme="dark"] .page-card,
:root[data-theme="dark"] .intake-board,
:root[data-theme="dark"] .bureau-panel,
:root[data-theme="dark"] .credit-file { background:linear-gradient(180deg,rgba(20,34,53,.96),rgba(13,26,43,.98)); border-color:rgba(96,165,250,.16); box-shadow:0 28px 70px rgba(0,0,0,.30); }
button,.button { min-height:48px; border-radius:16px; letter-spacing:-.01em; box-shadow:0 12px 28px rgba(20,184,166,.14); transition:transform .16s ease, box-shadow .16s ease, filter .16s ease, border-color .16s ease; }
button:hover,.button:hover { transform:translateY(-1px); filter:saturate(1.08); box-shadow:0 18px 36px rgba(20,184,166,.20); }
button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:none; box-shadow:var(--focus-ring); border-color:var(--brand); }
button.danger,.button.danger { background:linear-gradient(135deg,#fb7185,#ef4444); }
.button.secondary,button.secondary { background:rgba(148,163,184,.10); }
input,select,textarea { min-height:50px; border-radius:16px; border-color:rgba(148,163,184,.28); transition:border-color .16s ease, box-shadow .16s ease, background .16s ease; }
:root[data-theme="dark"] input,
:root[data-theme="dark"] select,
:root[data-theme="dark"] textarea { background:#0c1828; border-color:rgba(96,165,250,.22); }
.pill,.decision-badge,.legal-signal { box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
.bureau-kpis { gap:12px; }
.bureau-kpis div { min-height:104px; padding:18px; border-radius:24px; background:linear-gradient(135deg,rgba(45,212,191,.10),rgba(96,165,250,.06)); }
.bureau-kpis strong { font-size:clamp(1.7rem,2vw,2.25rem); letter-spacing:-.04em; }
.applicant-card { grid-template-columns:72px minmax(280px,1.25fr) minmax(170px,.55fr) minmax(150px,.45fr) minmax(190px,.55fr); gap:22px; padding:24px 26px; border-radius:30px; align-items:center; }
:root[data-theme="dark"] .applicant-card { background:linear-gradient(135deg,rgba(15,30,49,.94),rgba(14,27,45,.98)); border-color:rgba(96,165,250,.18); box-shadow:0 22px 58px rgba(0,0,0,.24); }
.applicant-card:hover { transform:translateY(-3px); border-color:rgba(45,212,191,.55); }
.applicant-avatar { width:68px; height:68px; border-radius:24px; font-size:1.2rem; box-shadow:0 16px 34px rgba(16,185,129,.20); }
.applicant-main strong { display:block; font-size:clamp(1.08rem,1.35vw,1.35rem); letter-spacing:-.025em; margin-bottom:4px; }
.applicant-main small,.applicant-meta small { line-height:1.5; }
.applicant-meta { display:grid; gap:9px; }
.applicant-actions { display:grid; gap:10px; justify-items:stretch; }
.applicant-actions .button,.applicant-actions button { width:100%; margin:0; }
.board-toolbar { grid-template-columns:minmax(260px,1.35fr) minmax(190px,.75fr) minmax(190px,.75fr); gap:14px; padding:6px; }
.executive-sheet { max-width:1500px; padding:24px; border-radius:36px; }
:root[data-theme="dark"] .executive-sheet { background:radial-gradient(circle at top left,rgba(20,184,166,.16),transparent 32%), linear-gradient(180deg,#102033,#081321); border-color:rgba(96,165,250,.20); }
.dossier360-toolbar { top:10px; border-radius:26px; padding:16px 18px; }
.dossier360-cover,.dossier360-panel { border-radius:30px; padding:clamp(20px,2.4vw,34px); }
.dossier360-person { grid-template-columns:auto minmax(0,1fr); gap:28px; }
.dossier360-person img { width:148px; height:148px; border-width:4px; box-shadow:0 20px 48px rgba(2,6,23,.24); }
.dossier360-person h2 { font-size:clamp(2.4rem,4.7vw,4.35rem); letter-spacing:-.07em; line-height:.95; }
.dossier360-person p { font-size:1.12rem; }
.dossier360-score { padding:18px; border-radius:22px; }
.dossier360-score strong { font-size:1.45rem; }
.dossier360-meter { height:16px; }
.dossier360-status-grid { grid-template-columns:repeat(2,minmax(260px,1fr)); gap:14px 38px; font-size:1.05rem; }
.dossier360-status-grid p { padding:8px 0; }
.dossier360-grid { gap:20px; }
.dossier360-info { gap:14px 22px; }
.dossier360-management-note { padding:18px 20px; border-radius:22px; font-size:1.05rem; }
.dossier360-warning,.dossier360-ok { padding:14px 0; font-size:1.05rem; }
.dossier360-doc-grid { grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); }
.doc-carousel-thumbs { scrollbar-width:thin; }

.doc-delete-list { display:grid; gap:8px; margin-top:10px; padding-top:10px; border-top:1px dashed rgba(148,163,184,.35); }
.doc-delete-list button { width:100%; min-height:40px; font-size:.88rem; }
@media (max-width:1280px) {
  .applicant-card { grid-template-columns:64px minmax(0,1fr); }
  .applicant-meta,.applicant-actions { grid-column:2; }
  .applicant-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:980px) {
  .board-toolbar { grid-template-columns:1fr; }
  .dossier360-person img { width:112px; height:112px; }
  .dossier360-status-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .applicant-card { grid-template-columns:1fr; text-align:left; }
  .applicant-meta,.applicant-actions { grid-column:auto; }
  .applicant-actions { grid-template-columns:1fr; }
  .dossier360-person { grid-template-columns:1fr; text-align:left; }
}

/* PDF ejecutivo profesional: documentos legibles y sin recortes */
.pdf-documents-header { display:none; }
@media print {
  .pdf-documents-section {
    border:0;
    padding:0;
    margin:0;
    break-before:page;
    page-break-before:always;
    break-inside:auto;
    page-break-inside:auto;
  }
  .pdf-documents-header {
    display:block;
    border:1px solid #cbd5e1;
    border-left:5px solid #0f766e;
    border-radius:10px;
    padding:8px 10px;
    margin:0 0 8px;
    background:#f8fafc;
    break-after:avoid;
    page-break-after:avoid;
  }
  .pdf-documents-header span { display:block; color:#0f766e; text-transform:uppercase; letter-spacing:.14em; font-size:7px; font-weight:900; }
  .pdf-documents-header h2 { margin:2px 0 3px; color:#0f172a; border:0; padding:0; font-size:13px; }
  .pdf-documents-header p { margin:0; color:#475569; font-size:8.5px; line-height:1.35; }
  .pdf-document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7mm; align-items:start; }
  .pdf-doc-tile {
    display:grid;
    grid-template-rows:auto 1fr auto;
    gap:5px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    padding:6px;
    background:#fff;
    min-height:auto;
    break-inside:avoid;
    page-break-inside:avoid;
    box-shadow:none;
  }
  .pdf-doc-tile header { display:grid; grid-template-columns:20px 1fr; gap:5px; align-items:start; border-bottom:1px solid #e2e8f0; padding-bottom:4px; }
  .pdf-doc-tile header span { display:grid; place-items:center; width:18px; height:18px; border-radius:999px; background:#0f766e; color:#fff; font-size:8px; font-weight:900; }
  .pdf-doc-tile h3 { margin:0; color:#0f172a; font-size:9.2px; line-height:1.18; }
  .pdf-doc-frame { height:98mm; display:grid; place-items:center; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden; color:#64748b; padding:3mm; }
  .pdf-doc-frame img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain !important; object-position:center center; }
  .pdf-doc-tile footer { color:#475569; font-size:7.2px; line-height:1.25; overflow-wrap:anywhere; border-top:1px solid #edf2f7; padding-top:3px; }
  .pdf-doc-tile.full-page,
  .pdf-doc-tile.text-document {
    grid-column:1 / -1;
    min-height:245mm;
    break-before:auto;
    page-break-before:auto;
  }
  .pdf-doc-tile.full-page .pdf-doc-frame,
  .pdf-doc-tile.text-document .pdf-doc-frame { height:224mm; padding:4mm; }
  .pdf-doc-tile.large-page,
  .pdf-doc-tile.screenshot,
  .pdf-doc-tile.photo-document {
    grid-column:1 / -1;
    min-height:170mm;
    break-before:auto;
  }
  .pdf-doc-tile.large-page .pdf-doc-frame,
  .pdf-doc-tile.screenshot .pdf-doc-frame,
  .pdf-doc-tile.photo-document .pdf-doc-frame { height:150mm; padding:4mm; }
  .pdf-doc-tile.wide,
  .pdf-doc-tile.horizontal-document {
    grid-column:1 / -1;
    min-height:82mm;
  }
  .pdf-doc-tile.wide .pdf-doc-frame,
  .pdf-doc-tile.horizontal-document .pdf-doc-frame { height:64mm; padding:4mm 8mm; }
  .pdf-doc-pdf { font-size:18px; font-weight:950; color:#0f766e; border:2px solid #99f6e4; border-radius:14px; padding:18px 22px; background:#ecfeff; }
}

/* PDF generativo ejecutivo: reporte independiente de la UI */
.pdf-report-pro { display:none; }
@media print {
  .pdf-report-pro { display:block !important; color:#0f172a; font-family:Inter, Arial, sans-serif; }
  .pdf-title-page {
    min-height:265mm;
    display:grid;
    grid-template-rows:auto 1fr auto;
    gap:10mm;
    border:1px solid #cbd5e1;
    border-top:7px solid #0f766e;
    border-radius:12px;
    padding:12mm;
    background:linear-gradient(180deg,#ffffff,#f8fafc);
    break-after:page;
    page-break-after:always;
  }
  .pdf-title-page .pdf-cover-brand { margin:0; }
  .pdf-cover-brand p { margin:2px 0 0; color:#475569; font-size:10px; }
  .pdf-title-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:10mm; align-items:center; }
  .pdf-title-person { display:grid; grid-template-columns:42mm minmax(0,1fr); gap:8mm; align-items:center; }
  .pdf-title-person img,.pdf-title-person .applicant-avatar { display:block; box-sizing:border-box; width:42mm; min-width:42mm; max-width:42mm; height:42mm; min-height:42mm; aspect-ratio:1 / 1; border-radius:10mm; object-fit:cover; object-position:center; border:2px solid #0f766e; }
  .pdf-title-person > div:last-child { min-width:0; }
  .pdf-title-person span,.pdf-decision-card span { display:block; color:#0f766e; text-transform:uppercase; letter-spacing:.14em; font-size:8px; font-weight:950; }
  .pdf-title-person h2 { margin:2mm 0; color:#0f172a; font-size:27px; line-height:1.02; letter-spacing:-.04em; }
  .pdf-title-person p { margin:2px 0; color:#475569; font-size:10px; }
  .pdf-decision-card { border:1px solid #99f6e4; border-radius:14px; padding:9mm; background:#ecfeff; }
  .pdf-decision-card strong { display:block; color:#0f766e; font-size:40px; line-height:1; margin:4mm 0; }
  .pdf-decision-card i { display:block; height:4mm; border-radius:99px; overflow:hidden; background:#dbeafe; }
  .pdf-decision-card i b { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,#0f766e,#22c55e); }
  .pdf-decision-card p { margin:4mm 0 0; color:#334155; font-size:10px; line-height:1.35; }
  .pdf-cover-metrics { align-self:end; }
  .pdf-report-main { display:block; }
  .pdf-report-section { padding:9px; margin:0 0 8px; border:1px solid #dbe3ea; border-radius:10px; background:#fff; }
  .pdf-report-section:nth-of-type(2n) { background:#fbfdff; }
  .pdf-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; border-bottom:1px solid #e2e8f0; padding-bottom:5px; margin-bottom:7px; break-after:avoid; page-break-after:avoid; }
  .pdf-section-heading span { color:#0f766e; font-size:7px; text-transform:uppercase; letter-spacing:.15em; font-weight:950; }
  .pdf-section-heading h2 { margin:0; padding:0; border:0; color:#0f172a; font-size:13px; letter-spacing:-.02em; }
  .pdf-report-section .pdf-field-grid { grid-template-columns:repeat(3,1fr); gap:6px 9px; }
  .pdf-report-section .pdf-field { border:0; border-left:2px solid #ccfbf1; padding:0 0 0 6px; min-height:30px; }
  .pdf-report-section .pdf-field strong { font-size:9.5px; line-height:1.25; }
  .pdf-report-section .pdf-field span { font-size:6.8px; }
  .pdf-income-section,.pdf-section:has(.pdf-eval-summary) { break-before:auto; }
}

/* Bandeja de expedientes: lead, trazabilidad y acciones ejecutivas */
.applicant-card-pro .applicant-main { display:grid; gap:5px; }
.applicant-card-pro .applicant-main .eyebrow { color:var(--brand); font-size:.72rem; }
.applicant-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:8px; }
.applicant-timeline span { display:grid; gap:2px; padding:8px 10px; border:1px solid var(--border); border-radius:14px; background:rgba(148,163,184,.08); color:var(--muted); font-size:.78rem; }
.applicant-timeline b { color:var(--text); font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.action-stack { gap:9px; }
.styled-action { width:100%; justify-content:center; border:1px solid rgba(148,163,184,.24); font-weight:950; }
.whatsapp-ready { background:linear-gradient(135deg,#25d366,#14b8a6); color:#042f2e; border:0; }
:root[data-theme="dark"] .applicant-timeline span { background:rgba(15,23,42,.34); }
@media (max-width:980px) { .applicant-timeline { grid-template-columns:1fr; } }

/* PDF ejecutivo sin anexos: portada con firma y tarjetas amplias */
@media print {
  .pdf-title-page { min-height:250mm; gap:8mm; padding:14mm; }
  .pdf-title-grid { grid-template-columns:1fr 1fr; align-items:stretch; }
  .pdf-title-person { border:1px solid #cbd5e1; border-radius:16px; padding:10mm; background:#fff; }
  .pdf-title-person h2 { font-size:34px; line-height:1; }
  .pdf-title-person p { font-size:12px; line-height:1.45; }
  .pdf-decision-card { padding:10mm; display:grid; align-content:center; }
  .pdf-decision-card strong { font-size:21px; line-height:1.12; margin:3mm 0; }
  .pdf-decision-card .pdf-score-big { display:block; color:#0f766e; font-size:34px; font-style:normal; font-weight:950; line-height:1; margin:2mm 0; }
  .pdf-decision-card hr { width:100%; border:0; border-top:1px solid #99f6e4; margin:5mm 0; }
  .pdf-cover-metrics { grid-template-columns:repeat(3,1fr); gap:4mm; }
  .pdf-report-section { padding:14px; margin:0 0 10px; border-radius:14px; }
  .pdf-section-heading h2 { font-size:16px; }
  .pdf-report-section .pdf-field-grid { grid-template-columns:repeat(2,1fr); gap:9px 12px; }
  .pdf-report-section .pdf-field { min-height:42px; padding-left:8px; }
  .pdf-report-section .pdf-field strong { font-size:12px; line-height:1.32; }
  .pdf-report-section .pdf-field span { font-size:7.8px; }
}

/* Driver mobile account experience */
.driver-portal { --driver-bg:#07111f; --driver-card:#111827; --driver-card-2:#162235; --driver-border:#2b3a50; --driver-text:#f8fafc; --driver-muted:#a7b3c6; --driver-accent:#22d3ee; --driver-green:#84cc16; --driver-yellow:#fde047; }
.driver-portal .main { background:radial-gradient(circle at 80% 0%, rgba(45,212,191,.14), transparent 34%), var(--driver-bg); color:var(--driver-text); min-height:100vh; }
.driver-portal .top-utility { position:fixed; top:20px; right:24px; z-index:12; }
.driver-mobile-home { max-width:760px; margin:0 auto; padding:18px 0 112px; display:grid; gap:18px; }
.driver-mobile-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.driver-mobile-header h1 { margin:8px 0 0; font-size:clamp(2rem,7vw,3.2rem); letter-spacing:-.055em; }
.driver-bell { width:58px; height:58px; border-radius:999px; display:grid; place-items:center; background:linear-gradient(145deg,#172336,#0e1728); border:1px solid var(--driver-border); text-decoration:none; font-size:1.35rem; box-shadow:0 18px 40px rgba(0,0,0,.25); }
.driver-hero-card,.driver-info-card,.driver-help-card,.driver-kpi-grid article { background:linear-gradient(180deg,rgba(22,34,53,.98),rgba(16,24,39,.98)); border:1px solid var(--driver-border); border-radius:30px; box-shadow:0 26px 80px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04); }
.driver-hero-card { padding:28px; display:grid; gap:22px; }
.driver-profile-row { display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:center; }
.driver-avatar { width:82px; height:82px; border-radius:28px; display:grid; place-items:center; background:linear-gradient(135deg,rgba(34,211,238,.24),rgba(45,212,191,.18)); color:#ecfeff; border:1px solid rgba(34,211,238,.35); font-size:1.5rem; font-weight:950; }
.driver-profile-row h2 { margin:.2rem 0; font-size:clamp(1.65rem,5vw,2.35rem); letter-spacing:-.045em; }
.driver-alert { border-radius:24px; padding:20px 22px; border:1px solid rgba(255,255,255,.1); display:grid; gap:8px; }
.driver-alert span { text-transform:uppercase; letter-spacing:.12em; font-weight:950; font-size:.78rem; }
.driver-alert strong { font-size:clamp(1.25rem,4vw,1.8rem); line-height:1.22; }
.driver-alert p { margin:0; color:rgba(255,255,255,.82); font-size:1.05rem; line-height:1.5; }
.driver-alert.ok { background:linear-gradient(135deg,rgba(22,101,52,.55),rgba(20,83,45,.22)); border-color:rgba(74,222,128,.42); }
.driver-alert.warn { background:linear-gradient(135deg,rgba(113,63,18,.55),rgba(120,53,15,.22)); border-color:rgba(251,191,36,.45); }
.driver-alert.danger { background:linear-gradient(135deg,rgba(127,29,29,.74),rgba(88,28,28,.4)); border-color:rgba(248,113,113,.72); }
.driver-pay-cta { display:flex; justify-content:center; align-items:center; min-height:66px; border-radius:22px; color:#06111f; text-decoration:none; font-weight:950; font-size:1.2rem; background:linear-gradient(100deg,#fde047,#84cc16); box-shadow:0 20px 45px rgba(132,204,22,.22); }
.driver-kpi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.driver-kpi-grid article { padding:22px; min-height:142px; display:grid; align-content:center; gap:8px; }
.driver-kpi-grid span,.driver-lines span { color:var(--driver-muted); text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; font-weight:950; }
.driver-kpi-grid strong { font-size:clamp(1.65rem,5vw,2.35rem); line-height:1; letter-spacing:-.05em; }
.driver-kpi-grid small { color:var(--driver-muted); font-size:1rem; }
.driver-info-card { padding:26px; display:grid; gap:20px; }
.driver-section-title { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.driver-section-title h3,.driver-help-card h3 { margin:0; font-size:clamp(1.45rem,4vw,2rem); letter-spacing:-.05em; }
.driver-info-card .pill { background:#172b49; color:#dbeafe; border-color:#31517a; text-decoration:none; }
.driver-lines { display:grid; grid-template-columns:1fr auto; gap:0; }
.driver-lines span,.driver-lines strong { padding:15px 0; border-bottom:1px solid rgba(148,163,184,.18); }
.driver-lines strong { text-align:right; font-size:1.08rem; }
.driver-movement-list { display:grid; gap:12px; }
.driver-movement { display:grid; grid-template-columns:1fr auto; gap:12px; padding:18px 20px; border:1px solid rgba(148,163,184,.18); border-radius:24px; background:rgba(6,12,24,.36); }
.driver-movement strong { display:block; font-size:1.1rem; }
.payment-calendar-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(92px,1fr)); gap:10px; }
.calendar-day { min-height:78px; border-radius:20px; border:1px solid rgba(148,163,184,.18); background:rgba(6,12,24,.38); display:grid; align-content:center; gap:6px; padding:12px; text-align:center; }
.calendar-day b { color:#f8fafc; font-size:1rem; }
.calendar-day small { color:var(--driver-muted); font-weight:800; }
.calendar-day.paid { background:linear-gradient(135deg,rgba(22,101,52,.72),rgba(21,128,61,.3)); border-color:rgba(74,222,128,.5); }
.calendar-day.today { background:linear-gradient(135deg,rgba(234,179,8,.78),rgba(132,204,22,.34)); border-color:rgba(253,224,71,.72); }
.calendar-day.upcoming { background:linear-gradient(135deg,rgba(30,41,59,.9),rgba(15,23,42,.72)); }
.calendar-day.overdue { background:linear-gradient(135deg,rgba(127,29,29,.78),rgba(69,10,10,.45)); border-color:rgba(248,113,113,.45); }
.driver-movement p,.driver-movement small { margin:.35rem 0 0; color:var(--driver-muted); }
.driver-movement b { display:block; font-size:1.18rem; text-align:right; }
.driver-movement span { display:inline-flex; justify-content:center; margin-top:10px; padding:7px 10px; border-radius:999px; background:#172b49; color:#c7e7ff; font-weight:950; font-size:.78rem; }
.driver-help-card { padding:24px; display:grid; grid-template-columns:1fr auto; gap:18px; align-items:center; }
.driver-help-card p { color:var(--driver-muted); margin:.6rem 0 0; font-size:1.08rem; }
.driver-help-card .button { border-radius:999px; min-height:58px; padding-inline:24px; background:linear-gradient(100deg,#38bdf8,#14b8a6); color:#06111f; }
.driver-bottom-nav { position:fixed; left:50%; bottom:18px; transform:translateX(-50%); width:min(720px,calc(100vw - 28px)); display:grid; grid-template-columns:repeat(5,1fr); gap:6px; padding:10px; border-radius:28px; border:1px solid rgba(148,163,184,.22); background:rgba(3,7,18,.86); backdrop-filter:blur(18px); box-shadow:0 20px 70px rgba(0,0,0,.42); z-index:20; }
.driver-bottom-nav a { display:grid; place-items:center; gap:4px; min-height:62px; border-radius:20px; text-decoration:none; color:#9fb0c7; font-weight:950; }
.driver-bottom-nav a span { font-size:.82rem; }
.driver-bottom-nav a.active { background:#12366b; color:white; }
@media (max-width:760px) {
  .driver-portal .sidebar { display:none; }
  .driver-portal .main { padding:18px 14px 120px; }
  .driver-portal .top-utility { top:14px; right:14px; }
  .driver-mobile-home { padding-top:54px; }
  .driver-hero-card,.driver-info-card,.driver-help-card { border-radius:26px; padding:22px; }
  .driver-avatar { width:72px; height:72px; border-radius:24px; }
  .driver-kpi-grid { gap:12px; }
  .driver-kpi-grid article { min-height:128px; padding:18px; }
  .driver-lines { grid-template-columns:1fr; }
  .driver-lines strong { text-align:left; padding-top:0; }
  .driver-movement { grid-template-columns:1fr; }
  .driver-movement b { text-align:left; }
  .driver-help-card { grid-template-columns:1fr; }
  .driver-help-card .button { width:100%; }
}
@media (max-width:420px) {
  .driver-kpi-grid { grid-template-columns:1fr 1fr; }
  .driver-kpi-grid article { padding:15px; }
  .driver-kpi-grid strong { font-size:1.55rem; }
  .driver-bottom-nav { bottom:10px; width:calc(100vw - 16px); }
  .driver-bottom-nav a { min-height:56px; }
}

/* Driver portal app shell: no desktop sidebar, focused mobile-app canvas. */
.shell.driver-portal { display:block; background:var(--driver-bg); }
.driver-portal .sidebar { display:none; }
.driver-portal .main { max-width:780px; margin:0 auto; padding:32px 18px 124px; }
.driver-portal .topbar { padding-top:54px; }
.driver-portal .page-card,.driver-portal .card,.driver-portal form { width:100%; }
.driver-portal #loginForm { margin-top:18px; }
.driver-portal #loginForm button { width:auto; }
.driver-portal #themeToggle,.driver-portal #shellLogout { width:auto; min-height:44px; padding:10px 14px; }
.driver-portal .top-utility { display:flex; gap:8px; align-items:center; }
@media (min-width:900px) {
  .driver-portal .driver-mobile-home { max-width:720px; }
}
@media (max-width:760px) {
  .driver-portal .main { padding:18px 14px 118px; }
  .driver-portal .topbar { padding-top:58px; }
}
.driver-bell { position:relative; }
.driver-bell span { position:absolute; top:-5px; right:-5px; min-width:24px; height:24px; padding:0 7px; border-radius:999px; display:grid; place-items:center; background:#ef4444; color:#fff; font-size:.78rem; font-weight:950; border:2px solid var(--driver-card); }
.driver-status-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.driver-status-card { padding:22px; border:1px solid var(--driver-border); border-radius:24px; background:linear-gradient(180deg,rgba(22,34,53,.98),rgba(16,24,39,.98)); display:grid; gap:8px; }
.driver-status-card span { color:var(--driver-muted); text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; font-weight:950; }
.driver-status-card strong { font-size:1.35rem; letter-spacing:-.03em; }
.driver-status-card small { color:var(--driver-muted); }
.driver-status-card.ok { border-color:rgba(74,222,128,.45); box-shadow:inset 0 0 0 1px rgba(34,197,94,.08); }
.driver-status-card.warn { border-color:rgba(251,191,36,.45); }
.driver-status-card.neutral { border-color:rgba(56,189,248,.34); }
.driver-payment-options { display:grid; gap:12px; margin:18px 0; }
.driver-payment-option { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; padding:16px; border:1px solid rgba(148,163,184,.22); border-radius:22px; background:rgba(6,12,24,.34); cursor:pointer; transition:border-color .18s ease, transform .18s ease, background .18s ease; }
.driver-payment-option:hover,.driver-payment-option.recommended { border-color:rgba(45,212,191,.58); background:rgba(20,184,166,.11); }
.driver-payment-option input { width:18px; height:18px; accent-color:#2dd4bf; }
.driver-payment-option strong { display:block; color:#f8fafc; font-size:1.02rem; }
.driver-payment-option small { display:block; color:var(--driver-muted); margin-top:4px; line-height:1.35; }
.driver-payment-option b { color:#f8fafc; font-size:1.1rem; white-space:nowrap; }
.driver-payment-card,.driver-notification-card { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:18px 20px; border:1px solid rgba(148,163,184,.18); border-radius:24px; background:rgba(6,12,24,.36); margin-top:12px; }
.driver-payment-card strong,.driver-notification-card strong { display:block; font-size:1.08rem; }
.driver-payment-card p,.driver-payment-card small,.driver-notification-card p,.driver-notification-card small { margin:.35rem 0 0; color:var(--driver-muted); }
.driver-payment-card > div:last-child { display:grid; justify-items:end; gap:8px; }
.driver-payment-card b { font-size:1.2rem; }
.driver-payment-card span,.driver-notification-card > span { display:inline-flex; justify-content:center; padding:7px 10px; border-radius:999px; background:#172b49; color:#c7e7ff; font-weight:950; font-size:.78rem; }
.driver-payment-card .pill { text-decoration:none; }
.driver-notification-card.has-unread { border-color:rgba(34,211,238,.42); }
@media (max-width:760px) {
  .driver-status-grid,.driver-payment-card,.driver-notification-card { grid-template-columns:1fr; }
  .driver-payment-card > div:last-child { justify-items:start; }
}

.checklist-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.checklist-grid .pill{white-space:normal;text-align:left}
.vehicle-intake-wizard summary{display:flex;gap:.75rem;align-items:center;justify-content:space-between;cursor:pointer}
.vehicle-intake-wizard summary span{color:var(--muted);font-size:.9rem}
.vehicle-expediente-form{display:grid;gap:1rem;margin-top:1rem}
.vehicle-expediente-form section{border:1px solid var(--line);border-radius:22px;padding:1rem;background:rgba(15,23,42,.22)}
.vehicle-expediente-form h3{margin:.1rem 0 .8rem}
.vehicle-dossier360{display:grid;gap:1rem}
.dossier360-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.25rem;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,rgba(34,211,238,.12),rgba(15,23,42,.22))}
.dossier360-head h2{margin:.25rem 0;font-size:2rem}
.dossier360-actions{display:flex;gap:.65rem;flex-wrap:wrap}
@media(max-width:760px){.dossier360-head{display:grid}.dossier360-actions .button{width:100%;text-align:center}}
.vehicle-documents360 .summary-head{align-items:start}
.vehicle-doc-slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.vehicle-doc-slot{align-content:start;background:rgba(15,23,42,.28)}
.vehicle-doc-slot strong,.vehicle-doc-slot small{display:block}
.vehicle-doc-slot small{color:var(--muted);margin-top:.25rem}
.vehicle-doc-preview{min-height:180px;border:1px solid var(--line);border-radius:18px;background:rgba(2,6,23,.38);display:grid;place-items:center;overflow:hidden;color:var(--muted);font-weight:900}
.vehicle-doc-preview.ready{background:rgba(20,184,166,.08)}
.vehicle-doc-preview img{width:100%;height:220px;object-fit:cover;display:block}
.vehicle-doc-empty{padding:1rem;text-align:center}
@media(max-width:900px){.vehicle-doc-slot-grid{grid-template-columns:1fr}.vehicle-doc-preview img{height:190px}}

/* Expediente vehicular 360: lectura ejecutiva, humana y enfocada. */
.vehicle360-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:0 auto 24px;max-width:1440px;padding:6px 4px}
.vehicle360-page-head h1{margin:5px 0 8px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1}
.vehicle360-page-head p{margin:0;color:var(--muted);font-size:1.05rem}
.vehicle360-page-head .actions{margin:0;flex-wrap:nowrap}
.vehicle360-finder{max-width:1440px;margin-inline:auto;padding:28px}
.finder-heading{display:flex;align-items:start;justify-content:space-between;gap:18px;margin-bottom:18px}
.finder-heading h2{margin:0 0 5px;font-size:1.35rem}
.finder-heading p{margin:0}
.finder-heading>span{padding:7px 11px;border-radius:999px;background:rgba(15,118,110,.09);color:var(--brand-dark);font-size:.76rem;font-weight:850}
.vehicle360-finder .board-toolbar{grid-template-columns:minmax(300px,1.6fr) minmax(170px,.6fr) minmax(170px,.6fr);gap:14px}
.search-field{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--field);padding-left:14px;transition:border-color .2s,box-shadow .2s}
.search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.search-field>span{font-size:1.35rem;color:var(--muted)}
.search-field input{border:0;box-shadow:none;background:transparent}
.fleet-summary-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-block:4px 22px}
.fleet-summary-kpis div{min-height:82px;padding:14px 16px;border-radius:18px}
.fleet-summary-kpis strong{font-size:1.65rem}
.vehicle-dossier360{max-width:1440px;margin:26px auto 0;gap:20px;scroll-behavior:smooth}
.vehicle-dossier360>section{scroll-margin-top:88px}
.vehicle360-nav{position:sticky;top:12px;z-index:8;display:flex;gap:5px;overflow-x:auto;padding:7px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 12px 32px var(--shadow);backdrop-filter:blur(14px)}
.vehicle360-nav a{flex:1;min-width:max-content;text-align:center;text-decoration:none;color:var(--muted);font-size:.86rem;font-weight:850;padding:10px 14px;border-radius:12px}
.vehicle360-nav a:hover,.vehicle360-nav a:focus{color:var(--brand-dark);background:rgba(15,118,110,.09);outline:none}
.vehicle360-overview{overflow:hidden;border:1px solid rgba(15,118,110,.2);border-radius:30px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--card) 88%,#ccfbf1));box-shadow:0 24px 70px rgba(15,23,42,.10)}
.vehicle360-identity{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px 30px 22px;border-bottom:1px solid var(--border)}
.vehicle360-identity h2{margin:4px 0;font-size:clamp(2.1rem,5vw,3.5rem);letter-spacing:-.05em}
.vehicle360-identity p{margin:0;color:var(--muted);font-weight:700}
.status-badge{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.83rem;font-weight:900}
.status-badge i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}
.status-badge.is-available{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.status-badge.is-busy{color:#a14b08;background:#fff8e7;border-color:#fed7aa}
.status-badge.is-alert{color:#b42318;background:#fff1f0;border-color:#fecaca}
.vehicle360-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border)}
.vehicle360-kpi{min-width:0;display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;padding:22px 24px;background:var(--card)}
.kpi-icon,.section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(15,118,110,.1);color:var(--brand-dark);font-size:1.1rem;font-weight:950}
.vehicle360-kpi div{display:grid;gap:3px;min-width:0}
.vehicle360-kpi span:not(.kpi-icon){color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.vehicle360-kpi strong{font-size:1.08rem;overflow-wrap:anywhere}
.vehicle360-kpi small{color:var(--muted);overflow-wrap:anywhere}
.dossier-section-card{padding:26px;box-shadow:0 16px 46px rgba(15,23,42,.07)}
.section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}
.section-heading>div{display:flex;gap:13px;align-items:start}
.section-heading h3{margin:3px 0 0;font-size:1.3rem}
.section-heading p{margin:5px 0 0}
.completion-badge{white-space:nowrap;padding:7px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.78rem;font-weight:850}
.finance-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.finance-strip>div,.mini-summary>div{display:grid;gap:6px;padding:17px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.finance-strip span,.mini-summary span{color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.finance-strip strong{font-size:clamp(1.35rem,2.4vw,2rem);letter-spacing:-.04em;overflow-wrap:anywhere}
.finance-strip .finance-net{background:rgba(15,118,110,.09);border-color:rgba(15,118,110,.24)}
.subsection-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:22px 0 10px}
.subsection-title h4{margin:0}.subsection-title span{color:var(--muted);font-size:.8rem}
.human-list-row,.human-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--border)}
.human-list-row>div,.human-row>div:nth-child(2){display:grid;gap:3px;min-width:0}
.human-list-row small,.human-row small{color:var(--muted)}
.human-avatar{flex:0 0 42px;width:42px;height:42px;display:grid!important;place-items:center;border-radius:50%;background:rgba(15,118,110,.1);color:var(--brand-dark);font-weight:950}
.human-row>div:nth-child(2){margin-right:auto}
.row-status{display:grid;text-align:right;gap:4px}.row-status span{font-weight:900;color:var(--brand-dark)}
.mini-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}
.mini-summary strong{font-size:1rem;overflow-wrap:anywhere}
.empty-copy{padding:20px;border:1px dashed var(--border);border-radius:16px;text-align:center;background:var(--surface)}
.vehicle360-master-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;align-items:start}
.vehicle360-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.vehicle360-docs-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:20px;align-items:start}
.vehicle-doc-slot-grid{gap:14px}
.vehicle-doc-slot{padding:0;overflow:hidden;border:1px solid var(--border);border-radius:20px;background:var(--surface)}
.vehicle-doc-slot.is-ready{border-color:rgba(15,118,110,.25)}
.vehicle-doc-preview{min-height:150px;border:0;border-radius:0;background:color-mix(in srgb,var(--surface) 75%,#e2e8f0)}
.vehicle-doc-preview img{height:170px;transition:transform .25s ease}
.vehicle-doc-preview a:hover img{transform:scale(1.025)}
.vehicle-doc-copy{padding:14px}.document-title{display:flex;justify-content:space-between;gap:8px;align-items:center}
.document-state{color:var(--ok);font-size:.72rem;font-weight:900}.is-pending .document-state{color:var(--muted)}
.human-timeline{display:grid}.timeline-entry{position:relative;display:grid;grid-template-columns:18px 1fr;gap:10px;padding-bottom:20px}
.timeline-entry:not(:last-child):before{content:"";position:absolute;left:5px;top:13px;bottom:0;width:2px;background:var(--border)}
.timeline-dot{position:relative;z-index:1;width:12px;height:12px;margin-top:5px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 15%,var(--card))}
.timeline-title{display:flex;justify-content:space-between;gap:10px}.timeline-title span{color:var(--muted);font-size:.8rem;font-weight:800}
.timeline-entry p{margin:5px 0;color:var(--text)}.timeline-entry small{color:var(--muted)}
@media(max-width:1100px){.vehicle360-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle360-master-grid,.vehicle360-docs-layout{grid-template-columns:1fr}}
@media(max-width:760px){.vehicle360-page-head,.finder-heading,.vehicle360-identity{align-items:flex-start;display:grid}.vehicle360-page-head .actions{display:grid;width:100%}.vehicle360-finder{padding:18px}.vehicle360-finder .board-toolbar{grid-template-columns:1fr}.fleet-summary-kpis,.vehicle360-kpis,.finance-strip,.mini-summary{grid-template-columns:1fr 1fr}.vehicle360-two{grid-template-columns:1fr}.vehicle360-nav a{flex:0 0 auto}.section-heading{display:grid}.vehicle-doc-preview img{height:190px}}
@media(max-width:480px){.fleet-summary-kpis,.vehicle360-kpis,.finance-strip,.mini-summary{grid-template-columns:1fr}.vehicle360-identity{padding:22px}.vehicle360-kpi{padding:18px}.human-row{align-items:flex-start;flex-wrap:wrap}.row-status{text-align:left;margin-left:56px}.timeline-title{display:grid}}
.operation-search-card { border-color:rgba(45,212,191,.28); background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(8,16,30,.98)); }
.operation-connect-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.operation-connect-card { margin:0; min-height:100%; }
.operation-check { display:grid; grid-template-columns:auto 1fr; gap:.2rem .55rem; align-items:center; padding:.55rem 0; border-bottom:1px solid rgba(148,163,184,.16); }
.operation-check strong { width:24px; height:24px; border-radius:999px; display:grid; place-items:center; font-weight:950; }
.operation-check.ok strong { background:rgba(34,197,94,.2); color:#86efac; }
.operation-check.warn strong { background:rgba(251,191,36,.18); color:#fde68a; }
.operation-check span { font-weight:900; color:var(--text); }
.operation-check small { grid-column:2; color:var(--muted); }
@media(max-width:980px){.operation-connect-grid{grid-template-columns:1fr}}

/* Operaciones: flujo guiado y legible de conexión, entrega y devolución. */
.operations-page-head{max-width:1440px;margin:0 auto 20px;display:flex;justify-content:space-between;align-items:end;gap:24px;padding:6px 4px}
.operations-page-head h1{margin:5px 0 8px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1}
.operations-page-head p{margin:0;max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.55}
.operations-stage-nav{position:sticky;top:12px;z-index:8;max-width:1440px;margin:0 auto 22px;display:flex;gap:6px;padding:7px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 12px 32px var(--shadow);backdrop-filter:blur(14px)}
.operations-stage-nav a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;color:var(--muted);font-size:.86rem;font-weight:900;text-decoration:none}
.operations-stage-nav a:hover,.operations-stage-nav a:focus{background:rgba(15,118,110,.09);color:var(--brand-dark);outline:none}
.operations-stage-nav span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(15,118,110,.12);color:var(--brand-dark);font-size:.76rem}
#operationLookup,#operationActions,#operationsFlowLists{scroll-margin-top:84px;max-width:1440px;margin-inline:auto}
.operation-search-card{padding:28px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--card) 91%,#ccfbf1));border-color:rgba(15,118,110,.22);box-shadow:0 24px 70px rgba(15,23,42,.1)}
.operation-search-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:22px}
.operation-search-heading h2{margin:4px 0 7px;font-size:1.55rem}.operation-search-heading p{margin:0;color:var(--muted);max-width:760px}
.operation-secure-label{white-space:nowrap;padding:8px 12px;border:1px solid #a7f3d0;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.78rem;font-weight:900}
.operation-lookup-fields{display:grid;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr) auto;gap:12px;align-items:center;padding:18px;border:1px solid var(--border);border-radius:22px;background:var(--surface)}
.operation-lookup-fields label{margin:0}.operation-lookup-fields label>span{font-size:.83rem}.operation-lookup-fields label>small{color:var(--muted);font-weight:600}
.operation-input{display:grid;grid-template-columns:auto 1fr;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--field);padding-left:13px}
.operation-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.operation-input>span{color:var(--muted);font-size:1.2rem}.operation-input input{border:0;background:transparent;box-shadow:none}
.operation-lookup-fields button{align-self:center;white-space:nowrap;margin-top:3px}
.operation-connect-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.operation-connect-card{padding:20px;border-radius:22px;box-shadow:none;background:var(--card)}
.operation-connect-card h3{margin:5px 0 6px;font-size:1.2rem}.operation-connect-card p{line-height:1.45}
.operation-connect-card .dossier-lines{grid-template-columns:1fr}.operation-connect-card .dossier-line{background:var(--surface)}
.operation-check{border-bottom:1px solid var(--border)}
.operation-check span{color:var(--text)}.operation-check small{color:var(--muted)}
.operation-section-title{max-width:1440px;margin:34px auto 16px;display:flex;justify-content:space-between;align-items:end;gap:20px;padding-inline:4px}
.operation-section-title h2{margin:4px 0 6px;font-size:1.55rem}.operation-section-title p{margin:0;color:var(--muted)}
.operation-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.operation-action-card{position:relative;min-width:0;padding:24px;border-radius:24px;box-shadow:0 16px 46px rgba(15,23,42,.07)}
.operation-action-card h3{margin:5px 52px 8px 0;font-size:1.25rem}.operation-action-card>p{line-height:1.5}
.operation-step-icon{position:absolute;right:20px;top:20px;display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(15,118,110,.1);color:var(--brand-dark);font-weight:950}
.operation-action-card .compact-form{margin:18px 0 10px}.operation-action-card .compact-form label{font-size:.9rem}
.operation-action-card .compact-form button{width:100%;margin-top:4px}
.operation-action-card .dossier-lines{grid-template-columns:1fr 1fr}.operation-action-card .dossier-line{padding:10px;background:var(--surface)}
.operation-payment-card{border-color:rgba(245,158,11,.3);background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--card) 94%,#fef3c7))}
.operation-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:30px}
.operation-activity-card{padding:22px;border-radius:24px;box-shadow:0 16px 46px rgba(15,23,42,.07)}
.operation-card-head{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;margin-bottom:12px}
.operation-card-head h3{margin:0 0 3px}.operation-card-head p{margin:0;color:var(--muted);font-size:.85rem}
.operation-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(15,118,110,.1);color:var(--brand-dark);font-weight:950}
.operation-count{display:grid;place-items:center;min-width:32px;height:32px;padding:0 9px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.8rem;font-weight:900}
.operation-activity-list{display:grid}.operation-activity-row{display:flex;justify-content:space-between;gap:14px;align-items:start;padding:14px 0;border-top:1px solid var(--border)}
.operation-activity-row>div{display:grid;gap:4px;min-width:0}.operation-activity-row small{color:var(--muted)}
.operation-folio{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:"SFMono-Regular",Consolas,monospace}
.operation-state{white-space:nowrap;padding:6px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.74rem;font-weight:900}
.operation-state.is-positive{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.operation-state.is-alert{color:#b42318;background:#fff1f0;border-color:#fecaca}.operation-state.is-neutral{color:#475569}
.operation-empty{display:grid;justify-items:center;gap:4px;padding:24px;border:1px dashed var(--border);border-radius:18px;background:var(--surface);color:var(--muted);text-align:center}
.operation-empty>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ecfdf5;color:#047857;font-weight:950}.operation-empty small{color:var(--muted)}
@media(max-width:1180px){.operation-lookup-fields{grid-template-columns:1fr auto}.operation-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.operations-page-head,.operation-search-heading{display:grid;align-items:start}.operation-lookup-fields,.operation-actions-grid,.operation-activity-grid{grid-template-columns:1fr}.operation-lookup-fields button{width:100%;margin:0}.operation-connect-grid{grid-template-columns:1fr}.operations-stage-nav{overflow-x:auto}.operations-stage-nav a{flex:0 0 auto}.operation-activity-row{flex-direction:column}.operation-state{align-self:flex-start}}
@media(max-width:480px){.operation-search-card{padding:18px}.operation-action-card{padding:20px}.operation-action-card .dossier-lines{grid-template-columns:1fr}.operation-secure-label{white-space:normal}.operations-page-head button{width:100%}}

/* Finanzas: lectura por conductor y validación profesional de movimientos. */
.finance-page-head{max-width:1440px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:end;gap:24px;padding:6px 4px}
.finance-page-head h1{margin:5px 0 8px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em;line-height:1}
.finance-page-head p{margin:0;color:var(--muted);font-size:1.05rem}
.finance-filter-card,#financePayments,#financePaymentResult{max-width:1440px;margin-inline:auto}
.finance-filter-card{padding:20px 24px;margin-bottom:18px}.finance-filter-card form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;padding:0;border:0;box-shadow:none;background:transparent}
.finance-filter-card form label{margin:0}.finance-filter-card>small{display:block;margin-top:10px;color:var(--muted)}
.finance-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}
.finance-kpi{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;padding:22px;border-radius:24px}
.finance-kpi-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#ecfdf5;color:#047857;font-weight:950}.finance-kpi-icon.pending{background:#fff8e7;color:#a14b08}.finance-kpi-icon.average{background:#eff6ff;color:#1d4ed8}
.finance-kpi>div{display:grid;gap:4px}.finance-kpi span:not(.finance-kpi-icon){color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.finance-kpi strong{font-size:clamp(1.65rem,2.5vw,2.25rem);letter-spacing:-.04em}.finance-kpi small{color:var(--muted)}
.finance-card-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.finance-card-heading h3{margin:3px 0 0;font-size:1.3rem}.finance-card-heading p{margin:5px 0 0;color:var(--muted)}.finance-card-heading>small{color:var(--brand-dark);font-weight:850}
.finance-timeline-card,.finance-payment-board{padding:24px;border-radius:24px;margin-bottom:16px}
.finance-period-list{display:grid}.finance-period-list>div{display:grid;grid-template-columns:1fr auto minmax(130px,.35fr);gap:14px;padding:13px 0;border-top:1px solid var(--border);align-items:center}.finance-period-list span:nth-child(2){color:var(--muted)}
.finance-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px}.finance-breakdown-card{padding:22px;border-radius:24px}
.finance-entity-list{display:grid}.finance-entity-row{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;gap:11px;align-items:center;padding:13px 0;border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;color:var(--text);text-align:left;box-shadow:none}
button.finance-entity-row{cursor:pointer}button.finance-entity-row:hover,button.finance-entity-row:focus{padding-inline:10px;border-radius:14px;background:rgba(15,118,110,.08);outline:none}.finance-entity-row>span:nth-child(2){display:grid;gap:3px}.finance-entity-row small{color:var(--muted)}
.finance-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:rgba(15,118,110,.11);color:var(--brand-dark);font-weight:950}.finance-row-arrow{color:var(--brand-dark);font-size:1.5rem}.finance-empty{padding:20px;border:1px dashed var(--border);border-radius:16px;background:var(--surface);text-align:center}
.finance-active-filter{display:flex;align-items:center;gap:13px;padding:16px 18px;margin-bottom:16px;border:1px solid rgba(15,118,110,.24);border-radius:20px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--card) 90%,#ccfbf1))}.finance-active-filter>div{display:grid;gap:2px;margin-right:auto}.finance-active-filter small{color:var(--muted)}
.finance-payment-count{white-space:nowrap;padding:7px 11px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:900}
.finance-payment-list{display:grid}.finance-payment-row{display:grid;grid-template-columns:minmax(220px,1.25fr) minmax(150px,.65fr) minmax(170px,.75fr) auto minmax(130px,.5fr);gap:16px;align-items:center;padding:16px 0;border-top:1px solid var(--border)}
.finance-payment-person{display:flex;gap:11px;align-items:center;min-width:0}.finance-payment-person>div,.finance-payment-amount,.finance-payment-account{display:grid;gap:4px;min-width:0}.finance-payment-person small,.finance-payment-amount small,.finance-payment-account small,.finance-payment-actions small{color:var(--muted);overflow-wrap:anywhere}.finance-payment-amount>strong{font-size:1.12rem}.finance-payment-account>span{font-weight:850}.finance-payment-actions{display:flex;gap:6px;justify-content:flex-end}.finance-payment-actions button{padding:8px 10px;font-size:.78rem}
@media(max-width:1180px){.finance-breakdown-grid{grid-template-columns:1fr 1fr}.finance-payment-row{grid-template-columns:1fr 1fr auto}.finance-payment-account,.finance-payment-actions{grid-column:auto}.finance-payment-person{grid-column:1 / -1}}
@media(max-width:760px){.finance-page-head{display:grid;align-items:start}.finance-page-head button{width:100%}.finance-filter-card form,.finance-kpi-grid,.finance-breakdown-grid,.finance-period-list>div,.finance-payment-row{grid-template-columns:1fr}.finance-filter-card form button{width:100%}.finance-active-filter{align-items:flex-start;flex-wrap:wrap}.finance-active-filter button{width:100%}.finance-payment-person,.finance-payment-account,.finance-payment-actions{grid-column:auto}.finance-payment-actions{justify-content:start}.finance-card-heading{display:grid}.finance-payment-count{justify-self:start}}
.contract-preview { white-space: pre-wrap; background: var(--panel-strong); border: 1px solid var(--border); border-radius: 14px; padding: 1rem; line-height: 1.6; max-height: 520px; overflow: auto; }

.auth-layout { display:grid; grid-template-columns:minmax(0,520px) minmax(280px,1fr); gap:22px; align-items:stretch; max-width:1120px; }
.auth-card { display:grid; gap:4px; }
.auth-card h2,.auth-side-card h3,.auth-mfa-dialog h2 { margin:.2rem 0 .45rem; }
.auth-side-card { border:1px solid var(--border); border-radius:28px; padding:24px; background:linear-gradient(135deg,rgba(15,118,110,.10),var(--card)); box-shadow:0 18px 45px var(--shadow); display:grid; align-content:center; gap:12px; }
.auth-lock { width:46px; height:46px; border-radius:16px; display:grid; place-items:center; background:rgba(15,118,110,.12); color:var(--brand-dark); font-weight:900; }
.auth-steps { display:grid; gap:8px; margin-top:8px; }
.auth-steps span { border:1px solid var(--border); border-radius:999px; padding:10px 12px; background:var(--surface); color:var(--muted); font-weight:850; }
.auth-mfa-modal { position:fixed; inset:0; z-index:9998; display:grid; place-items:center; padding:20px; background:rgba(2,6,23,.58); backdrop-filter:blur(8px); }
.auth-mfa-dialog { width:min(100%,460px); border-radius:30px; padding:28px; box-shadow:0 30px 90px rgba(2,6,23,.28); }
.auth-mfa-dialog input { text-align:center; font-size:1.8rem; letter-spacing:.35em; font-weight:900; }
.auth-code-hint { display:flex; justify-content:space-between; gap:12px; color:var(--muted); font-size:.84rem; font-weight:800; margin-top:-6px; }
.auth-mfa-actions { margin-top:18px; }
@media (max-width:900px) { .auth-layout { grid-template-columns:1fr; max-width:none; } .auth-side-card { order:-1; } }

/* Responsive application shell shared by public and backoffice portals. */
.menu-toggle,.sidebar-close,.sidebar-backdrop { display:none; }
.table-wrap { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
.table-wrap .table { min-width:720px; }
.main,.card,.page-card,form,.topbar>*,.actions>* { min-width:0; }
img,video,canvas,iframe { max-width:100%; }
.chart-frame { max-width:100%; overflow:hidden; }

@media (max-width:1100px) {
  body.navigation-open { overflow:hidden; }
  .shell:not(.driver-portal) { display:block; min-height:100dvh; }
  .shell:not(.driver-portal) .sidebar {
    position:fixed; inset:0 auto 0 0; z-index:50; width:min(340px,88vw); height:100dvh;
    padding:20px 18px max(18px,env(safe-area-inset-bottom)); overflow:hidden;
    transform:translateX(-105%); transition:transform .24s ease; box-shadow:20px 0 60px rgba(2,6,23,.3);
  }
  .shell.nav-open .sidebar { transform:translateX(0); }
  .sidebar-mobile-head { display:flex; align-items:center; justify-content:space-between; gap:12px; flex:0 0 auto; }
  .sidebar-mobile-head .brand { margin:0; min-width:0; }
  .sidebar-mobile-head .brand>span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .sidebar-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; color:#fff !important; border-color:rgba(255,255,255,.3) !important; background:rgba(255,255,255,.12) !important; }
  .shell:not(.driver-portal) .nav { display:grid; grid-template-columns:1fr; gap:7px; margin-top:20px; overflow-y:auto; padding:0 4px 12px 0; }
  .shell:not(.driver-portal) .nav a { min-height:44px; display:flex; align-items:center; }
  .shell:not(.driver-portal) .sidebar small { display:block; margin-top:auto; }
  .menu-toggle { display:inline-flex; position:fixed; z-index:35; top:max(14px,env(safe-area-inset-top)); left:14px; width:auto; min-height:46px; gap:8px; box-shadow:0 10px 30px rgba(15,23,42,.16); }
  .sidebar-backdrop { display:block; position:fixed; inset:0; z-index:45; width:100%; height:100%; padding:0; border:0; border-radius:0; background:rgba(2,6,23,.58); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .24s ease,visibility .24s ease; }
  .shell.nav-open .sidebar-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
  .shell:not(.driver-portal) .main { width:100%; padding:76px clamp(16px,3vw,28px) 32px; }
  .shell:not(.driver-portal) .top-utility { top:14px; right:14px; }
  .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two,.wide-two,.expediente-layout { grid-template-columns:1fr; }
  .dossier360-toolbar { position:static; }
}

@media (max-width:760px) {
  body { overflow-x:hidden; }
  .shell:not(.driver-portal) .main { padding:72px 12px max(28px,env(safe-area-inset-bottom)); }
  .menu-toggle { top:12px; left:12px; min-height:44px; padding:10px 13px; width:auto; }
  .shell:not(.driver-portal) .top-utility { top:12px; right:12px; gap:6px; }
  .top-utility button { width:auto; min-height:44px; padding:9px 11px; }
  .topbar { gap:12px; }
  .topbar h1 { font-size:clamp(1.75rem,8vw,2.2rem); line-height:1.08; overflow-wrap:anywhere; }
  .topbar .actions,.topbar>button,.topbar>.button { width:100%; }
  .grid,.two,.wide-two,.expediente-layout { grid-template-columns:1fr; }
  .card,form,.page-card { padding:16px; border-radius:20px; }
  .card .card,form form,.page-card form { padding:14px; }
  .hero { padding:24px 18px; }
  .hero h1 { font-size:clamp(2.15rem,11vw,3rem); }
  .actions { width:100%; }
  .actions>* { flex:1 1 100%; }
  .tabs,.wizard-steps,.operations-stage-nav,.vehicle360-nav { flex-wrap:nowrap; overflow-x:auto; overscroll-behavior-inline:contain; scrollbar-width:thin; padding-bottom:8px; }
  .tabs button,.tabs a,.wizard-steps>* { flex:0 0 auto; width:auto; white-space:nowrap; }
  .table-wrap { margin-inline:-16px; width:calc(100% + 32px); padding-inline:16px; }
  .table th,.table td { padding:11px; white-space:nowrap; }
  .table td:first-child,.table td:last-child { white-space:normal; }
  .bureau-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .board-toolbar,.inline-form,.form-grid { grid-template-columns:1fr; }
  .dossier360-toolbar .actions,.dossier360-actions,.row-actions { display:grid; grid-template-columns:1fr; width:100%; }
  .dossier360-toolbar .actions>*,.dossier360-actions>*,.row-actions>* { width:100%; }
  .dossier360-cover,.dossier360-panel,.executive-sheet { padding:16px; border-radius:20px; }
  .dossier360-person { grid-template-columns:1fr; }
  .dossier360-doc .doc-thumb { height:auto; min-height:210px; max-height:65vh; }
  .income-table { overflow-x:auto; }
  input,select,textarea,button,.button { min-height:44px; }
  input,select,textarea { font-size:16px; }
  .image-zoom-dialog { width:calc(100vw - 20px); height:calc(100dvh - 20px); max-width:none; max-height:none; grid-template-rows:auto minmax(0,1fr) auto auto; overflow:hidden; }
  .image-zoom-stage { width:100%; height:auto; min-height:0; }
  .auth-mfa-dialog { max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); overflow:auto; }
}

@media (max-width:420px) {
  .theme-toggle { font-size:0; }
  .theme-toggle::first-letter { font-size:1rem; }
  .bureau-kpis { grid-template-columns:1fr; }
  .country-public-brand { align-items:flex-start; flex-direction:column; }
  .driver-bottom-nav a span { font-size:.7rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
.auth-recovery-copy { margin:.35rem 0 0; font-size:.9rem; }
.link-button { appearance:none; border:0; background:transparent; color:var(--brand); font:inherit; font-weight:900; padding:0; cursor:pointer; text-decoration:underline; }
.link-button:hover,.link-button:focus { color:var(--brand-dark); }
