.comparador-trust{margin-bottom:var(--spacing-sm)}.trust-pill{font-size:var(--font-size-xs);color:var(--color-primary);background:var(--color-primary-50);border:1px solid var(--color-primary-100);border-radius:var(--radius-full);padding:.2rem .75rem;font-weight:600;display:inline-block}.usury-bar{align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);color:#633806;background:#faeeda;border:1px solid #ef9f27;padding:.6rem 1rem;display:flex}.usury-bar__icon{flex-shrink:0}.usury-bar__text{flex:1}.usury-bar__value{white-space:nowrap;font-weight:700}.comparison-bar{background:var(--color-primary-dark);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:.75rem 1.25rem;display:flex}.comparison-bar__text{color:#fff;font-size:var(--font-size-sm);font-weight:500}.comparison-bar__btn{background:var(--color-accent);color:#fff;font-weight:700;font-size:var(--font-size-sm);border-radius:var(--radius-md);white-space:nowrap;padding:.4rem 1rem}.comparison-bar__btn:hover{background:var(--color-accent-light)}.entity-chips{gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-wrap:wrap;display:flex}.entity-chip{border-radius:var(--radius-full);font-size:var(--font-size-xs);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:.3rem .75rem;font-weight:500}.entity-chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.entity-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.simulate-btn{color:#185fa5;font-size:var(--font-size-xs);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);background:#e6f1fb;border:none;border-radius:5px;align-items:center;gap:.3rem;padding:.3rem .75rem;font-weight:600;display:inline-flex}.simulate-btn:hover{background:#b5d4f4}.filters-search-btn{align-items:center;gap:.4rem;display:inline-flex}.comparador{padding:var(--spacing-2xl) 0;min-height:calc(100vh - var(--navbar-height));animation:fadeIn var(--transition-slow) ease forwards}.comparador-header{margin-bottom:var(--spacing-2xl)}.comparador-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.comparador-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:640px}.comparador-filters{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.filters-grid{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=768px){.filters-grid{grid-template-columns:1fr}}.filter-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.filter-group>label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.filter-group select,.filter-group input{font-size:var(--font-size-sm);padding:.625rem .875rem}.entity-checkboxes{gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);flex-wrap:wrap;max-height:140px;display:flex;overflow-y:auto}.entity-checkbox-label{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);white-space:nowrap;padding:.25rem .5rem;display:flex}.entity-checkbox-label:hover{background:var(--color-bg-tertiary)}.entity-checkbox-label input[type=checkbox]{width:auto;accent-color:var(--color-primary)}.filter-range{grid-column:span 1}.range-inputs{align-items:center;gap:var(--spacing-sm);display:flex}.range-inputs input{flex:1;min-width:0}.range-separator{color:var(--color-text-muted);flex-shrink:0;font-weight:600}.filters-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);justify-content:flex-end;display:flex}.comparador-results{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.results-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.results-header h2{font-size:var(--font-size-xl)}.results-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.sort-btn{font-size:var(--font-size-sm);color:var(--color-primary);background:var(--color-primary-50);border-radius:var(--radius-md);border:1px solid var(--color-primary);transition:all var(--transition-fast);padding:.5rem 1rem;font-weight:600}.sort-btn:hover{background:var(--color-primary);color:var(--color-text-inverse)}.results-table-wrapper{margin-bottom:var(--spacing-lg);overflow-x:auto}.results-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.results-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em}.results-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.results-table tbody tr{transition:background var(--transition-fast)}.results-table tbody tr:hover{background-color:var(--color-bg-secondary)}.results-table tbody tr.row-stale{background-color:#f59e0b0a}.results-table tbody tr.row-stale:hover{background-color:#f59e0b14}.results-table input[type=checkbox]{width:auto;accent-color:var(--color-primary);cursor:pointer}.entity-name{color:var(--color-text);font-weight:600}.rate-cell{color:var(--color-primary);font-weight:700;font-size:var(--font-size-base)}.rate-type-cell{color:var(--color-text-muted);font-size:var(--font-size-xs)}.date-cell{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.stale-badge{color:var(--color-accent-dark);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;background:#f59e0b1a;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.fresh-badge{color:var(--color-success);border-radius:var(--radius-full);font-size:var(--font-size-xs);white-space:nowrap;background:#10b9811a;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.empty-state{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl)}.empty-state-icon{margin-bottom:var(--spacing-md);font-size:3rem;display:block}.empty-state h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm)}.empty-state p{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:400px;margin:0 auto var(--spacing-lg)}.comparison-controls{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.comparison-info{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.max-warning{font-size:var(--font-size-xs);color:var(--color-accent-dark);font-weight:600}.comparador-comparison{margin-top:var(--spacing-xl);background:var(--color-bg);border:2px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.comparison-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.comparison-header h2{font-size:var(--font-size-xl);color:var(--color-primary)}.comparison-table-wrapper{overflow-x:auto}.comparison-table th{text-align:center;padding:var(--spacing-md);color:var(--color-text);border-bottom:2px solid var(--color-primary);background:var(--color-primary-50);font-weight:700}.comparison-table th:first-child{text-align:left;background:0 0}.comparison-entity-header{justify-content:center;align-items:center;gap:var(--spacing-xs);display:flex}.stale-badge-small{font-size:var(--font-size-xs)}.comparison-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:center;border-bottom:1px solid var(--color-border-light);color:var(--color-text)}.comparison-table td:first-child{text-align:left}.comparison-table .attr-label{color:var(--color-text-secondary);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.comparison-table .rate-value{color:var(--color-primary);font-weight:700}.comparison-table tbody tr:hover{background:var(--color-bg-secondary)}.stale-inline{font-size:var(--font-size-xs);color:var(--color-accent-dark);font-weight:600}@media (width<=640px){.comparador{padding:var(--spacing-lg) 0}.comparador-filters,.comparador-results,.comparador-comparison{padding:var(--spacing-md);border-radius:var(--radius-md)}.comparison-controls{gap:var(--spacing-sm);text-align:center;flex-direction:column}.results-header{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}}.hero{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 100%);padding:var(--spacing-3xl) 0;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:radial-gradient(#ffffff0d 0%,#0000 70%);width:60%;height:200%;position:absolute;top:-50%;right:-20%}.hero-content{z-index:1;max-width:720px;position:relative}.hero-title{color:var(--color-text-inverse);margin-bottom:var(--spacing-lg);letter-spacing:-1px;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15}.hero-highlight{color:var(--color-accent-light)}.hero-subtitle{font-size:var(--font-size-lg);color:#ffffffd9;margin-bottom:var(--spacing-xl);max-width:600px;line-height:1.7}.hero-actions{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.hero-btn{font-size:var(--font-size-base);padding:.75rem 1.75rem;font-weight:700}.hero .btn-outline{color:var(--color-text-inverse);border-color:#fff9}.hero .btn-outline:hover{border-color:var(--color-text-inverse);color:var(--color-text-inverse);background-color:#ffffff26}.hero-badges{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.hero-badge{font-size:var(--font-size-sm);color:#fffc;font-weight:500}.market-ticker{padding:var(--spacing-xl) 0;background-color:var(--color-primary-50);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border)}.ticker-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.ticker-title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700}.ticker-link{font-size:var(--font-size-sm);color:var(--color-primary);transition:color var(--transition-fast);font-weight:600}.ticker-link:hover{color:var(--color-primary-dark)}.ticker-grid{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.ticker-item{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-lg);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);transition:box-shadow var(--transition-base), transform var(--transition-base);box-shadow:var(--shadow-sm);flex-direction:column;align-items:center;gap:.25rem;display:flex}.ticker-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.ticker-item-name{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.ticker-item-value{font-size:var(--font-size-xl);color:var(--color-primary);font-weight:800}.ticker-item-variation{font-size:var(--font-size-xs);border-radius:var(--radius-full);padding:.15rem .5rem;font-weight:600}.ticker-item-variation.ticker-up{color:var(--color-success);background-color:#10b9811a}.ticker-item-variation.ticker-down{color:var(--color-error);background-color:#ef44441a}@media (width<=768px){.ticker-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.ticker-grid{grid-template-columns:1fr 1fr}.ticker-item-value{font-size:var(--font-size-lg)}}.features{padding:var(--spacing-3xl) 0;background-color:var(--color-bg-secondary)}.section-title{text-align:center;font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm);letter-spacing:-.5px;font-weight:800}.section-subtitle{text-align:center;font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl);max-width:600px;margin-left:auto;margin-right:auto}.features-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.feature-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);transition:all var(--transition-base)}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary-light);transform:translateY(-4px)}.feature-icon{background-color:var(--color-primary-50);border-radius:var(--radius-lg);width:48px;height:48px;margin-bottom:var(--spacing-md);justify-content:center;align-items:center;font-size:1.5rem;display:inline-flex}.feature-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:700}.feature-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.feature-link{font-size:var(--font-size-sm);color:var(--color-primary);transition:color var(--transition-fast);align-items:center;font-weight:600;display:inline-flex}.feature-link:hover{color:var(--color-primary-dark)}@media (width<=640px){.hero{padding:var(--spacing-2xl) 0}.hero-actions{flex-direction:column}.hero-btn{text-align:center;width:100%}.features-grid{grid-template-columns:1fr}}[data-theme=dark] .hero{background:#161b22}[data-theme=dark] .hero:before{display:none}[data-theme=dark] .hero-title{color:#e6edf3}[data-theme=dark] .hero-subtitle{color:#e6edf3cc}[data-theme=dark] .feature-card{background:#161b22;border:1px solid #30363d}[data-theme=dark] .market-ticker{background:#161b22;border-top:1px solid #30363d}[data-theme=dark] .ticker-item{background:#21262d;border:1px solid #30363d;box-shadow:0 1px 3px #0006}[data-theme=dark] .hero .btn-outline{color:#e6edf3;border:1.5px solid #e6edf3}[data-theme=dark] .hero .btn-outline:hover{background-color:#e6edf31a;border-color:#e6edf3}.cdt-page{padding:var(--spacing-xl) 0}.cdt-header{margin-bottom:var(--spacing-xl)}.cdt-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);font-weight:800}.cdt-header p{color:var(--color-text-secondary);font-size:var(--font-size-md);max-width:640px}.cdt-comparador{margin-bottom:var(--spacing-2xl)}.cdt-filters{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.cdt-filters label{font-weight:600;font-size:var(--font-size-sm)}.cdt-filters select{border-radius:var(--radius-md);border:1px solid var(--color-border);font-size:var(--font-size-sm);background:var(--color-bg);padding:.5rem 1rem}.cdt-count{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:auto}.cdt-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow-x:auto}.cdt-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.cdt-table thead{background:var(--color-bg-secondary)}.cdt-table th{text-align:left;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);padding:.75rem 1rem}.cdt-table td{border-bottom:1px solid var(--color-border-light);padding:.75rem 1rem}.cdt-table tbody tr:hover{background:var(--color-bg-secondary)}.cdt-entity{font-weight:600}.cdt-rate{color:var(--color-accent);font-weight:700;font-size:var(--font-size-md)}.btn-simulate-cdt{border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;padding:.3rem .75rem;font-weight:600}.btn-simulate-cdt:hover{background:var(--color-accent);color:#fff}.cdt-simulator{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border-light)}.cdt-simulator h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-xs);font-weight:700}.cdt-simulator-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.cdt-sim-grid{gap:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.cdt-sim-inputs{gap:var(--spacing-md);flex-direction:column;display:flex}.cdt-sim-field label{font-weight:600;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);display:block}.cdt-sim-field input{border-radius:var(--radius-md);border:1px solid var(--color-border);width:100%;font-size:var(--font-size-md);background:var(--color-bg);padding:.625rem .875rem}.cdt-sim-btn{margin-top:var(--spacing-sm);font-size:var(--font-size-md);padding:.75rem 1.5rem}.cdt-sim-results{gap:var(--spacing-sm);flex-direction:column;display:flex}.cdt-result-card{background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border-light);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.cdt-result-main{background:var(--color-accent);border-color:var(--color-accent)}.cdt-result-main .cdt-result-label,.cdt-result-main .cdt-result-value{color:#fff}.cdt-result-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.cdt-result-value{font-size:var(--font-size-lg);font-weight:700}.cdt-positive{color:var(--color-success,#10b981)}.cdt-negative{color:var(--color-danger,#ef4444)}.cdt-sim-placeholder{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.cdt-sim-placeholder-icon{margin-bottom:var(--spacing-sm);font-size:2.5rem}.cdt-sim-placeholder p{max-width:280px;font-size:var(--font-size-sm)}@media (width<=768px){.cdt-sim-grid{grid-template-columns:1fr}.cdt-filters{flex-direction:column;align-items:flex-start}.cdt-count{margin-left:0}}.admin-page{padding:var(--spacing-xl) 0}.admin-header{margin-bottom:var(--spacing-xl)}.admin-header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs);font-weight:800}.admin-header p{color:var(--color-text-secondary)}.admin-message{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm);padding:.75rem 1rem;font-weight:500}.admin-tabs{gap:var(--spacing-xs);margin-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border-light);padding-bottom:var(--spacing-xs);display:flex}.admin-tab{font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md) var(--radius-md) 0 0;transition:all var(--transition-fast);background:0 0;border:none;padding:.5rem 1.25rem;font-weight:600}.admin-tab:hover{color:var(--color-text);background:var(--color-bg-secondary)}.admin-tab.active{color:var(--color-accent);border-bottom:2px solid var(--color-accent);margin-bottom:-2px}.admin-section h2{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md);font-weight:700}.admin-section h3{font-size:var(--font-size-md);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-md);font-weight:600}.admin-form{background:var(--color-bg-secondary);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.admin-form-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.form-field label{font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;font-weight:600;display:block}.form-field input,.form-field select{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;font-size:var(--font-size-sm);background:var(--color-bg);padding:.5rem .75rem}.admin-table-wrapper{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.admin-table thead{background:var(--color-bg-secondary)}.admin-table th{text-align:left;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);padding:.625rem 1rem}.admin-table td{border-bottom:1px solid var(--color-border-light);padding:.625rem 1rem}.admin-table tbody tr:hover{background:var(--color-bg-secondary)}.admin-table .rate-cell{color:var(--color-accent);font-weight:700}.btn-delete{cursor:pointer;opacity:.6;transition:opacity var(--transition-fast);background:0 0;border:none;font-size:1.1rem}.btn-delete:hover{opacity:1}@media (width<=768px){.admin-form-grid{grid-template-columns:1fr}.admin-tabs{overflow-x:auto}}.calculadora-tea{padding:var(--spacing-2xl) var(--spacing-lg);min-height:calc(100vh - var(--navbar-height))}.calculadora-header{text-align:center;margin-bottom:var(--spacing-2xl)}.calculadora-header h1{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.calculadora-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.calculadora-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:560px;padding:var(--spacing-xl);box-shadow:var(--shadow-lg);margin:0 auto}.mode-selector{background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);gap:4px;padding:4px;display:flex}.mode-tab{border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);white-space:nowrap;background:0 0;flex:1;padding:.625rem .75rem;font-weight:500}.mode-tab:hover{color:var(--color-text)}.mode-tab--active{background:var(--color-bg);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.calculadora-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.form-group input,.form-group select{font-size:var(--font-size-base);padding:.75rem 1rem}.form-group input.input-error,.form-group select.input-error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.error-message{font-size:var(--font-size-sm);color:var(--color-error);margin-top:var(--spacing-xs);display:block}.general-error{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);background:#ef44440d;border:1px solid #ef444433}.indicator-unavailable-notice{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-accent-50);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--spacing-sm);display:flex}.notice-icon{font-size:var(--font-size-lg);flex-shrink:0}.calculate-btn{width:100%;font-size:var(--font-size-base);margin-top:var(--spacing-sm);padding:.875rem;font-weight:600}.result-section{margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--color-border);text-align:center}.result-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);font-weight:600}.result-value{font-size:var(--font-size-4xl);color:var(--color-primary);margin-bottom:var(--spacing-sm);font-weight:700}.result-detail{font-size:var(--font-size-sm);color:var(--color-text-muted)}.variable-breakdown{margin-top:var(--spacing-xl);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:left}.breakdown-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-md);font-weight:600}.breakdown-grid{gap:var(--spacing-sm);flex-direction:column;display:flex}.breakdown-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.breakdown-item:last-child{border-bottom:none}.breakdown-item--total{padding-top:var(--spacing-md);border-top:1px dashed var(--color-border);font-weight:600}.breakdown-item--highlight{background:var(--color-primary-50);margin:var(--spacing-sm) calc(-1 * var(--spacing-md));padding:var(--spacing-md);border-radius:var(--radius-md);border-bottom:none}.breakdown-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breakdown-value{font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.breakdown-item--highlight .breakdown-label{color:var(--color-primary-dark);font-weight:600}.breakdown-item--highlight .breakdown-value{color:var(--color-primary);font-size:var(--font-size-lg)}@media (width<=640px){.calculadora-tea{padding:var(--spacing-lg) var(--spacing-md)}.calculadora-card{padding:var(--spacing-lg)}.mode-selector{flex-direction:column}.mode-tab{text-align:center}.result-value{font-size:var(--font-size-3xl)}}.tea-simulate-link{margin-top:var(--spacing-md);color:var(--color-info);transition:color var(--transition-fast);font-size:12px;font-weight:500;display:inline-block}.tea-simulate-link:hover{color:var(--color-primary)}.calculadora-cuotas{padding:var(--spacing-2xl) 0;min-height:calc(100vh - var(--navbar-height));animation:fadeIn var(--transition-slow) ease forwards}.calc-header{text-align:center;margin-bottom:var(--spacing-2xl)}.calc-title{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-sm)}.calc-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);max-width:600px;margin:0 auto}.cuotas-layout{grid-template-columns:2fr 3fr;align-items:start;gap:24px;display:grid}@media (width<=768px){.cuotas-layout{grid-template-columns:1fr}}.calc-form-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.rate-type-toggle{background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);gap:4px;padding:4px;display:flex}.toggle-btn{border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);text-align:center;background:0 0;flex:1;padding:.75rem 1rem;font-weight:500}.form-group{margin-bottom:var(--spacing-md)}.form-label{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--spacing-xs);font-weight:600;display:block}.form-input.input-error{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}.form-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs);display:block}.field-error-slot{min-height:16px;margin-top:2px}.error-message{color:var(--color-error);font-size:11px;line-height:1.3;display:block}.calc-results-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-md);position:sticky;top:80px}.result-empty{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center;flex-direction:column;display:flex}.result-empty__icon{opacity:.4;font-size:2rem}.result-empty__text{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:240px}.result-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.hero-numbers{flex-direction:column;gap:16px;display:flex}.hero-number{flex-direction:column;gap:2px;display:flex}.hero-number__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.hero-number__value{color:var(--color-text);font-size:24px;font-weight:500;line-height:1.2}.aportes-cta{align-items:flex-start;gap:var(--spacing-sm);background:#eaf3de;border:.5px solid #97c459;border-radius:10px;padding:14px 16px;display:flex}.aportes-cta__icon{flex-shrink:0;margin-top:2px;font-size:1.25rem}.aportes-cta__body{flex-direction:column;gap:4px;display:flex}.aportes-cta__title{color:#27500a;margin:0;font-size:13px;font-weight:500}.aportes-cta__subtitle{color:#3b6d11;margin:0;font-size:12px}.aportes-cta__btn{color:#fff;cursor:pointer;transition:background var(--transition-fast);background:#3b6d11;border:none;border-radius:6px;align-self:flex-start;margin-top:8px;padding:7px 14px;font-size:12px;font-weight:600}.aportes-cta__btn:hover{background:#2d5209}.disclaimer-box{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:3px solid var(--color-info);display:flex}.disclaimer-box--warning{border-left-color:var(--color-warning,#f59e0b);background:#f59e0b0d}.disclaimer-icon{font-size:var(--font-size-lg);flex-shrink:0}.disclaimer-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.disclaimer-list{margin:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-lg);gap:var(--spacing-xs);flex-direction:column;list-style:outside;display:flex}.amortization-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.amortization-toggle-bar{background:var(--color-primary-50);justify-content:space-between;align-items:center;display:flex}.amortization-toggle{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-primary);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;flex:1;justify-content:space-between;align-items:center;font-weight:600;display:flex}.amortization-toggle:hover{background:var(--color-primary-100)}.toggle-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:400}.btn-download{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-primary);border:none;border-left:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);background:0 0;font-weight:600}.btn-download:hover{background:var(--color-primary-100)}.amortization-table-wrapper{max-height:320px;overflow:auto}.amortization-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.amortization-table th{text-align:right;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);background:var(--color-bg-secondary);z-index:1;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0}.amortization-table th:first-child{text-align:center}.amortization-table td{text-align:right;padding:var(--spacing-xs) var(--spacing-md);color:var(--color-text);border-bottom:1px solid var(--color-border-light);font-variant-numeric:tabular-nums}.amortization-table td:first-child{text-align:center;color:var(--color-text-muted);font-weight:600}.amortization-table tbody tr:hover,.amortization-table tbody tr:nth-child(2n){background-color:var(--color-bg-secondary)}.amortization-table tbody tr:nth-child(2n):hover{background-color:var(--color-bg-tertiary)}@media (width<=640px){.calculadora-cuotas{padding:var(--spacing-lg) 0}.calc-form-section{padding:var(--spacing-lg)}.calc-results-panel{padding:var(--spacing-lg);position:static}.hero-number__value{font-size:20px}}.simulador-aportes{padding:var(--spacing-xl) 0;animation:fadeIn var(--transition-slow) ease forwards}.simulador-header{margin-bottom:var(--spacing-xl)}.simulador-header h1{margin-bottom:var(--spacing-sm)}.simulador-header p{max-width:640px}.simulador-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.simulador-form{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.simulador-form .form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.simulador-form .form-group.full-width{grid-column:1/-1}.simulador-form label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.simulador-form input,.simulador-form select{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);padding:.625rem .875rem}.simulador-form input:focus,.simulador-form select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.input-error{border-color:var(--color-error)!important}.error-message{font-size:var(--font-size-xs);color:var(--color-error);margin-top:2px}.simulador-results{margin-top:var(--spacing-xl);animation:fadeIn var(--transition-slow) ease forwards}.aportes-hero{margin-bottom:var(--spacing-lg);background:#eaf3de;border-radius:10px;padding:16px}.aportes-hero__metrics{gap:var(--spacing-lg);margin-bottom:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.aportes-hero__metric{flex-direction:column;gap:4px;display:flex}.aportes-hero__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.aportes-hero__value{color:#27500a;font-size:28px;font-weight:500;line-height:1.1}.aportes-hero__subtext{color:#3b6d11;margin:0;font-size:12px}.preload-banner{justify-content:space-between;align-items:center;gap:var(--spacing-sm);color:#0c447c;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm);animation:fadeIn var(--transition-slow) ease forwards;background:#e6f1fb;border-radius:8px;padding:10px 14px;display:flex}.preload-banner__text{flex:1}.preload-banner__close{color:#0c447c;font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .25rem;font-weight:700;line-height:1}.preload-banner__close:hover{opacity:.7}.results-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);color:var(--color-text)}.highlight-cards{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.highlight-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);text-align:center;transition:transform var(--transition-fast), box-shadow var(--transition-fast)}.highlight-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.highlight-card--savings{border-color:var(--color-accent);background:var(--color-accent-50)}.highlight-card__label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.highlight-card__value{font-size:var(--font-size-2xl);color:var(--color-primary);font-weight:700}.highlight-card--savings .highlight-card__value{color:var(--color-accent-dark)}.highlight-card__percent{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}.comparison-section{margin-top:var(--spacing-xl)}.comparison-section h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.comparison-table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:400px;overflow-y:auto}.comparison-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.comparison-table th{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-sm) var(--spacing-md);text-align:right;white-space:nowrap;font-weight:600;position:sticky;top:0}.comparison-table th:first-child{text-align:center}.comparison-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:right;border-bottom:1px solid var(--color-border-light)}.comparison-table td:first-child{text-align:center;font-weight:600}.comparison-table tr:nth-child(2n){background:var(--color-bg-secondary)}.comparison-table tr.row-finished{color:var(--color-text-muted);font-style:italic}.variable-disclaimer{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-accent-50);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);align-items:flex-start;gap:var(--spacing-sm);display:flex}.variable-disclaimer--warning{border-color:var(--color-warning,#f59e0b);background:#f59e0b0d}.variable-disclaimer .disclaimer-icon{font-size:var(--font-size-lg);flex-shrink:0}.disclaimer-list{margin:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-lg);gap:var(--spacing-xs);flex-direction:column;padding:0;list-style:outside;display:flex}.disclaimer-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}@media (width<=768px){.simulador-form,.highlight-cards{grid-template-columns:1fr}.comparison-table-wrapper{max-height:300px}}.planificador{padding:var(--spacing-xl) 0;animation:fadeIn var(--transition-slow) ease forwards}.planificador-header{margin-bottom:var(--spacing-xl)}.planificador-header h1{margin-bottom:var(--spacing-sm)}.planificador-header p{max-width:640px}.alert-banner{border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:#791f1f;background:#fcebeb;border:1px solid #e24b4a;display:flex}[data-theme=dark] .alert-banner{background:#e24b4a1a}.alert-banner__icon{font-size:var(--font-size-xl);flex-shrink:0}.planificador-summary{gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.summary-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.summary-card__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:11px;font-weight:600}.summary-card__value{color:var(--color-text);font-size:24px;font-weight:500}.summary-card__income-row{align-items:center;gap:var(--spacing-sm);display:flex}.summary-card__no-value{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:4px}.income-edit-btn{cursor:pointer;font-size:var(--font-size-base);border-radius:var(--radius-sm);transition:background var(--transition-fast);background:0 0;border:none;padding:2px 6px}.income-edit-btn:hover{background:var(--color-bg-secondary)}.ratio-bar-bg{border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.ratio-bar-fill{border-radius:3px;height:100%;transition:width .4s}.ratio-zone-label{margin-top:6px;font-size:11px;font-weight:500}.ratio-detail{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-sm)}.ratio-detail__title{font-size:var(--font-size-base);margin-bottom:var(--spacing-md);font-weight:500}.ratio-detail__table{border-collapse:collapse;width:100%;font-size:13px}.ratio-detail__table td{color:var(--color-text-secondary);padding:6px 4px}.ratio-detail__amount{text-align:right;color:var(--color-text);font-weight:500}.ratio-detail__pct{text-align:right;color:var(--color-text-muted);font-size:11px}.ratio-detail__name{max-width:260px}.ratio-detail__total-row td{border-top:1px solid var(--color-border);color:var(--color-text);padding-top:10px;font-weight:600}.ratio-zone-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:600}.credits-section{margin-bottom:var(--spacing-xl)}.credits-section__header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.credits-section__header h2{font-size:var(--font-size-xl);align-items:center;gap:8px;display:flex}.credits-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.empty-state-rich{text-align:center;max-width:420px;margin:var(--spacing-3xl) auto;padding:var(--spacing-xl);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.empty-state-rich__icon{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:36px}.empty-state-rich__title{margin-bottom:var(--spacing-sm);font-size:16px;font-weight:500}.empty-state-rich__desc{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:13px;line-height:1.6}.empty-state-rich__benefits{text-align:left;margin:0 auto var(--spacing-lg);max-width:320px;list-style:none}.empty-state-rich__benefits li{color:var(--color-text-secondary);align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.benefit-check{color:var(--color-success);font-weight:700}.btn-dark{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);border:none;padding:.625rem 1.25rem}.btn-dark:hover{background:#1a3360}.credits-list{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.credit-card-v2{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);border-left:3px solid #185fa5}.credit-card-v2:hover{box-shadow:var(--shadow-md)}.credit-card-v2__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.credit-card-v2__entity{font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.credit-type-badge{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:600}.credit-card-v2__row{font-size:var(--font-size-sm);color:var(--color-text-secondary);justify-content:space-between;margin-bottom:4px;display:flex}.credit-card-v2__sub{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:12px}.credit-card-v2__footer{justify-content:space-between;align-items:center;display:flex}.simulate-extra-btn{color:#3b6d11;cursor:pointer;transition:background var(--transition-fast);background:#eaf3de;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600}.simulate-extra-btn:hover{background:#d4ebba}.credit-card-v2__actions{gap:var(--spacing-xs);display:flex}.credit-card-v2__actions button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer}.credit-card-v2__actions .btn-delete:hover{color:var(--color-error);border-color:var(--color-error);background:#fef2f2}.projection-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-xl)}.projection-section__header{margin-bottom:var(--spacing-lg)}.projection-section__title{margin-bottom:4px;font-size:16px;font-weight:500}.projection-section__subtitle{color:var(--color-text-muted);font-size:13px}.projection-variable-badge{color:#633806;border-radius:var(--radius-full);background:#faeeda;margin-top:8px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.projection-summary{margin-top:var(--spacing-md);color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.projection-summary strong{color:var(--color-text);font-weight:500}.projection-arrow{color:var(--color-text-muted)}.projection-reduction{color:var(--color-success);font-weight:500}.modal-overlay{z-index:200;padding:var(--spacing-lg);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--color-bg);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.modal-box--lg{max-width:560px}.modal-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg);font-weight:600}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);flex-wrap:wrap;display:flex}.modal-progress{align-items:center;margin-bottom:4px;display:flex}.modal-step{background:var(--color-bg-secondary);border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.modal-step--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.modal-step--done{background:var(--color-success);border-color:var(--color-success);color:#fff}.modal-step-line{background:var(--color-border);flex:1;height:2px;margin:0 6px}.modal-step-line--done{background:var(--color-success)}.modal-step-label{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:11px}.modal-form-grid{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.modal-form-grid .form-group{flex-direction:column;gap:4px;display:flex}.modal-form-grid .form-group.full-width{grid-column:1/-1}.form-label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.form-input{width:100%;font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);padding:.625rem .875rem}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.field-error-slot{min-height:16px}.error-message{color:var(--color-error);font-size:11px;line-height:1.3}.rate-type-toggle{background:var(--color-bg-tertiary);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.toggle-btn{border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);text-align:center;cursor:pointer;background:0 0;flex:1;padding:.6rem 1rem;font-weight:500}.toggle-btn:hover{color:var(--color-text)}.toggle-btn.active{background:var(--color-bg);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}@media (width<=768px){.planificador-summary,.credits-list,.modal-form-grid{grid-template-columns:1fr}.modal-form-grid .form-group.full-width{grid-column:1}.projection-summary{flex-direction:column;align-items:flex-start}}.chart-placeholder{padding:var(--spacing-lg)}.chart-placeholder p{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:12px}.chart-placeholder code{background:var(--color-bg-secondary);border-radius:4px;padding:2px 6px;font-size:11px}.chart-fallback-bars{border-bottom:1px solid var(--color-border);align-items:flex-end;gap:4px;height:120px;padding-bottom:4px;display:flex}.chart-fallback-bar{opacity:.7;min-height:2px;transition:opacity var(--transition-fast);background:#185fa5;border-radius:2px 2px 0 0;flex:1}.chart-fallback-bar:hover{opacity:1}.indicadores-page{padding:var(--spacing-xl) 0;animation:fadeIn var(--transition-slow) ease forwards}.indicadores-header{margin-bottom:var(--spacing-2xl)}.indicadores-header h1{margin-bottom:var(--spacing-sm)}.indicadores-header p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.last-updated{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-secondary);border-radius:var(--radius-full);padding:.25rem .75rem;display:inline-block}.dashboard-grid{gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl);flex-direction:column;display:flex}.dashboard-section-title{font-size:var(--font-size-lg);color:var(--color-primary);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-primary-50);font-weight:700}.dashboard-section-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (width<=600px){.dashboard-section-grid{grid-template-columns:1fr}}.indicator-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:transform var(--transition-base), box-shadow var(--transition-base)}.indicator-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.indicator-card-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);display:flex}.indicator-icon{font-size:1.5rem}.indicator-name{font-size:var(--font-size-xl);color:var(--color-primary);font-weight:700}.indicator-label{font-size:var(--font-size-xs);color:var(--color-accent);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);background:#d4af371a;padding:.15rem .5rem;font-weight:600;display:inline-block}.indicator-description{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.4}.indicator-value{font-size:var(--font-size-4xl);color:var(--color-text);margin-bottom:var(--spacing-md);letter-spacing:-.02em;font-weight:800}.indicator-meta{gap:var(--spacing-xs);flex-direction:column;display:flex}.indicator-validity{font-size:var(--font-size-xs);color:var(--color-text-muted)}.indicator-variation{font-size:var(--font-size-sm);border-radius:var(--radius-full);align-items:center;gap:.25rem;width:fit-content;padding:.2rem .6rem;font-weight:600;display:inline-flex}.indicator-variation.variation-up{color:var(--color-success);background-color:#10b9811a}.indicator-variation.variation-down{color:var(--color-error);background-color:#ef44441a}.no-history{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;padding:var(--spacing-xl)}.history-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm)}.history-section h2{margin-bottom:var(--spacing-lg);font-size:var(--font-size-2xl)}.history-tabs{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--color-border);padding-bottom:0;display:flex}.history-tab{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-weight:600}.history-tab:hover{color:var(--color-primary)}.history-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.history-table-wrapper{overflow-x:auto}.history-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.history-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.history-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text);border-bottom:1px solid var(--color-border-light)}.history-table tbody tr:hover{background-color:var(--color-bg-secondary)}.history-table tbody tr:last-child td{border-bottom:none}.indicator-info-btn{cursor:pointer;opacity:.5;transition:opacity var(--transition-fast);background:0 0;border:none;margin-left:auto;padding:2px;font-size:14px;line-height:1}.indicator-info-btn:hover{opacity:1}.indicator-context{margin-top:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:6px;padding:8px 10px}.indicator-context p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.login-page{padding:var(--spacing-xl) 0;min-height:calc(100vh - var(--navbar-height) - 120px);animation:fadeIn var(--transition-slow) ease forwards;justify-content:center;align-items:flex-start;display:flex}.login-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);width:100%;max-width:420px}.login-card__header{text-align:center;margin-bottom:var(--spacing-xl)}.login-card__header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.login-card__header p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.login-form .form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.login-form label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.login-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);padding:.75rem .875rem}.login-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.login-form .input-error{border-color:var(--color-error)}.login-form .error-message{font-size:var(--font-size-xs);color:var(--color-error)}.login-form .general-error{border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-error);text-align:center;background:#fef2f2}[data-theme=dark] .login-form .general-error{background:#ef44441a}.login-form .submit-btn{margin-top:var(--spacing-sm);font-size:var(--font-size-base);padding:.75rem}.login-card__footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.login-card__footer a{color:var(--color-primary);font-weight:600}.login-card__footer a:hover{text-decoration:underline}.registro-page{padding:var(--spacing-xl) 0;min-height:calc(100vh - var(--navbar-height) - 120px);animation:fadeIn var(--transition-slow) ease forwards;justify-content:center;align-items:flex-start;display:flex}.registro-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);width:100%;max-width:460px}.registro-card__header{text-align:center;margin-bottom:var(--spacing-xl)}.registro-card__header h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs)}.registro-card__header p{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.registro-form{gap:var(--spacing-md);flex-direction:column;display:flex}.registro-form .form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.registro-form label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.registro-form input{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);padding:.75rem .875rem}.registro-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.registro-form .input-error{border-color:var(--color-error)}.registro-form .error-message{font-size:var(--font-size-xs);color:var(--color-error)}.registro-form .general-error{border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-error);text-align:center;background:#fef2f2}[data-theme=dark] .registro-form .general-error{background:#ef44441a}.registro-form .submit-btn{margin-top:var(--spacing-sm);font-size:var(--font-size-base);padding:.75rem}.password-strength{margin-top:var(--spacing-sm)}.strength-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:100%;height:6px;margin-bottom:var(--spacing-sm);overflow:hidden}.strength-bar__fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-base), background-color var(--transition-base)}.strength-bar__fill--weak{background-color:var(--color-error)}.strength-bar__fill--fair{background-color:var(--color-warning)}.strength-bar__fill--good{background-color:var(--color-accent)}.strength-bar__fill--strong{background-color:var(--color-success)}.password-requirements{gap:var(--spacing-xs);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.password-requirements li{font-size:var(--font-size-xs);align-items:center;gap:4px;display:flex}.requirement-met{color:var(--color-success)}.requirement-unmet{color:var(--color-text-muted)}.registro-card__footer{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.registro-card__footer a{color:var(--color-primary);font-weight:600}.registro-card__footer a:hover{text-decoration:underline}@media (width<=480px){.password-requirements{grid-template-columns:1fr}}.layout{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;background-color:var(--color-primary-dark);box-shadow:var(--shadow-md);height:var(--navbar-height);position:sticky;top:0}.navbar-inner{max-width:var(--max-width);padding:0 var(--spacing-lg);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.navbar-brand{align-items:center;gap:var(--spacing-sm);color:var(--color-text-inverse);font-weight:800;font-size:var(--font-size-xl);text-decoration:none;display:flex}.navbar-logo{flex-shrink:0;width:32px;height:32px}.navbar-title{letter-spacing:-.5px}.navbar-nav{display:none}.nav-list{align-items:center;gap:var(--spacing-xs);list-style:none;display:flex}.nav-link{border-radius:var(--radius-md);color:#ffffffd9;font-size:var(--font-size-sm);transition:all var(--transition-fast);white-space:nowrap;align-items:center;padding:.375rem .75rem;font-weight:500;text-decoration:none;display:inline-flex}.nav-link:hover{color:#00c48c;background-color:#00c48c14}.nav-link--active{color:#00c48c;background-color:#00c48c1f;border-bottom:2px solid #00c48c;font-weight:600}.navbar-actions{align-items:center;gap:var(--spacing-md);display:flex}.theme-switcher{border-radius:var(--radius-full);background-color:#ffffff1a;align-items:center;gap:2px;padding:2px;display:flex}.theme-btn{border-radius:var(--radius-full);width:28px;height:28px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:.875rem;display:flex}.theme-btn:hover{background-color:#ffffff26}.theme-btn--active{background-color:#ffffff40}.nav-auth-btn{color:var(--color-text-inverse);font-size:var(--font-size-sm);border-color:#fff9;padding:.375rem 1rem}.nav-auth-btn:hover{border-color:var(--color-text-inverse);color:var(--color-text-inverse);background-color:#ffffff26}.mobile-menu-btn{width:36px;height:36px;color:var(--color-text-inverse);border-radius:var(--radius-md);background:0 0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.mobile-menu-btn:hover{background-color:#ffffff1a}.mobile-nav{top:var(--navbar-height);background-color:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);animation:fadeIn var(--transition-base) ease;position:absolute;left:0;right:0}.mobile-nav-list{padding:var(--spacing-sm) 0;list-style:none}.mobile-nav-link{padding:.75rem var(--spacing-lg);color:var(--color-text);transition:background-color var(--transition-fast);font-weight:500;text-decoration:none;display:block}.mobile-nav-link:hover{background-color:var(--color-bg-secondary);color:var(--color-accent)}.mobile-nav-link--active{color:var(--color-accent);background-color:var(--color-accent-50);border-left:3px solid var(--color-accent)}.main-content{padding:var(--spacing-xl) 0;flex:1}.footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-lg) 0;margin-top:auto}.footer-text{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-inner{justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.footer-trust{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}@media (width>=1024px){.navbar-nav{display:block}.mobile-menu-btn{display:none}.nav-auth-btn{display:inline-flex}}@media (width<=1023px){.nav-auth-btn,.theme-switcher{display:none}}@media (width<=640px){.navbar-title{font-size:var(--font-size-lg)}}[data-theme=dark] .navbar-logo rect,[data-theme=dark] .navbar-logo circle{fill:#00c48c}:root{--color-primary:#1e3a5f;--color-primary-dark:#152b48;--color-primary-light:#2a4f7c;--color-primary-50:#eff4fb;--color-primary-100:#c8daf0;--color-accent:#00c48c;--color-accent-dark:#00a876;--color-accent-light:#33d4a4;--color-accent-50:#e6fbf5;--color-bg:#fff;--color-bg-secondary:#f8fafc;--color-bg-tertiary:#f1f5f9;--color-text:#1e293b;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-text-inverse:#fff;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--navbar-height:64px;--max-width:1280px;--sidebar-width:260px;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease}[data-theme=dark]{--color-primary:#2a4f7c;--color-primary-dark:#0d1117;--color-primary-light:#3a6499;--color-primary-50:#0f1f33;--color-primary-100:#152b48;--color-accent:#00c48c;--color-accent-dark:#00a876;--color-accent-light:#33d4a4;--color-accent-50:#0a352b;--color-bg:#0d1117;--color-bg-secondary:#161b22;--color-bg-tertiary:#21262d;--color-text:#e6edf3;--color-text-secondary:#8b949e;--color-text-muted:#6e7681;--color-text-inverse:#0d1117;--color-border:#30363d;--color-border-light:#21262d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:700;line-height:1.3}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);line-height:1.7}a{color:var(--color-accent-dark);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}button{font-family:var(--font-family);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-base);border:none;outline:none;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);border-radius:var(--radius-md);padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover{background-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-accent:hover{background-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{border:2px solid var(--color-accent);color:var(--color-accent);background-color:#0000}.btn-outline:hover{background-color:var(--color-accent);color:var(--color-text-inverse)}input,select,textarea{font-family:var(--font-family);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);width:100%;padding:.625rem .875rem}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-50);outline:none}.container{width:100%;max-width:var(--max-width);padding:0 var(--spacing-lg);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-text-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-slow) ease forwards}
