    :root{
      --hares-900:#0f2f4a;
      --hares-800:#123e63;
      --hares-700:#1f5d89;
      --hares-600:#2a74a7;
      --hares-100:#dceaf5;
      --hares-050:#f4f8fb;
      --ink:#1f2937;
      --muted:#667085;
      --line:#d7e0e8;
      --ok:#166534;
      --ok-bg:#dcfce7;
      --warn:#92400e;
      --warn-bg:#fef3c7;
      --danger:#991b1b;
      --danger-bg:#fee2e2;
      --neutral:#374151;
      --neutral-bg:#e5e7eb;
      --white:#fff;
      --shadow:0 14px 38px rgba(15,47,74,.10);
      --radius:16px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color:var(--ink);
      background:linear-gradient(180deg,var(--hares-050),#fff 360px);
      line-height:1.5;
    }
    button,input,select{font:inherit}
    button{cursor:pointer}
    .container{width:min(1180px,calc(100% - 28px));margin:auto}
    .hero{
      padding:30px 0 24px;
      background:linear-gradient(135deg,var(--hares-900),var(--hares-700));
      color:#fff;
    }
    .hero-grid{
      display:grid;
      grid-template-columns:1fr auto;
      gap:20px;
      align-items:center;
    }
    .eyebrow{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;opacity:.82;font-weight:700}
    h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.08;margin:.35rem 0 .65rem}
    .hero p{max-width:780px;margin:0;color:#e7f2fa}
    .brand-badge{
      border:1px solid rgba(255,255,255,.28);
      border-radius:999px;
      padding:12px 16px;
      font-weight:800;
      white-space:nowrap;
      background:rgba(255,255,255,.08);
    }

    main{padding:26px 0 54px}
    .toolbar{
      display:grid;
      grid-template-columns:1fr auto auto;
      gap:12px;
      padding:16px;
      margin-bottom:18px;
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .toolbar .scenario-meta{
      min-height:45px;
      padding:10px 12px;
      border-radius:12px;
      background:var(--hares-050);
      color:var(--muted);
      font-size:.92rem;
    }
    .grid{
      display:grid;
      grid-template-columns:minmax(0,1.15fr) minmax(350px,.85fr);
      gap:20px;
      align-items:start;
    }
    .card{
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .card-header{
      padding:18px 20px;
      color:#fff;
      background:var(--hares-800);
    }
    .card-header h2{font-size:1.08rem;margin:0}
    .card-header p{font-size:.9rem;margin:.25rem 0 0;color:#dceaf5}
    .card-body{padding:20px}
    .section{
      border:1px solid var(--line);
      border-radius:14px;
      padding:16px;
      margin-bottom:16px;
    }
    .section:last-child{margin-bottom:0}
    .section-title{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      margin-bottom:12px;
    }
    .section-title h3{margin:0;font-size:1rem;color:var(--hares-900)}
    .hint{font-size:.78rem;color:var(--muted)}
    .fields{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:13px;
    }
    .field.full{grid-column:1/-1}
    label{
      display:block;
      font-size:.82rem;
      font-weight:750;
      margin-bottom:6px;
      color:#344054;
    }
    input,select{
      width:100%;
      min-height:44px;
      border:1px solid #cbd5e1;
      border-radius:10px;
      padding:9px 11px;
      color:var(--ink);
      background:#fff;
      transition:.18s ease;
    }
    input:focus,select:focus{
      outline:none;
      border-color:var(--hares-600);
      box-shadow:0 0 0 3px rgba(42,116,167,.14);
    }
    input[disabled],select[disabled]{
      background:#f1f5f9;
      color:#94a3b8;
      cursor:not-allowed;
    }
    .checkbox-line{
      display:flex;
      align-items:flex-start;
      gap:9px;
      padding:9px 0;
    }
    .checkbox-line input{width:18px;height:18px;min-height:0;margin-top:2px}
    .checkbox-line label{margin:0;font-weight:600}
    details{
      border:1px solid var(--line);
      border-radius:12px;
      margin-top:13px;
      overflow:hidden;
    }
    summary{
      padding:12px 14px;
      background:var(--hares-050);
      font-weight:800;
      color:var(--hares-900);
      cursor:pointer;
    }
    details .details-body{padding:14px}
    .actions{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
      margin-top:17px;
    }
    .btn{
      border:0;
      min-height:46px;
      border-radius:11px;
      padding:11px 15px;
      font-weight:800;
    }
    .btn-primary{background:var(--hares-700);color:#fff}
    .btn-primary:hover{background:var(--hares-800)}
    .btn-secondary{background:var(--hares-100);color:var(--hares-900)}
    .btn-ghost{background:#fff;border:1px solid var(--line);color:var(--hares-900)}
    .btn-danger{background:var(--danger-bg);color:var(--danger)}
    .sticky{position:sticky;top:14px}
    .status{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:7px 10px;
      border-radius:999px;
      font-size:.78rem;
      font-weight:850;
      margin-bottom:12px;
    }
    .status.ok{background:var(--ok-bg);color:var(--ok)}
    .status.warn{background:var(--warn-bg);color:var(--warn)}
    .status.danger{background:var(--danger-bg);color:var(--danger)}
    .status.neutral{background:var(--neutral-bg);color:var(--neutral)}
    .status.info{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}
    .scenario-note{margin-top:6px;font-size:.82rem;color:var(--muted)}
    .scenario-note strong{color:var(--hares-900)}
    .legal-param-status{
      margin-top:7px;
      padding:8px 10px;
      border-radius:9px;
      background:#eef5fa;
      color:#475467;
      font-size:.76rem;
      line-height:1.4;
      border-left:3px solid var(--hares-600);
    }
    .legal-param-status.loading{background:#fff7ed;border-left-color:#f59e0b;color:#7c2d12}
    .legal-param-status.success{background:#f0fdf4;border-left-color:#16a34a;color:#14532d}
    .legal-param-status.warning{background:#fffbeb;border-left-color:#f59e0b;color:#78350f}
    .legal-param-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}
    .btn-mini{min-height:34px;padding:6px 10px;border-radius:8px;font-size:.76rem}
    input.legal-parameter[readonly]{background:#eef5fa;color:var(--hares-900);font-weight:750;cursor:not-allowed}
    .scenario-card .effective-rate{margin-top:5px;color:var(--hares-700);font-weight:800}
    .faq-section{margin-top:24px}
    .faq-header{padding:20px;background:var(--hares-800);color:#fff}
    .faq-header h2{margin:0;font-size:1.3rem}
    .faq-header p{margin:.35rem 0 0;color:#dceaf5}
    .faq-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .faq-body details{margin:0;background:#fff}
    .faq-body summary{min-height:54px;display:flex;align-items:center}
    .faq-body .details-body{color:#475467;font-size:.9rem}
    .faq-body strong{color:var(--hares-900)}
    @media (max-width:760px){.faq-body{grid-template-columns:1fr}}

    .result-title{margin:0 0 6px;color:var(--hares-900)}
    .result-summary{color:var(--muted);font-size:.93rem;margin:0 0 16px}
    .metric-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .metric{
      border:1px solid var(--line);
      border-radius:12px;
      padding:12px;
      background:#fff;
    }
    .metric span{display:block;color:var(--muted);font-size:.76rem}
    .metric strong{display:block;margin-top:2px;font-size:1.12rem;color:var(--hares-900)}
    .metric.wide{grid-column:1/-1}
    .calc-table{
      width:100%;
      border-collapse:collapse;
      margin-top:16px;
      font-size:.88rem;
    }
    .calc-table th,.calc-table td{
      border-bottom:1px solid var(--line);
      padding:9px 6px;
      text-align:left;
      vertical-align:top;
    }
    .calc-table th{color:var(--muted);font-weight:700}
    .calc-table td:last-child,.calc-table th:last-child{text-align:right}
    .alerts{margin:16px 0 0;padding:0;list-style:none}
    .alerts li{
      padding:10px 11px;
      margin-top:8px;
      border-left:4px solid var(--hares-600);
      border-radius:8px;
      background:var(--hares-050);
      font-size:.87rem;
    }
    .alerts li.error{border-color:#dc2626;background:#fff1f2;color:#881337}
    .alerts li.warning{border-color:#f59e0b;background:#fffbeb;color:#78350f}
    .alerts li.success{border-color:#16a34a;background:#f0fdf4;color:#14532d}
    .legal{
      margin-top:18px;
      padding:14px;
      border-radius:12px;
      background:#f8fafc;
      color:var(--muted);
      font-size:.8rem;
    }
    .hidden{display:none!important}
    .params-table{width:100%;border-collapse:collapse;font-size:.84rem}
    .params-table th,.params-table td{padding:8px;border-bottom:1px solid var(--line);text-align:left}
    .params-table input{min-height:38px}
    .footer{
      padding:24px 0 36px;
      color:var(--muted);
      text-align:center;
      font-size:.82rem;
    }
    .test-expected{
      margin-top:10px;
      padding:10px 12px;
      background:#fff;
      border:1px dashed #9fb3c8;
      border-radius:10px;
      color:#475467;
      font-size:.86rem;
    }

    .compare-section{margin-top:24px}.compare-intro{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:18px 20px;background:linear-gradient(135deg,#eef5fa,#fff);border-bottom:1px solid var(--line)}.compare-intro h2{margin:0;color:var(--hares-900);font-size:1.3rem}.compare-intro p{margin:.35rem 0 0;color:var(--muted)}.compare-label{padding:8px 12px;border-radius:999px;background:var(--hares-800);color:#fff;font-weight:850;white-space:nowrap;font-size:.8rem}.compare-layout{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:18px;padding:20px}.compare-form{border:1px solid var(--line);border-radius:14px;padding:15px;background:#fff}.compare-form h3,.compare-results h3{margin:0 0 12px;color:var(--hares-900)}.compare-results{min-width:0}.winner-box{border-radius:14px;padding:15px;margin-bottom:14px;background:linear-gradient(135deg,var(--hares-900),var(--hares-700));color:#fff}.winner-box span{display:block;font-size:.78rem;opacity:.8;text-transform:uppercase;letter-spacing:.08em}.winner-box strong{display:block;font-size:1.35rem;margin-top:3px}.winner-box p{margin:.35rem 0 0;color:#e7f2fa;font-size:.88rem}.scenario-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.scenario-card{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff;cursor:pointer;transition:.18s ease}.scenario-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,47,74,.08)}.scenario-card.best{border:2px solid #16a34a;background:#f0fdf4}.scenario-card.second-best{border:2px solid #60a5fa;background:#eff6ff}.scenario-card.third-best{border:1px solid #cbd5e1;background:#f8fafc}.scenario-card.high-burden{border-color:#f5c2c7;background:#fef2f2}.scenario-card.active{box-shadow:0 0 0 3px rgba(29,78,216,.18)}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:900;background:#e2e8f0;color:#334155}.scenario-card.best .rank-badge{background:#dcfce7;color:#166534}.scenario-card.second-best .rank-badge{background:#dbeafe;color:#1d4ed8}.scenario-card.third-best .rank-badge{background:#e5e7eb;color:#374151}.burden-badge{display:inline-flex;margin-top:7px;padding:3px 8px;border-radius:999px;font-size:.7rem;font-weight:850;background:#fee2e2;color:#991b1b}.scenario-card h4{margin:0;color:var(--hares-900)}.scenario-card .net{font-size:1.25rem;font-weight:900;color:var(--hares-800);margin:5px 0}.scenario-card small{display:block;color:var(--muted)}.comparison-focus{margin:0 0 12px;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe}.comparison-focus strong{display:block;color:#1e3a8a}.comparison-focus span{display:block;margin-top:4px;color:#334155;font-size:.84rem}.comparison-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.comparison-table{width:100%;border-collapse:collapse;min-width:760px;font-size:.84rem}.comparison-table th,.comparison-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}.comparison-table thead th{background:var(--hares-050);color:var(--hares-900)}.comparison-table tr:last-child td{border-bottom:0}.comparison-table .emphasis td{font-weight:850;background:#f8fafc}.comparison-table .selected-col{background:#eef6ff!important;border-left:2px solid #93c5fd;border-right:2px solid #93c5fd}.comparison-table thead .selected-col{background:#dbeafe!important}.compare-note{margin-top:13px;padding:12px;border-radius:10px;background:#fffbeb;color:#78350f;font-size:.83rem;border-left:4px solid #f59e0b}.sources-box{margin-top:14px;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}@media (max-width:960px){.compare-layout{grid-template-columns:1fr}}@media (max-width:720px){.compare-intro,.scenario-cards{grid-template-columns:1fr}.compare-label{justify-self:start}}


    .mode-switch{display:none!important;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;margin-bottom:16px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
    .mode-copy strong{display:block;color:var(--hares-900);font-size:.95rem}.mode-copy span{display:block;margin-top:3px;color:var(--muted);font-size:.82rem}
    .mode-buttons{display:flex;gap:8px;flex-wrap:wrap}.mode-btn{border:1px solid var(--line);background:#fff;color:var(--hares-900);border-radius:999px;padding:9px 14px;font-weight:800}.mode-btn.active{background:var(--hares-800);border-color:var(--hares-800);color:#fff}
    .mode-internal-badge{display:none;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.72rem;font-weight:800}
    body.mode-internal .mode-internal-badge{display:inline-flex}
    body.mode-public .internal-only{display:none!important}
    body.mode-internal .public-only{display:none!important}
    .public-guidance{margin-top:10px;padding:10px 12px;border-radius:10px;background:#eef6ff;border-left:4px solid #2563eb;color:#334155;font-size:.82rem}
    body.mode-internal .public-guidance{display:none}
    @media(max-width:680px){.mode-switch{align-items:flex-start;flex-direction:column}.mode-buttons{width:100%}.mode-btn{flex:1}}

    @media (max-width:940px){
      .grid{grid-template-columns:1fr}
      .sticky{position:static}
    }
    @media (max-width:680px){
      .hero-grid,.toolbar,.fields,.actions,.metric-grid{grid-template-columns:1fr}
      .brand-badge{justify-self:start}
      .container{width:min(100% - 20px,1180px)}
      .card-body{padding:14px}
      .section{padding:13px}
    }
    .print-only{display:none}
    .print-report-header{
      margin-bottom:18px;
      padding-bottom:12px;
      border-bottom:2px solid var(--hares-800);
    }
    .print-report-header .print-brand{
      font-size:.82rem;
      font-weight:900;
      letter-spacing:.10em;
      color:var(--hares-700);
    }
    .print-report-header h1{
      margin:4px 0 3px;
      color:var(--hares-900);
      font-size:1.45rem;
      line-height:1.2;
    }
    .print-report-header p{margin:0;color:var(--muted);font-size:.82rem}
    .compare-print-actions{margin-top:14px}

    .public-trust-strip{
      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0;
    }
    .public-trust-item{
      display:flex;align-items:center;gap:9px;padding:11px 13px;border:1px solid var(--line);
      border-radius:12px;background:#fff;color:#475467;font-size:.84rem;
    }
    .public-trust-item strong{color:var(--hares-900)}
    .trust-dot{width:9px;height:9px;border-radius:999px;background:var(--hares-600);flex:0 0 auto}
    .public-cta{
      margin:22px 0 0;padding:22px;border-radius:16px;
      background:linear-gradient(135deg,var(--hares-900),var(--hares-700));color:#fff;
      display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
    }
    .public-cta h2{margin:0 0 6px;font-size:1.28rem}
    .public-cta p{margin:0;color:#dceaf5;max-width:780px}
    .public-cta .btn{background:#fff;color:var(--hares-900);min-width:220px}
    .public-footer-note{margin-top:5px;font-size:.74rem;color:#98a2b3}
    .field-help{margin-top:5px;font-size:.76rem;color:var(--muted)}
    .result-actions-public{grid-template-columns:1fr 1fr}
    @media (max-width:760px){
      .public-trust-strip{grid-template-columns:1fr}
      .public-cta{grid-template-columns:1fr}
      .public-cta .btn{width:100%;min-width:0}
      .result-actions-public{grid-template-columns:1fr}
      .hero{padding-top:24px}
      h1{font-size:2rem}
    }
    @media print{
      html,body{background:#fff!important}
      body{margin:0!important;color:#111!important}
      .print-only{display:block!important}
      .no-print,.actions,.footer,.hero,.toolbar{display:none!important}
      main.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
      .sticky{position:static!important}

      body.print-calculator .compare-section{display:none!important}
      body.print-calculator .grid{display:block!important}
      body.print-calculator .form-card{display:none!important}
      body.print-calculator .result-card{
        display:block!important;
        width:100%!important;
        max-width:none!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
      }
      body.print-calculator .result-card>.card-header{display:none!important}
      body.print-calculator .result-card .card-body{padding:0!important}
      body.print-calculator .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
      body.print-calculator .metric.wide{grid-column:1/-1!important}
      body.print-calculator .metric,
      body.print-calculator .calc-table,
      body.print-calculator .alerts li,
      body.print-calculator .legal{break-inside:avoid}

      body.print-comparison .grid{display:none!important}
      body.print-comparison #comparativoPatrimonial{
        display:block!important;
        width:100%!important;
        border:0!important;
        box-shadow:none!important;
        border-radius:0!important;
        margin:0!important;
      }
      body.print-comparison #comparativoPatrimonial>.compare-intro,
      body.print-comparison #comparativoPatrimonial .compare-form{display:none!important}
      body.print-comparison #comparativoPatrimonial .compare-layout{display:block!important;padding:0!important}
      body.print-comparison #comparativoPatrimonial .compare-results{display:block!important;width:100%!important}
      body.print-comparison .scenario-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}
      body.print-comparison .comparison-table-wrap{overflow:visible!important;border-color:#bbb!important}
      body.print-comparison .comparison-table{min-width:0!important;width:100%!important;font-size:9.5pt!important}
      body.print-comparison .comparison-table th,
      body.print-comparison .comparison-table td{white-space:normal!important;padding:6px 8px!important}
      body.print-comparison .winner-box,
      body.print-comparison .scenario-card,
      body.print-comparison .comparison-table tr,
      body.print-comparison .compare-note,
      body.print-comparison .sources-box{break-inside:avoid}
    }
