
:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#11233f;background:#f4f7fb;--navy:#082746;--blue:#1267dd;--line:#dce4ef;--muted:#65758d;--green:#147a47;--greenbg:#e9f8ef;--amber:#9a6500;--amberbg:#fff4d6}*{box-sizing:border-box}body{margin:0}.topbar{background:linear-gradient(120deg,#061f39,#0a365f);color:white;padding:20px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.topbar h1{margin:3px 0 0;font-size:24px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;opacity:.78}.eyebrow.dark{color:#54708e;opacity:1}.role-switch{background:#ffffff18;padding:4px;border-radius:10px;display:flex}.role-switch button,.segmented button{border:0;background:transparent;padding:9px 14px;border-radius:7px;font-weight:700;cursor:pointer;color:inherit}.role-switch .active{background:white;color:#0b3b68}.layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:20px;padding:22px 4%;max-width:1700px;margin:auto}.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 5px 18px #17385b0a;padding:18px}.inputs-panel{align-self:start;position:sticky;top:16px}.panel h2{margin:4px 0 16px;font-size:19px}.panel h3{font-size:13px;margin:18px 0 8px}.segmented{display:flex;background:#eef3f9;border-radius:9px;padding:4px;margin-bottom:13px}.segmented button{flex:1;color:#304967}.segmented .active{background:var(--blue);color:white}label{font-size:12px;font-weight:750;color:#53667e;display:block;margin:11px 0}input,select{width:100%;margin-top:5px;border:1px solid #cbd7e5;border-radius:8px;padding:10px 11px;background:#fff;font:inherit;color:#11233f}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.age-info{font-size:12px;background:#f2f6fb;border-radius:8px;padding:9px 10px;color:#53667e}.finance-total{background:var(--navy);color:white;border-radius:10px;padding:13px 14px;display:flex;justify-content:space-between;align-items:center;margin:14px 0}.finance-total span{font-size:12px;opacity:.8}.finance-total strong{font-size:18px}.check{display:flex;gap:10px;align-items:flex-start;background:#edf5ff;border:1px solid #d6e8ff;border-radius:10px;padding:11px}.check input{width:auto;margin:2px 0}.check small{display:block;font-weight:500;color:#667d96;margin-top:3px}.term-buttons{display:flex;flex-wrap:wrap;gap:6px}.term-buttons button{padding:7px 10px;border-radius:7px;border:1px solid #ccd9e8;background:white;cursor:pointer;font-weight:700;color:#37506b}.term-buttons .active{background:var(--blue);color:white;border-color:var(--blue)}button.primary{width:100%;margin-top:16px;border:0;border-radius:9px;padding:12px;background:var(--blue);color:white;font-weight:800;cursor:pointer}.content{display:flex;flex-direction:column;gap:18px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.section-head h2{margin-top:3px}.secondary{border:1px solid #cbd7e5;background:white;border-radius:8px;padding:9px 12px;font-weight:700;color:#24405e;cursor:pointer}.table-wrap{overflow:auto;border:1px solid #e1e7ef;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:12.5px}th{background:var(--navy);color:white;padding:11px 10px;text-align:right;white-space:nowrap}th:first-child{text-align:left;position:sticky;left:0;z-index:2}td{padding:10px;border-bottom:1px solid #e8edf3;text-align:right;vertical-align:top;white-space:nowrap}td:first-child{text-align:left;font-weight:750;background:white;position:sticky;left:0;z-index:1}.cell-main{font-size:14px;font-weight:800}.cell-sub{font-size:10.5px;color:var(--muted);margin-top:3px}.best-cell{background:var(--greenbg)!important;color:var(--green)}.best-margin{background:var(--amberbg)!important;color:var(--amber)}.unavailable{color:#9ba8b7}.legend{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-top:10px}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px}.best-dot{background:#41ad6f}.alert{border-radius:10px;padding:11px 13px;font-size:12px;margin-bottom:8px;border:1px solid}.alert.warn{background:#fff8e8;border-color:#ffe0a0;color:#835a00}.alert.info{background:#eef6ff;border-color:#cfe5ff;color:#235b91}.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule{background:#f7f9fc;border:1px solid #e5ebf3;border-radius:9px;padding:11px}.rule b{display:block;font-size:12px;margin-bottom:4px}.rule span{font-size:11px;color:var(--muted)}.footnote,footer{font-size:11px;color:var(--muted)}footer{padding:0 4% 25px;max-width:1700px;margin:auto}.hidden{display:none!important}@media(max-width:980px){.layout{grid-template-columns:1fr}.inputs-panel{position:static}.rules-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}}

