body{color:#333;background-color:#f9fafb;margin:0;padding:20px;font-family:system-ui,-apple-system,sans-serif}h2{text-align:center;color:#111}h3{color:#1f2937;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;margin:0 0 15px;padding-bottom:8px;font-size:1.2rem;display:flex}h3 svg{stroke:#2563eb;width:22px;height:22px}.grid-container{grid-template-columns:1fr 1fr;gap:20px;max-width:1000px;margin:0 auto;display:grid}.panel{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.full-width{grid-column:1/-1}.row{align-items:center;margin-bottom:12px;display:flex}label{width:160px;font-size:.95rem;font-weight:500;display:inline-block}input[type=number],input[type=text],select{border:1px solid #ccc;border-radius:4px;width:100px;margin-right:5px;padding:6px}.checkbox-label{cursor:pointer;width:auto;margin-right:10px}.rentabilidad-info{margin-left:10px;font-size:.85rem;font-style:italic}.compensa{color:#16a34a;font-weight:700}.nocompensa{color:#dc2626;font-weight:700}.result-row{justify-content:space-between;margin-bottom:8px;font-size:1.05rem;display:flex}.result-row strong{color:#4b5563}.result-value{color:#111;font-weight:700}.bono-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:10px;padding:10px}.bono-inputs{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.bono-inputs input[type=text]{width:80px;margin-right:0}.bono-inputs input[type=number]{width:55px;margin-right:0}.gasto-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:15px;display:grid}.gasto-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.gasto-row input[type=text]{width:110px;margin:0}.gasto-row input[type=number]{width:80px;margin:0}.btn-add{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:.8rem}.btn-add:hover{background:#f3f4f6}.btn-del{color:#dc2626;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px;font-weight:700}.btn-del-row{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:4px;margin:0 auto;padding:6px 12px;font-size:.85rem;font-weight:700;transition:background .2s;display:block}.btn-del-row:hover{background:#dc2626}.comparativa-table{border-collapse:separate;border-spacing:0 10px;width:100%;font-size:.95rem}.comparativa-table th{text-align:center;color:#6b7280;border:none;padding:5px 10px 10px;font-weight:500}.comparativa-table th:first-child{text-align:left}.row-simulacion td{text-align:center;vertical-align:middle;background:#fff;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:15px 10px;transition:background .2s}.row-simulacion td:first-child{text-align:left;cursor:pointer;border-left:1px solid #e5e7eb;border-top-left-radius:8px;border-bottom-left-radius:8px}.row-simulacion td:last-child{border-right:1px solid #e5e7eb;border-top-right-radius:8px;border-bottom-right-radius:8px}.row-simulacion:hover td{cursor:pointer;background:#f8fafc}.row-top td{border-color:#f59e0b!important}.val-top{font-weight:700;color:#d97706!important}.cuota-val{color:#2563eb;font-size:1.1rem;font-weight:700}.badge-fijo{color:#374151;text-transform:uppercase;background:#f3f4f6;border-radius:12px;margin-left:6px;padding:3px 8px;font-size:.65rem;font-weight:600}.badge-top{color:#fff;background:#f59e0b;border-radius:12px;align-items:center;gap:4px;margin-left:6px;padding:3px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.pill-vinc{color:#374151;border:1px solid #d1d5db;border-radius:12px;margin:2px;padding:3px 8px;font-size:.75rem;display:inline-block}.pill-vinc-none{color:#6b7280;font-style:italic}hr{border:0;border-top:1px solid #e5e7eb;margin:15px 0}.res-card{background:#fff;border:1px solid #f3f4f6;border-radius:12px;margin-bottom:16px;padding:12px 16px;box-shadow:0 1px 2px #00000005}.res-card.blue{background:#eff6ff;border-color:#dbeafe}.res-card .label{color:#6b7280;margin-bottom:4px;font-size:.9rem;font-weight:500}.res-card .value{color:#111;white-space:nowrap;font-size:1.25rem;font-weight:600}.res-card.blue .value{color:#1d4ed8;font-size:1.8rem}.res-stats-grid{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:0;display:flex}.res-stats-grid .res-card{box-sizing:border-box;flex:calc(33.333% - 8px);min-width:105px;margin-bottom:0;padding:12px 16px}@media (width>=640px){.res-stats-grid .res-card{max-width:calc(33.333% - 8px)}.res-stats-grid.two-cols .res-card{max-width:calc(50% - 6px)}}.res-layout{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;display:grid}.res-gastos-list{color:#4b5563;flex-direction:column;gap:12px;font-size:.95rem;display:flex}.gasto-item{justify-content:space-between;display:flex}.gasto-item .g-val{color:#111}.text-warning{color:#f59e0b!important}.alert-warning{color:#d97706;background-color:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;margin-top:-4px;margin-bottom:16px;padding:10px 16px;font-size:.95rem;display:flex}.hidden{display:none!important}.tooltip-container{cursor:help;align-items:center;display:inline-flex;position:relative}.tooltip-text{visibility:hidden;color:#fff;text-align:center;z-index:10;opacity:0;white-space:normal;background-color:#1f2937;border-radius:6px;width:220px;margin-left:-110px;padding:8px 12px;font-size:.8rem;font-weight:400;line-height:1.4;transition:opacity .2s;position:absolute;bottom:130%;left:50%;box-shadow:0 4px 6px #0000001a}.tooltip-text:after{content:"";border:5px solid #0000;border-top-color:#1f2937;margin-left:-5px;position:absolute;top:100%;left:50%}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-box{text-align:center;background:#fff;border-radius:8px;width:100%;max-width:320px;padding:20px 25px;box-shadow:0 4px 15px #0003}.modal-buttons{justify-content:space-between;gap:15px;margin-top:20px;display:flex}.btn-cancel{color:#374151;cursor:pointer;background:#e5e7eb;border:none;border-radius:4px;flex:1;padding:10px 16px;font-weight:700;transition:background .2s}.btn-cancel:hover{background:#d1d5db}.btn-confirm{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;flex:1;padding:10px 16px;font-weight:700;transition:background .2s}.btn-confirm:hover{background:#b91c1c}@media (width<=768px){.grid-container{grid-template-columns:1fr}.full-width{grid-column:auto}.res-layout{grid-template-columns:1fr}}
