:root{--ccalc-primary:#1a56db;--ccalc-secondary:#f0f4ff;--ccalc-btn:#1a56db;--ccalc-primary-dark:#1245b5;--ccalc-primary-light:#e8effd;--ccalc-success:#0e7f4e;--ccalc-success-bg:#ecfdf5;--ccalc-danger:#c81e1e;--ccalc-danger-bg:#fef2f2;--ccalc-neutral:#374151;--ccalc-border:#d1d5db;--ccalc-text:#111827;--ccalc-text-muted:#6b7280;--ccalc-radius:10px;--ccalc-radius-sm:6px;--ccalc-shadow:0 1px 3px rgba(0,0,0,.10), 0 1px 2px rgba(0,0,0,.06);--ccalc-shadow-lg:0 4px 16px rgba(0,0,0,.10);--ccalc-font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ccalc-transition:.18s ease}.ccalc-wrap *,.ccalc-wrap *::before,.ccalc-wrap *::after{box-sizing:border-box}.ccalc-wrap{font-family:var(--ccalc-font);font-size:15px;color:var(--ccalc-text);line-height:1.6;max-width:820px;margin:0 auto;padding:0 0 2rem}.ccalc-toolbar{display:flex;justify-content:flex-end;padding:.5rem 0}.ccalc-toolbar--top{margin-bottom:.5rem}.ccalc-toolbar--bottom{margin-top:1.5rem}.ccalc-section{background:#fff;border:1px solid var(--ccalc-border);border-radius:var(--ccalc-radius);padding:1.25rem 1rem;margin-bottom:1.25rem;box-shadow:var(--ccalc-shadow)}.ccalc-section--alt{background:var(--ccalc-secondary)}.ccalc-section__title{font-size:1.05rem;font-weight:700;color:var(--ccalc-primary);margin:0 0 .5rem;padding-bottom:.4rem;border-bottom:2px solid var(--ccalc-primary-light)}.ccalc-section__desc{font-size:.88rem;color:var(--ccalc-text-muted);margin:0 0 1rem}.ccalc-loans-list{display:flex;flex-direction:column;gap:.85rem;margin-bottom:1rem}.ccalc-loan-card{background:#fff;border:1px solid var(--ccalc-border);border-radius:var(--ccalc-radius);padding:1rem;box-shadow:var(--ccalc-shadow);transition:border-color var(--ccalc-transition)}.ccalc-loan-card:focus-within{border-color:var(--ccalc-primary)}.ccalc-loan-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.ccalc-loan-card__title{font-weight:600;color:var(--ccalc-primary);font-size:.95rem}.ccalc-loan-card__fields{display:grid;grid-template-columns:1fr;gap:.65rem}@media (min-width:520px){.ccalc-loan-card__fields{grid-template-columns:repeat(3,1fr)}}.ccalc-loan-card__result{margin-top:.85rem;padding-top:.75rem;border-top:1px dashed var(--ccalc-border);display:flex;flex-wrap:wrap;gap:.75rem}.ccalc-loan-result-item{display:flex;flex-direction:column;gap:.15rem}.ccalc-loan-result-item__label{font-size:.78rem;color:var(--ccalc-text-muted)}.ccalc-loan-result-item__value{font-size:.95rem;font-weight:600;color:var(--ccalc-primary)}.ccalc-loans-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.ccalc-loans-counter{font-size:.85rem;color:var(--ccalc-text-muted)}.ccalc-field{display:flex;flex-direction:column;gap:.25rem}.ccalc-label{font-size:.83rem;font-weight:600;color:var(--ccalc-neutral)}.ccalc-required{color:var(--ccalc-danger);margin-left:.1rem}.ccalc-input{width:100%;padding:.55rem .75rem;border:1px solid var(--ccalc-border);border-radius:var(--ccalc-radius-sm);font-size:.92rem;font-family:var(--ccalc-font);color:var(--ccalc-text);background:#fff;transition:border-color var(--ccalc-transition),box-shadow var(--ccalc-transition);-moz-appearance:textfield}.ccalc-input::-webkit-inner-spin-button,.ccalc-input::-webkit-outer-spin-button{opacity:1}.ccalc-input:focus{outline:none;border-color:var(--ccalc-primary);box-shadow:0 0 0 3px rgb(26 86 219 / .15)}.ccalc-input--readonly{background:var(--ccalc-primary-light);color:var(--ccalc-text-muted);cursor:not-allowed}.ccalc-input--error{border-color:var(--ccalc-danger)!important;box-shadow:0 0 0 3px rgb(200 30 30 / .1)!important}.ccalc-field__error{font-size:.78rem;color:var(--ccalc-danger);min-height:1rem}.ccalc-field__note{font-size:.75rem;color:var(--ccalc-text-muted);font-style:italic}.ccalc-tooltip{cursor:help;color:var(--ccalc-text-muted);font-size:.8rem;margin-left:.2rem}.ccalc-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem 1.1rem;border-radius:var(--ccalc-radius-sm);font-size:.88rem;font-weight:600;font-family:var(--ccalc-font);border:none;cursor:pointer;transition:background var(--ccalc-transition),opacity var(--ccalc-transition),box-shadow var(--ccalc-transition);text-decoration:none;line-height:1}.ccalc-btn:disabled{opacity:.45;cursor:not-allowed}.ccalc-btn--secondary{background:var(--ccalc-btn);color:#fff}.ccalc-btn--secondary:hover:not(:disabled){background:var(--ccalc-primary-dark);box-shadow:var(--ccalc-shadow)}.ccalc-btn--ghost{background:#fff0;color:var(--ccalc-text-muted);border:1px solid var(--ccalc-border)}.ccalc-btn--ghost:hover:not(:disabled){background:#f9fafb;color:var(--ccalc-danger);border-color:var(--ccalc-danger)}.ccalc-btn--clear{font-size:.82rem;padding:.4rem .85rem}.ccalc-btn--icon{background:#fff0;border:none;color:var(--ccalc-text-muted);padding:.25rem .4rem;border-radius:var(--ccalc-radius-sm);font-size:1rem;line-height:1;cursor:pointer;transition:color var(--ccalc-transition),background var(--ccalc-transition)}.ccalc-btn--icon:hover{color:var(--ccalc-danger);background:var(--ccalc-danger-bg)}.ccalc-icon{font-style:normal}.ccalc-totals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.85rem}@media (min-width:600px){.ccalc-totals-grid{grid-template-columns:repeat(4,1fr)}}.ccalc-stat{display:flex;flex-direction:column;gap:.2rem}.ccalc-stat--inline{flex-direction:row;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#fff;border:1px solid var(--ccalc-border);border-radius:var(--ccalc-radius-sm)}.ccalc-stat--large .ccalc-stat__value{font-size:1.6rem}.ccalc-stat__label{font-size:.78rem;color:var(--ccalc-text-muted);font-weight:500}.ccalc-stat__value{font-size:1.1rem;font-weight:700;color:var(--ccalc-text)}.ccalc-stat__value--accent{color:var(--ccalc-primary)}.ccalc-refi-form{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}@media (min-width:520px){.ccalc-refi-form{grid-template-columns:repeat(2,1fr)}}.ccalc-refi-result{display:flex;flex-direction:column;gap:.5rem}.ccalc-compare-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem}@media (min-width:520px){.ccalc-compare-grid{grid-template-columns:repeat(3,1fr)}}.ccalc-compare-card{text-align:center;padding:1rem .75rem;border-radius:var(--ccalc-radius);background:#fff;border:1px solid var(--ccalc-border);box-shadow:var(--ccalc-shadow)}.ccalc-compare-card__label{font-size:.78rem;color:var(--ccalc-text-muted);margin-bottom:.4rem}.ccalc-compare-card__value{font-size:1.15rem;font-weight:700}.ccalc-diff--positive{color:var(--ccalc-success)}.ccalc-diff--negative{color:var(--ccalc-danger)}.ccalc-diff--neutral{color:var(--ccalc-text-muted)}.ccalc-summary-text{background:var(--ccalc-primary-light);border-left:4px solid var(--ccalc-primary);padding:.9rem 1rem;border-radius:0 var(--ccalc-radius-sm) var(--ccalc-radius-sm) 0;font-size:.93rem;line-height:1.7}.ccalc-summary-text__placeholder{color:var(--ccalc-text-muted);font-style:italic;margin:0}.ccalc-accordion{border:1px solid var(--ccalc-border);border-radius:var(--ccalc-radius);margin-bottom:1rem;box-shadow:var(--ccalc-shadow);overflow:hidden}.ccalc-accordion__trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;background:#fff;border:none;cursor:pointer;font-size:.97rem;font-weight:600;font-family:var(--ccalc-font);color:var(--ccalc-text);text-align:left;transition:background var(--ccalc-transition)}.ccalc-accordion__trigger:hover{background:var(--ccalc-secondary)}.ccalc-accordion__trigger[aria-expanded="true"]{background:var(--ccalc-primary-light);color:var(--ccalc-primary);border-bottom:1px solid var(--ccalc-border)}.ccalc-accordion__icon{display:inline-block;width:18px;height:18px;position:relative;flex-shrink:0}.ccalc-accordion__icon::before,.ccalc-accordion__icon::after{content:'';position:absolute;background:currentColor;border-radius:2px;transition:transform var(--ccalc-transition)}.ccalc-accordion__icon::before{width:10px;height:2px;top:8px;left:4px}.ccalc-accordion__icon::after{width:2px;height:10px;top:4px;left:8px}.ccalc-accordion__trigger[aria-expanded="true"] .ccalc-accordion__icon::after{transform:rotate(90deg)}.ccalc-accordion__panel{padding:1.1rem 1rem;background:#fff}.ccalc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ccalc-table{width:100%;border-collapse:collapse;font-size:.85rem}.ccalc-table th{background:var(--ccalc-secondary);color:var(--ccalc-primary);font-weight:700;text-align:right;padding:.55rem .65rem;border-bottom:2px solid var(--ccalc-border);white-space:nowrap}.ccalc-table th:first-child,.ccalc-table td:first-child{text-align:center}.ccalc-table td{text-align:right;padding:.45rem .65rem;border-bottom:1px solid #f0f0f0;color:var(--ccalc-text)}.ccalc-table tr:last-child td{border-bottom:none}.ccalc-table tr:nth-child(even) td{background:#fafafa}.ccalc-table__empty{text-align:center!important;color:var(--ccalc-text-muted);padding:1.5rem!important;font-style:italic}.ccalc-dynamic-form{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1.25rem}@media (min-width:520px){.ccalc-dynamic-form{grid-template-columns:repeat(2,1fr)}}.ccalc-field--slider{grid-column:1 / -1}.ccalc-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--ccalc-border);outline:none;cursor:pointer;margin:.35rem 0}.ccalc-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--ccalc-primary);border:2px solid #fff;box-shadow:0 0 0 2px var(--ccalc-primary);cursor:pointer;transition:transform .1s}.ccalc-slider::-webkit-slider-thumb:active{transform:scale(1.2)}.ccalc-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ccalc-primary);border:2px solid #fff;box-shadow:0 0 0 2px var(--ccalc-primary);cursor:pointer}.ccalc-slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--ccalc-text-muted);margin-top:.15rem}.ccalc-dynamic-result{display:flex;flex-direction:column;gap:.65rem;padding:1rem;background:var(--ccalc-secondary);border-radius:var(--ccalc-radius)}@media (max-width:479px){.ccalc-section{padding:1rem .75rem}.ccalc-totals-grid{grid-template-columns:1fr 1fr}.ccalc-compare-card__value{font-size:1rem}.ccalc-btn{padding:.5rem .85rem;font-size:.83rem}}