:root{color-scheme:light;--foreground:#152c48;--muted-foreground:#5b6f86;--brand:#0046a2;--brand-bright:#0086dc;--border:#dce6f1;--card:#fff;font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px;line-height:1.5;background:#f3f7fc;color:var(--foreground)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top right,#e3f0ff,transparent 52%),#f3f7fc}button,input,select{font:inherit}button,summary{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #67baff;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}[hidden]{display:none!important}
#cdj-hipoteca{max-width:1180px;margin:0 auto;padding:32px 28px 24px;display:grid;gap:24px}
.cdj-brand{display:flex;gap:20px;align-items:center;padding:28px 32px;background:linear-gradient(120deg,#003980,#004fae 68%,#087fc7);color:#fff;border-radius:24px;box-shadow:0 14px 40px #0046a21a;position:relative;overflow:hidden}
.cdj-brand::after{content:"";position:absolute;width:240px;height:240px;border:35px solid #ffffff0b;border-radius:50%;right:-100px;top:-95px;pointer-events:none}
.cdj-logo{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:18px;padding:7px;flex-shrink:0}
.cdj-brand h2{font-size:clamp(23px,3.3vw,34px);line-height:1.2;letter-spacing:-.8px;margin:7px 0 8px;font-weight:650}.cdj-brand .text-muted{color:#d7e9ff}.cdj-brand>div>.text-small:first-child{font-size:11px;letter-spacing:2px;font-weight:650}
.cdj-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px;align-items:start}.cdj-editor{display:grid;gap:16px;min-width:0}.cdj-output{display:grid;gap:16px;min-width:0;position:sticky;top:20px}
.cdj-section{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;display:grid;gap:18px;box-shadow:0 5px 22px #234b7205}.cdj-heading{font-size:17px;font-weight:650;margin:0;letter-spacing:-.3px}.cdj-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cdj-field{display:grid;gap:7px;min-width:0;align-content:start}.form-label{font-size:12px;font-weight:600;color:#3e5570}
.form-control,.form-select{width:100%;min-width:0;border:1px solid #d1deed;background:#f9fbfe;border-radius:11px;padding:11px 12px;color:#152c48;font-size:15px;min-height:46px;transition:border-color .15s,box-shadow .15s}.form-control:hover,.form-select:hover{border-color:#8baed9}.form-control:focus,.form-select:focus{background:#fff;border-color:#087fc7;box-shadow:0 0 0 3px #087fc710}.form-control[readonly]{background:#edf3fa;color:#5b6f86}
details{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden}summary{padding:16px 20px;font-size:13px;font-weight:650;color:#24496f;list-style-position:inside}details[open]>summary{border-bottom:1px solid #e9eff6}details>.cdj-fields,details>.cdj-detail{padding:18px 20px}details>.cdj-fields+.cdj-fields{padding-top:0}.cdj-detail{font-size:13px;line-height:1.7}.form-check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;color:#506783}.form-check-input{width:17px;height:17px;accent-color:#0046a2;flex-shrink:0;margin:2px 0}.form-check-label{padding-top:0}
.cdj-results{background:#fff;border:1px solid var(--border);border-radius:20px;padding:24px;display:grid;gap:16px;box-shadow:0 8px 30px #234b7208}.viz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{min-width:0;background:#f3f7fc;border-radius:14px;padding:16px;display:grid;gap:8px}.viz-stat>span{font-size:12px;color:#5b6f86}.viz-stat-value{font-size:clamp(18px,2vw,23px);font-weight:650;letter-spacing:-.8px;overflow-wrap:anywhere;line-height:1.25}.viz-stat:first-child{grid-column:1/-1;background:linear-gradient(120deg,#0046a2,#087fc7);color:#fff;padding:24px}.viz-stat:first-child>span{color:#dceeff}.viz-stat:first-child .viz-stat-value{font-size:clamp(27px,3vw,36px);font-weight:650;margin:2px 0 6px}.text-small{font-size:12px;line-height:1.6}.text-muted{color:#5b6f86}.tabular-nums{font-variant-numeric:tabular-nums}.text-destructive{color:#ab2634}
#cdj-summary{color:#0046a2;font-weight:600}#cdj-second{padding:12px 14px;background:#e8f3ff;border-radius:10px;font-size:13px;color:#0046a2;font-weight:600}#cdj-monthly,#cdj-totals,#cdj-cash-summary{color:#5b6f86}#cdj-totals{border-top:1px solid #e8eef6;padding-top:12px}#cdj-warnings:not(:empty){font-size:12px;color:#6d5722;background:#fff8e9;border:1px solid #f1e6cc;border-radius:12px;padding:12px 16px}#cdj-error:not([hidden]){border-radius:12px;padding:12px 16px;background:#fff1f2;border:1px solid #eed6d9;font-size:13px}
.viz-row{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #cbdbee;background:#fff;color:#315778;border-radius:11px;padding:11px 14px;font-size:12px;font-weight:600;min-height:43px;transition:background .15s,transform .15s}.btn:hover{background:#eaf2fc}.btn:active{transform:translateY(1px)}.btn-primary{background:#0046a2;border-color:#0046a2;color:#fff}.btn-primary:hover{background:#00387e}.btn-ghost{background:transparent}.cdj-legal{font-size:11px;line-height:1.7;color:#6a7c90;border-top:1px solid #dce6f1;padding:18px 4px 0}
#cdj-table-panel{background:#fff;border:1px solid var(--border);border-radius:20px;padding:22px}.table-responsive{overflow-x:auto;margin-top:14px}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{background:#eff5fc;color:#315778;text-align:left;font-weight:600;padding:12px}.table td{padding:10px 12px;border-bottom:1px solid #edf2f8}.table tbody tr:nth-child(even){background:#fafcff}.text-end{text-align:right!important;font-variant-numeric:tabular-nums}.text-nowrap{white-space:nowrap}
@media(max-width:900px){.cdj-layout{grid-template-columns:1fr}.cdj-output{position:static}.viz-stat-value{font-size:24px}.viz-stat:first-child .viz-stat-value{font-size:34px}}
@media(max-width:520px){#cdj-hipoteca{padding:14px 12px 18px;gap:16px}.cdj-brand{padding:20px 18px;gap:14px;border-radius:18px}.cdj-logo{width:65px;height:65px;border-radius:14px;padding:4px}.cdj-brand h2{font-size:23px}.cdj-brand .text-small{font-size:11px}.cdj-brand>div>.text-small:first-child{letter-spacing:1px;font-size:10px}.cdj-section,.cdj-results{padding:18px;border-radius:16px}.cdj-fields{grid-template-columns:1fr;gap:14px}.form-control,.form-select{font-size:16px}.viz-grid{gap:10px}.card{padding:14px}.viz-stat-value{font-size:19px}.viz-stat:first-child .viz-stat-value{font-size:30px}.btn{min-height:44px}summary{padding:15px 18px}details>.cdj-fields,details>.cdj-detail{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#cdj-pdf-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100% - 40px);overflow:auto;border:1px solid #dce6f1;border-radius:20px;padding:26px;background:#fff;color:#152c48;box-shadow:0 24px 100px #001f5050}#cdj-pdf-dialog::backdrop{background:#06255080;backdrop-filter:blur(4px)}#cdj-pdf-form{display:grid;gap:18px}.pdf-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.pdf-dialog-heading h2{font-size:22px;letter-spacing:-.5px;margin:5px 0}.pdf-dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#cdj-pdf-form p{margin:0}.cdj-output .viz-row #cdj-pdf-open{flex:1;min-width:150px;background:#087fc7;border-color:#087fc7}#cdj-pdf-save{min-height:46px}@media(max-width:520px){#cdj-pdf-dialog{padding:20px}.pdf-dialog-heading h2{font-size:20px}}

.cdj-output .viz-row #cdj-share-open{flex-basis:100%;width:100%;color:#0046a2;border-color:#9cc4eb;background:#eef6ff}#cdj-share-ready[hidden]{display:none}#cdj-share-ready{display:grid;gap:16px;padding-top:16px;border-top:1px solid #dce6f1}#cdj-share-ready a{text-decoration:none;display:inline-flex;align-items:center}#cdj-share-ready .pdf-dialog-actions{justify-content:flex-start}

#cdj-share-open{display:flex;align-items:center;justify-content:center;min-height:46px}#cdj-share-open svg{flex-shrink:0}