.rate-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px}.rate-head h3{margin:0}.rate-actions{display:flex;gap:5px}.rate-actions button{border:1px solid #ccd9e8;background:#fff;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:800;color:#37506b;cursor:pointer}.rate-buttons{max-height:142px;overflow:auto;padding:2px 1px 4px}.rate-buttons button{min-width:58px}.selector-help{font-size:10.5px;line-height:1.4;color:var(--muted);margin:7px 0 0}.tin-badge{display:inline-block;margin-top:4px;background:#eef4fb;color:#315475;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.company-rate{min-width:150px}
.client-actions{display:flex;gap:8px;flex-wrap:wrap}.commercial-note{padding:12px 14px;margin:0 0 16px;border-radius:10px;background:#f3f7fb;color:#3f5166;font-size:.92rem;line-height:1.45}.tin-badge.large{font-size:.95rem;padding:7px 10px}.client-payment{font-size:1.12rem}.client-summary{margin-top:22px;border-top:1px solid #e5eaf0;padding-top:18px}.client-summary h3{margin:0 0 12px}.summary-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;font-size:.92rem}.summary-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.summary-card{border:1px solid #e2e8ef;border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:8px}.summary-card>b{font-size:1rem;color:#183b61}.summary-card span{display:flex;justify-content:space-between;gap:12px;color:#526277}.summary-card strong{color:#16283c}.summary-disclaimer{font-size:.82rem;color:#687789;margin:14px 0 0}.counter-pill{background:#eef4fa;color:#24496d;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700}.admin-rate-config{border-top:1px solid #e6ebf0;padding-top:8px}
@media print{
  body{background:#fff!important}.topbar,.inputs-panel,.admin-only,#alerts,footer,.client-actions,.legend{display:none!important}.layout{display:block!important}.content{width:100%!important;max-width:none!important}.panel{box-shadow:none!important;border:0!important;padding:0!important}.commercial-only.hidden{display:none!important}#commercialResult{display:block!important}.commercial-note{border:1px solid #ddd}.client-summary{page-break-inside:avoid}table{font-size:11pt}.section-head{margin-bottom:16px}.eyebrow{color:#333!important}
}

.client-fields{margin-top:16px;padding-top:4px;border-top:1px solid #e5ebf3}.proposal-header{display:flex;gap:18px;align-items:flex-start;margin-bottom:14px}.logo-placeholder{width:116px;height:76px;border:2px dashed #c8d4e2;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;background:#fafcff;color:#6d7f92}.logo-placeholder span{font-size:17px;font-weight:900;letter-spacing:.08em}.logo-placeholder small{text-transform:uppercase;font-size:9px;letter-spacing:.12em;margin-top:3px}.proposal-title{flex:1}.proposal-identity{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:#53667e}.client-detail-line{display:flex;gap:24px;flex-wrap:wrap;padding:11px 13px;margin-bottom:12px;background:#f6f9fc;border-radius:9px;font-size:.9rem}.client-docs{margin-top:22px;border-top:1px solid #e5eaf0;padding-top:18px}.client-docs h3{margin:0 0 12px}.docs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.doc-item{border:1px solid #e1e7ef;border-radius:10px;padding:12px;background:#fafcff}.doc-item b{display:block;font-size:12px;color:#203d5b;margin-bottom:4px}.doc-item span{font-size:11px;line-height:1.45;color:#65758d}.docs-note{font-size:10.5px;color:#78889a;margin:10px 0 0}@media(max-width:720px){.proposal-header{flex-direction:column}.docs-grid{grid-template-columns:1fr}.logo-placeholder{width:100px;height:66px}}
@media print{.logo-placeholder{border:1.5px dashed #aaa!important}.proposal-identity{font-size:10pt}.client-docs{page-break-inside:avoid}.docs-grid{grid-template-columns:1fr 1fr!important}.doc-item{break-inside:avoid}.client-detail-line{border:1px solid #ddd;background:#fff!important}}

.admin-commission-config{margin:14px 0 6px;padding:12px;border:1px solid #dfe7f0;border-radius:10px;background:#f8fafc}.admin-commission-config h3{margin:0 0 6px}.sales-commission-private{margin:0 0 14px;padding:11px 13px;border:1px solid #d8e2ec;border-radius:10px;background:#fbfcfe;display:flex;align-items:center;justify-content:space-between;gap:14px}.sales-commission-private>div{display:flex;flex-direction:column;gap:2px}.sales-commission-private strong{font-size:13px;color:#203d5b}.sales-commission-private small{font-size:10.5px;color:#748498}.eye-button{display:flex;align-items:center;gap:7px;border:1px solid #c7d5e4;background:#fff;border-radius:999px;padding:7px 11px;color:#254a6d;font-weight:800;cursor:pointer}.eye-button #eyeIcon{font-size:15px}.sales-commission-value,.sales-commission-masked{margin-top:7px;padding-top:6px;border-top:1px dashed #d8e1ea;font-size:10.5px;color:#6a7b8e}.sales-commission-value b{color:#173f68;font-size:12px}.sales-commission-masked{letter-spacing:.02em}@media print{.no-print,.sales-commission-private,.sales-commission-value,.sales-commission-masked{display:none!important}}

.print-only{display:none}.logo-placeholder img{max-width:100%;max-height:100%;object-fit:contain;padding:7px}.logo-placeholder>div{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.admin-logo-config{margin:14px 0 6px;padding:12px;border:1px solid #dfe7f0;border-radius:10px;background:#f8fafc}.admin-logo-config h3{margin:0 0 6px}.logo-admin-preview{display:flex;align-items:center;gap:10px;min-height:50px}.logo-admin-preview img{max-height:48px;max-width:140px;object-fit:contain}.logo-admin-preview span{font-size:11px;color:var(--muted)}.logo-admin-preview .secondary{margin-left:auto;padding:6px 9px;font-size:10px}.print-brand-header{align-items:center;justify-content:space-between;border-bottom:2px solid #173f68;padding-bottom:14px;margin-bottom:16px}.print-brand-header img{max-width:185px;max-height:70px;object-fit:contain}.print-brand-header div{display:flex;flex-direction:column;text-align:right;color:#173f68}.print-brand-header span{font-size:10pt;text-transform:uppercase;letter-spacing:.08em}.print-brand-header strong{font-size:18pt;margin-top:3px}

@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  body *{visibility:hidden!important}
  #printClientArea,#printClientArea *{visibility:visible!important}
  #printClientArea{position:absolute!important;left:0;top:0;width:100%!important;margin:0!important;padding:0!important}
  .print-only{display:flex!important}
  #printClientArea .client-summary{border-top:0!important;padding-top:0!important;margin-top:0!important}
  #printClientArea .client-summary>h3{display:none!important}
  #printClientArea .client-docs{margin-top:22px!important}
  .summary-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .summary-card{break-inside:avoid!important}
  .client-detail-line,.summary-card,.doc-item{border-color:#cfd8e3!important}
  .client-detail-line{background:#fff!important}
  .docs-grid{grid-template-columns:1fr 1fr!important}
  .print-brand-header img[src=""]{display:none!important}
}

/* Acceso y perfiles */
.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0d2743,#173f68)}
.login-card{width:min(440px,100%);background:#fff;border-radius:18px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.login-brand h1{margin:4px 0 8px;color:#163a60}.login-brand p{margin:0 0 22px;color:#66798d;line-height:1.5}
.login-card form{display:flex;flex-direction:column;gap:12px}.login-card button.primary{margin-top:4px}.login-message{min-height:20px;margin-top:4px;font-size:12px;color:#48627d}.login-message.error{color:#a23a3a}
.setup-help{margin-top:16px;padding:12px;border-radius:10px;background:#fff5dc;border:1px solid #f1d48e;color:#755300;display:flex;flex-direction:column;gap:4px;font-size:12px}.setup-help code{background:#fff;padding:1px 4px;border-radius:4px}
.user-area{display:flex;align-items:center;gap:14px}.user-area>div{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.user-area strong{color:#fff;font-size:13px}.role-pill{font-size:9px;font-weight:900;letter-spacing:.08em;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.14);color:#dcecff}.topbar .user-area .secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.status-active,.status-off{display:inline-block;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800}.status-active{background:#e8f7ee;color:#26764a}.status-off{background:#f3f4f6;color:#7a8590}.user-save,.user-toggle{padding:6px 8px;font-size:10px}
@media(max-width:720px){.user-area{width:100%;justify-content:space-between}.user-area>div{align-items:flex-start}}

/* Selector de vista para usuarios administradores */
.header-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.view-switcher{display:flex;gap:6px;padding:4px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.08)}
.view-switcher.hidden{display:none}
.view-button{border:0;border-radius:9px;padding:9px 14px;background:transparent;color:rgba(255,255,255,.78);font-weight:700;cursor:pointer}
.view-button:hover{background:rgba(255,255,255,.10);color:#fff}
.view-button.active{background:#fff;color:#123d67;box-shadow:0 2px 8px rgba(0,0,0,.12)}
@media(max-width:900px){.header-actions{width:100%;justify-content:space-between}.view-switcher{order:2}.user-area{order:1}}

/* Gestion de tarifas - Administracion */
.tariff-manager-panel{overflow:hidden}
.tariff-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:16px 0;padding:14px;background:#f7f9fc;border:1px solid #e1e7f0;border-radius:12px}
.tariff-filters label,.tariff-create-grid label{margin:0;font-size:12px;font-weight:700;color:#40516b}
.tariff-filters input,.tariff-filters select,.tariff-create-grid input,.tariff-create-grid select,.tariff-create textarea,.tariff-edit-table input,.tariff-edit-table select{width:100%;box-sizing:border-box;border:1px solid #cdd7e5;border-radius:7px;background:#fff;padding:8px;font:inherit;color:#163252}
.tariff-create{margin:16px 0 18px;padding:16px;border:1px solid #d8e2ef;border-radius:14px;background:#fbfcfe}
.tariff-create h3{margin:0 0 12px}
.tariff-create-grid{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr));gap:10px;margin-bottom:10px}
.tariff-create textarea{resize:vertical;margin-top:6px}
.compact-check{align-self:end;min-height:40px}
.tariff-count{font-size:12px;color:#6b7890;margin:8px 0}
.tariff-table-wrap{max-height:620px;overflow:auto;border:1px solid #dbe3ee;border-radius:10px}
.tariff-edit-table{min-width:1500px}
.tariff-edit-table th{position:sticky;top:0;z-index:2;background:#102f54;color:#fff;white-space:nowrap}
.tariff-edit-table td{vertical-align:top;padding:7px}
.tariff-edit-table input,.tariff-edit-table select{min-width:88px;padding:6px;font-size:12px}
.tariff-edit-table [data-field="company"]{min-width:150px}
.tariff-edit-table [data-field="campaign"]{min-width:150px}
.validity-cell{min-width:145px}
.validity-cell input{margin-bottom:4px}
.tariff-actions{min-width:145px;white-space:nowrap}
.tariff-actions button{padding:7px 9px;margin:0 3px 4px 0}
button.danger{background:#fff;border:1px solid #e4a3a3;color:#a62525}
button.danger:hover{background:#fff2f2}
.mini-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.mini-switch input{width:auto}
@media(max-width:1100px){.tariff-filters{grid-template-columns:repeat(2,1fr)}.tariff-create-grid{grid-template-columns:repeat(2,1fr)}}

/* V2 · Multiempresa, Superadmin y recuperacion de contrasena */
.link-button{border:0;background:transparent;color:#1c5f9e;font-weight:800;cursor:pointer;padding:6px 0;text-align:center}.link-button:hover{text-decoration:underline}
.reset-title{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;color:#173f68}.reset-title span{font-size:12px;color:#6b7c90;font-weight:400}
.superadmin-company-picker{display:flex;align-items:center;gap:8px;padding:4px 8px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.08);color:#fff}.superadmin-company-picker span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.superadmin-company-picker select{min-width:180px;border:0;border-radius:7px;padding:7px 9px;background:#fff;color:#173f68;font-weight:700}
.company-create-row{display:grid;grid-template-columns:2fr 1.4fr auto;gap:12px;align-items:end;margin:16px 0;padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:#f8fafc}.company-create-row label{margin:0}.company-create-row button{margin:0;height:42px}
.company-manager-panel .table-wrap{margin-top:10px}.company-manager-panel table{min-width:700px}
#usersBody select[data-user-company]{min-width:180px}
@media(max-width:900px){.superadmin-company-picker{order:3;width:100%}.superadmin-company-picker select{flex:1}.company-create-row{grid-template-columns:1fr}.company-create-row button{width:100%}}

/* V2.2 Solicitudes de financiacion */
.request-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.request-toolbar select{min-width:220px}
.requests-list{display:grid;gap:12px}.request-card{border:1px solid #dbe2ea;border-radius:14px;background:#fff;overflow:hidden}.request-card summary{list-style:none;cursor:pointer;padding:15px 16px;display:grid;grid-template-columns:minmax(200px,1.4fr) repeat(3,minmax(120px,.7fr));gap:12px;align-items:center}.request-card summary::-webkit-details-marker{display:none}.request-card[open] summary{border-bottom:1px solid #e5eaf0;background:#fafcff}.request-main strong{display:block;font-size:15px}.request-main small,.request-meta small{display:block;color:#667085;margin-top:3px}.request-meta b{display:block}.request-status{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;background:#eef2f7;color:#344054;width:max-content}.request-status.approved,.request-status.formalized{background:#e8f8ef;color:#067647}.request-status.rejected{background:#fff0f0;color:#b42318}.request-status.documents_pending{background:#fff7e6;color:#b54708}.request-status.submitted_finance{background:#eef4ff;color:#3538cd}.request-status.reviewing{background:#eef7ff;color:#175cd3}.request-detail{padding:16px}.request-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.request-detail-item{padding:10px;border-radius:10px;background:#f7f9fc}.request-detail-item span{display:block;color:#667085;font-size:12px}.request-detail-item b{display:block;margin-top:3px}.request-admin-box{border-top:1px solid #eaecf0;padding-top:14px;margin-top:12px}.request-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.request-admin-grid .span-2{grid-column:1/-1}.request-doc-list,.request-timeline{display:grid;gap:7px;margin-top:10px}.request-doc{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#f8fafc;border:1px solid #e5eaf0;border-radius:9px;padding:8px 10px}.request-doc button{white-space:nowrap}.timeline-item{display:flex;gap:10px;font-size:13px}.timeline-item time{color:#667085;min-width:135px}.timeline-item b{margin-right:5px}
.request-dialog{width:min(900px,calc(100vw - 30px));border:0;border-radius:18px;padding:0;box-shadow:0 25px 80px rgba(16,24,40,.28)}.request-dialog::backdrop{background:rgba(16,24,40,.55)}.request-dialog form{padding:22px}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:15px}.dialog-head h2{margin:3px 0 0}.icon-close{border:0;background:#f2f4f7;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.request-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.request-form-grid .span-2{grid-column:1/-1}.request-form-grid textarea{resize:vertical}.request-documents-box{margin-top:16px;padding:14px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc}.request-documents-box h3{margin-top:0}.request-documents-box small{display:block;color:#667085;margin-top:5px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
@media(max-width:800px){.request-card summary{grid-template-columns:1fr 1fr}.request-detail-grid,.request-admin-grid,.request-form-grid{grid-template-columns:1fr}.request-form-grid .span-2,.request-admin-grid .span-2{grid-column:auto}.timeline-item{display:block}.timeline-item time{display:block;margin-bottom:2px}}
@media print{.requests-panel,.request-dialog{display:none!important}}

/* V2.3 · Invitaciones y acceso */
.user-invite-box{margin:18px 0 22px;padding:18px;border:1px solid #dfe6ee;border-radius:16px;background:#f8fafc}
.user-invite-box h3{margin:0 0 14px}
.user-invite-grid{display:grid;grid-template-columns:1.3fr 1.5fr .8fr 1.2fr;gap:12px;align-items:end}
.user-invite-grid label{margin:0}
.invite-actions{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.inline-message{font-size:.9rem;color:#475569}
.inline-message.error{color:#b42318}
.inline-message.success{color:#067647}
@media(max-width:980px){.user-invite-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.user-invite-grid{grid-template-columns:1fr}}


/* V2.4 - historico, embudo y checklist */
.funnel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}.funnel-step{border:1px solid #d8e2ef;background:#f8fbff;border-radius:14px;padding:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px}.funnel-step:hover{border-color:#2374e1;transform:translateY(-1px)}.funnel-step span{font-size:12px;color:#52657c}.funnel-step b{font-size:28px;color:#123a63}.simulations-list{display:grid;gap:10px;margin-top:14px}.simulation-card{display:grid;grid-template-columns:minmax(240px,1fr) 130px 130px auto;gap:14px;align-items:center;border:1px solid #e0e7f0;border-radius:14px;padding:14px;background:#fff}.simulation-card strong{display:block;color:#183b5b}.simulation-card small{display:block;color:#6c7d90;margin-top:4px}.simulation-kpi span{display:block;font-size:11px;color:#6c7d90;text-transform:uppercase;letter-spacing:.04em}.simulation-kpi b{display:block;margin-top:3px}.checklist-grid,.request-checklist-view{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.checklist-item{display:flex;gap:10px;align-items:flex-start;border:1px solid #dfe7f1;border-radius:12px;padding:11px;background:#fff}.checklist-item input{margin-top:3px}.checklist-item span{display:flex;flex-direction:column;gap:3px}.checklist-item small{font-size:11px;color:#7a8898}.checklist-item.done{background:#f3fbf6;border-color:#b9dfc5}.section-head.compact{margin-bottom:8px}.section-head.compact h3{margin:2px 0 0}.request-toolbar input[type=search]{min-width:190px;padding:9px 11px;border:1px solid #ccd8e5;border-radius:10px}@media(max-width:760px){.simulation-card{grid-template-columns:1fr 1fr}.simulation-card>div:first-child{grid-column:1/-1}.simulation-card button{grid-column:1/-1}.funnel-grid{grid-template-columns:1fr 1fr}}


/* V2.4.1 - solicitudes avanzadas y notificaciones */
.notification-wrap{position:relative}.notification-bell{position:relative;border:1px solid #d7e0ea;background:#fff;border-radius:12px;min-width:44px;height:42px;font-size:18px;cursor:pointer}.notification-count{position:absolute;right:-5px;top:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}.notification-panel{position:absolute;right:0;top:50px;width:min(380px,calc(100vw - 30px));max-height:440px;overflow:auto;background:#fff;border:1px solid #dce4ed;border-radius:16px;box-shadow:0 20px 55px rgba(16,24,40,.18);z-index:50;padding:12px}.notification-head{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 10px}.notification-item{width:100%;text-align:left;border:0;border-top:1px solid #eef2f6;background:#fff;padding:11px 8px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.notification-item.unread{background:#eef6ff}.notification-item small{color:#667085}.request-card.request-unread{border:2px solid #f79009;box-shadow:0 0 0 4px rgba(247,144,9,.1)}.new-badge{display:inline-block;background:#f79009;color:#fff;border-radius:999px;padding:3px 7px;font-size:10px;letter-spacing:.04em;margin-right:5px}.optional-tag{font-size:10px;color:#667085;background:#eef2f6;padding:2px 6px;border-radius:999px}.coapplicant-toggle{display:flex!important;gap:10px;align-items:flex-start;border:1px solid #dfe6ee;border-radius:12px;padding:12px;background:#f8fafc}.coapplicant-toggle input{width:auto;margin-top:3px}.coapplicant-toggle span{display:flex;flex-direction:column}.coapplicant-toggle small{color:#667085}.coapplicant-fields{margin-top:16px;border:1px solid #d9e5f3;border-radius:14px;padding:15px;background:#f7fbff}.document-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.document-upload{border:1px solid #dce5ef;border-radius:12px;background:#fff;padding:12px;display:flex;flex-direction:column;gap:8px}.document-upload.required-doc{border-left:4px solid #2374e1}.document-upload span{display:flex;justify-content:space-between;gap:8px}.document-upload small{color:#667085}.document-upload.span-2{grid-column:1/-1}.large-notes textarea{min-height:150px}.conditions-box{margin:16px 0;padding:14px;border:1px solid #dfe7f0;border-radius:14px;background:#f8fafc}.conditions-box.approved{background:#f1fbf5;border-color:#a9d9b9}.conditions-box h3{margin-top:0}.approved-note{white-space:pre-wrap}.approved-editor{margin-top:16px;padding-top:12px;border-top:1px solid #e3e8ef}.admin-action-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.email-check{display:flex;gap:7px;align-items:center;font-size:13px}.email-check input{width:auto}.coapplicant-summary{margin:14px 0;padding:13px;border:1px solid #dce5ef;border-radius:13px;background:#fff9ed}.request-status.preaccepted{background:#fff4cc;color:#8a5b00}.request-status.approved_pending_client{background:#e9f6ff;color:#175cd3}.request-status.accepted{background:#ecfdf3;color:#027a48}@media(max-width:700px){.document-upload-grid{grid-template-columns:1fr}.document-upload.span-2{grid-column:auto}.notification-panel{position:fixed;top:70px;right:15px}}

/* V2.4.2 - PDF cliente clasico corporativo */
.pdf-company-config{margin-top:14px;padding-top:14px;border-top:1px solid #dfe7f0}.pdf-company-config h4{margin:0 0 10px;color:#173f68}.pdf-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pdf-options-dialog .dialog-card{max-width:650px}.pdf-rate-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.pdf-rate-choice{display:flex;align-items:center;gap:10px;border:1px solid #d7e0ea;border-radius:10px;padding:12px;background:#fff;cursor:pointer}.pdf-rate-choice input{width:auto}.pdf-rate-choice span{display:flex;flex-direction:column}.pdf-rate-choice small{color:#6d7d90;margin-top:2px}.pdf-client-vehicle{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:2px 0 12px}.pdf-client-vehicle>div{display:flex;flex-direction:column;padding:10px 12px;border:1px solid #e0e6ed;border-radius:8px}.pdf-client-vehicle span{font-size:10px;font-weight:800;color:#60738a;letter-spacing:.05em}.pdf-client-vehicle b{margin-top:4px;color:#152d48}.pdf-options-heading{margin:18px 0 8px!important;color:#173f68}.pdf-rate-section{margin:0 0 12px}.pdf-rate-title{font-weight:800;color:#173f68;margin-bottom:5px}.pdf-option-table{width:100%;border-collapse:collapse}.pdf-option-table th,.pdf-option-table td{border:1px solid #d9e1e8;padding:8px;text-align:center}.pdf-option-table th{background:#f5f7fa;color:#42576f;font-size:11px}.pdf-option-table td{font-size:12px}.pdf-document-title{justify-content:space-between;align-items:flex-end;border-bottom:1px solid #ccd6e0;padding:0 0 10px;margin:0 0 14px}.pdf-document-title>div{display:flex;flex-direction:column}.pdf-document-title span{font-size:17pt;font-weight:800;color:#173f68}.pdf-document-title small{font-size:9pt;color:#66788b;margin-top:3px}.classic-pdf-header{align-items:stretch!important}.pdf-company-brand{display:flex;align-items:center;gap:16px}.pdf-company-brand>div{display:flex;flex-direction:column;text-align:left!important;border-left:1px solid #ccd6e0;padding-left:16px}.pdf-company-brand strong{font-size:11pt!important;margin:0!important;color:#172f4a}.pdf-company-brand span{font-size:8.5pt!important;text-transform:none!important;letter-spacing:0!important;color:#4f6275}.pdf-commercial-card{min-width:175px;padding:9px 12px;background:#f6f8fa;border-radius:6px;text-align:left!important;justify-content:center}.pdf-commercial-card span{font-size:8pt!important;letter-spacing:.08em!important}.pdf-commercial-card strong{font-size:10pt!important;margin:3px 0!important}.pdf-commercial-card small{font-size:8.5pt;color:#4f6275;margin-top:2px}
@media(max-width:760px){.pdf-company-grid,.pdf-rate-choices{grid-template-columns:1fr}.pdf-client-vehicle{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:12mm 14mm 13mm}
  body{background:#fff!important;color:#111!important}
  .classic-pdf-header{display:flex!important;border-bottom:2px solid #173f68!important;padding-bottom:10px!important;margin-bottom:12px!important}
  .print-brand-header img{max-width:105px!important;max-height:55px!important}
  .pdf-company-brand>div{border-left:1px solid #bbb!important;padding-left:12px!important}
  .pdf-commercial-card{background:#f6f6f6!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .pdf-document-title{display:flex!important}
  .pdf-client-vehicle{grid-template-columns:1fr 1fr!important;gap:10px!important;break-inside:avoid}
  .pdf-client-vehicle>div{border:1px solid #ddd!important;padding:7px 9px!important}
  #printClientArea .summary-meta{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin:8px 0 14px!important}
  #printClientArea .summary-meta span{border:1px solid #e0e0e0!important;padding:7px!important;font-size:8.5pt!important}
  .pdf-options-heading{font-size:11pt!important;margin:12px 0 6px!important}
  .pdf-rate-section{break-inside:avoid;margin-bottom:9px!important}
  .pdf-rate-title{font-size:9.5pt!important;margin-bottom:4px!important}
  .pdf-option-table th,.pdf-option-table td{padding:5px 6px!important;font-size:8.5pt!important}
  .pdf-option-table th{background:#f3f3f3!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printClientArea .summary-disclaimer{font-size:8pt!important;padding:9px 10px!important;background:#f6f6f6!important;border:1px solid #e1e1e1!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #printClientArea .client-docs{display:none!important}
}


/* V2.5 - Navegacion modular */
.module-nav{max-width:1700px;margin:0 auto;padding:14px 4% 0;background:#f4f7fb}
.module-nav-group{display:flex;gap:7px;flex-wrap:wrap;padding:6px;background:#e8eef6;border:1px solid #d7e0ec;border-radius:14px}
.module-nav-group button{border:0;background:transparent;color:#3b526d;border-radius:9px;padding:10px 14px;font-weight:800;font-size:12px;cursor:pointer}
.module-nav-group button:hover{background:#ffffffa8}.module-nav-group button.active{background:#fff;color:#0b4f96;box-shadow:0 2px 8px #18395d12}
.module-off{display:none!important}.layout.module-wide{grid-template-columns:1fr}.layout.module-wide .content{max-width:1500px;width:100%;margin:0 auto}
.home-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin-top:16px}.home-kpi-card{border:1px solid #dfe7f0;background:#f9fbfd;border-radius:14px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px}.home-kpi-card:hover{border-color:#98bce6;background:#f3f8fe}.home-kpi-card span{font-size:11px;font-weight:800;color:#60738a;text-transform:uppercase;letter-spacing:.04em}.home-kpi-card b{font-size:28px;color:#143b63}.home-kpi-card small{color:#7b8999}.home-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.home-action{border:1px solid #dfe7f0;background:#fff;border-radius:13px;padding:15px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.home-action b{color:#173f68}.home-action span{font-size:11px;color:#718095}.home-action:hover{border-color:#2374e1}
#companyDataPanel #companyDataMount>.admin-logo-config,#configurationPanel #configurationMount>.admin-rate-config{border:0;background:transparent;padding:0;margin:0}.company-data-intro{margin-bottom:14px}
@media(max-width:850px){.home-kpi-grid{grid-template-columns:repeat(2,1fr)}.home-quick-actions{grid-template-columns:1fr}.module-nav{padding-left:14px;padding-right:14px}.module-nav-group{overflow-x:auto;flex-wrap:nowrap}.module-nav-group button{white-space:nowrap}}
@media(max-width:520px){.home-kpi-grid{grid-template-columns:1fr 1fr}.home-kpi-card{padding:12px}.home-kpi-card b{font-size:22px}}

/* V2.5 - PDF clasico corporativo, alineado con el boceto elegido */
@media print{
  #moduleNav{display:none!important}
  #commercialResult{font-family:Arial,Helvetica,sans-serif!important;color:#102842!important}
  .classic-pdf-header{border-bottom:3px solid #163f68!important;padding:0 0 13px!important;margin:0 0 16px!important;gap:20px!important}
  .pdf-company-brand{gap:18px!important;align-items:center!important}.print-brand-header img{max-width:120px!important;max-height:62px!important}.pdf-company-brand>div{padding-left:16px!important;border-left:2px solid #d4dce5!important;line-height:1.35!important}.pdf-company-brand strong{font-size:12pt!important;color:#12395f!important}.pdf-company-brand span{font-size:8.4pt!important;color:#52667b!important}
  .pdf-commercial-card{border:1px solid #d9e1e9!important;border-radius:8px!important;background:#f6f8fa!important;padding:11px 14px!important;min-width:190px!important}.pdf-commercial-card>span{color:#6a7c8f!important;font-weight:700!important}.pdf-commercial-card strong{color:#12395f!important;font-size:10.5pt!important}
  .pdf-document-title{border:0!important;margin:0 0 12px!important;padding:0!important}.pdf-document-title span{font-size:20pt!important;letter-spacing:.01em!important;color:#143e67!important}.pdf-document-title small{font-size:8.5pt!important}
  .pdf-client-vehicle{margin:0 0 10px!important}.pdf-client-vehicle>div{border:0!important;border-top:1px solid #dfe5eb!important;border-bottom:1px solid #dfe5eb!important;border-radius:0!important;padding:9px 8px!important;background:#fafbfc!important}.pdf-client-vehicle span{font-size:7.8pt!important;color:#6c7e90!important}.pdf-client-vehicle b{font-size:10pt!important;color:#193a5d!important}
  #printClientArea .summary-meta{background:#f3f6f9!important;border-radius:8px!important;padding:5px!important;gap:0!important}.summary-meta span{border:0!important;border-right:1px solid #dce3ea!important;padding:9px 8px!important;color:#617386!important}.summary-meta span:last-child{border-right:0!important}.summary-meta b{display:block!important;margin-top:3px!important;color:#163c62!important;font-size:9.5pt!important}
  .pdf-options-heading{font-size:10pt!important;letter-spacing:.06em!important;color:#53697e!important;border-bottom:1px solid #d9e1e8!important;padding-bottom:6px!important;margin:17px 0 8px!important}
  .pdf-rate-title{background:#173f68!important;color:white!important;padding:7px 10px!important;margin:0!important;border-radius:6px 6px 0 0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-option-table{border:1px solid #d8e0e8!important}.pdf-option-table th{background:#eef2f6!important;color:#3f556b!important;font-weight:700!important}.pdf-option-table td{border-color:#e2e7ec!important;color:#203a55!important}.pdf-option-table td strong{color:#123e69!important}
  #printClientArea .summary-disclaimer{margin-top:18px!important;border-left:3px solid #173f68!important;border-top:0!important;border-right:0!important;border-bottom:0!important;background:#f5f7f9!important;color:#617183!important;padding:10px 12px!important}
}


/* V2.5.1 - Personalizacion PDF por empresa */
.pdf-brand-settings{margin-top:18px;padding-top:16px;border-top:1px solid #dfe7f0}.pdf-brand-settings h4{margin:0 0 5px;color:#173f68}.pdf-template-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.pdf-template-card{position:relative;cursor:pointer}.pdf-template-card>input{position:absolute;opacity:0;pointer-events:none}.template-preview{min-height:120px;border:2px solid #d8e1eb;border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px;background:#fff;transition:.15s}.template-preview i{display:block;height:36px;border-radius:7px;margin-bottom:3px;background:linear-gradient(90deg,#173f68 0 35%,#eef2f6 35% 100%)}.template-preview-modern i{height:44px;border-radius:10px;background:linear-gradient(135deg,#1b6f7b 0 56%,#e5f0ed 56% 100%)}.template-preview b{color:#173f68}.template-preview small{color:#718095}.pdf-template-card>input:checked+.template-preview{border-color:#2374e1;box-shadow:0 0 0 3px #2374e117}.pdf-display-grid{align-items:end}.compact-check{margin:0!important;min-height:46px}.pdf-color-preview{display:flex;align-items:center;gap:8px;margin:10px 0 14px}.pdf-color-preview span{width:34px;height:24px;border:1px solid #cdd8e4;border-radius:6px}.pdf-color-preview small{color:#718095;margin-left:3px}
#printClientArea{--pdf-primary:#173f68;--pdf-secondary:#eaf2f8}.pdf-template-classic .classic-pdf-header{border-bottom-color:var(--pdf-primary)!important}.pdf-template-classic .pdf-document-title span,.pdf-template-classic .pdf-company-brand strong,.pdf-template-classic .pdf-commercial-card strong,.pdf-template-classic .pdf-client-vehicle b,.pdf-template-classic .summary-meta b{color:var(--pdf-primary)!important}.pdf-template-classic .pdf-rate-title{background:var(--pdf-primary)!important}.pdf-template-classic .pdf-option-table th{background:var(--pdf-secondary)!important}.pdf-template-classic .summary-meta{background:color-mix(in srgb,var(--pdf-secondary) 55%,white)!important}.pdf-template-classic .summary-disclaimer{border-left-color:var(--pdf-primary)!important}
.pdf-template-modern .classic-pdf-header{border:0!important;border-radius:14px!important;background:var(--pdf-primary)!important;padding:16px 18px!important;margin-bottom:14px!important;align-items:center!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pdf-template-modern .pdf-company-brand>div{border-left:1px solid rgba(255,255,255,.5)!important}.pdf-template-modern .pdf-company-brand strong,.pdf-template-modern .pdf-company-brand span,.pdf-template-modern .pdf-commercial-card>span,.pdf-template-modern .pdf-commercial-card strong,.pdf-template-modern .pdf-commercial-card small{color:#fff!important}.pdf-template-modern .pdf-commercial-card{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.35)!important}.pdf-template-modern .pdf-document-title{padding:10px 0 3px!important}.pdf-template-modern .pdf-document-title span{color:var(--pdf-primary)!important}.pdf-template-modern .pdf-client-vehicle>div{border:0!important;background:var(--pdf-secondary)!important;border-radius:10px!important}.pdf-template-modern .pdf-client-vehicle span{color:color-mix(in srgb,var(--pdf-primary) 70%,#617386)!important}.pdf-template-modern .pdf-client-vehicle b{color:var(--pdf-primary)!important}.pdf-template-modern .summary-meta{background:transparent!important;display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;padding:0!important}.pdf-template-modern .summary-meta span{border:1px solid color-mix(in srgb,var(--pdf-primary) 15%,#dce3ea)!important;border-radius:9px!important;background:#fff!important;padding:9px!important}.pdf-template-modern .summary-meta b{color:var(--pdf-primary)!important}.pdf-template-modern .pdf-options-heading{color:var(--pdf-primary)!important;border-bottom:2px solid var(--pdf-secondary)!important}.pdf-template-modern .pdf-rate-section{border:1px solid color-mix(in srgb,var(--pdf-primary) 18%,#dbe3ea)!important;border-radius:12px!important;overflow:hidden!important}.pdf-template-modern .pdf-rate-title{background:var(--pdf-secondary)!important;color:var(--pdf-primary)!important;border-radius:0!important;font-size:10pt!important}.pdf-template-modern .pdf-option-table{border:0!important}.pdf-template-modern .pdf-option-table th{background:#fff!important;color:#6a7b8e!important}.pdf-template-modern .pdf-option-table td{background:#fff!important}.pdf-template-modern .pdf-option-table td strong{color:var(--pdf-primary)!important}.pdf-template-modern .summary-disclaimer{border:0!important;border-radius:9px!important;background:var(--pdf-secondary)!important;color:#53697e!important}
@media(max-width:760px){.pdf-template-picker{grid-template-columns:1fr}}
@media print{
  #printClientArea{--pdf-primary:#173f68;--pdf-secondary:#eaf2f8}
  .pdf-template-classic .classic-pdf-header{border-bottom-color:var(--pdf-primary)!important}.pdf-template-classic .pdf-rate-title{background:var(--pdf-primary)!important}.pdf-template-classic .pdf-option-table th{background:var(--pdf-secondary)!important}.pdf-template-classic .summary-disclaimer{border-left-color:var(--pdf-primary)!important}
  .pdf-template-modern .classic-pdf-header{display:flex!important;background:var(--pdf-primary)!important;border:0!important;border-radius:12px!important;padding:14px 16px!important}.pdf-template-modern .pdf-company-brand>div{border-left:1px solid rgba(255,255,255,.55)!important}.pdf-template-modern .pdf-company-brand strong,.pdf-template-modern .pdf-company-brand span,.pdf-template-modern .pdf-commercial-card>span,.pdf-template-modern .pdf-commercial-card strong,.pdf-template-modern .pdf-commercial-card small{color:#fff!important}.pdf-template-modern .pdf-commercial-card{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.4)!important}.pdf-template-modern .pdf-document-title span{color:var(--pdf-primary)!important}.pdf-template-modern .pdf-client-vehicle>div{background:var(--pdf-secondary)!important;border-radius:8px!important}.pdf-template-modern .pdf-rate-section{border:1px solid #dbe3ea!important;border-radius:10px!important;overflow:hidden!important}.pdf-template-modern .pdf-rate-title{background:var(--pdf-secondary)!important;color:var(--pdf-primary)!important}.pdf-template-modern .pdf-option-table th{background:#fff!important}.pdf-template-modern .summary-disclaimer{background:var(--pdf-secondary)!important;border:0!important;border-radius:8px!important}
}
