:root{--navy:#12303f;--teal:#0d9da2;--teal-dark:#0a7d82;--red:#d64c7b;--gold:#a8780d;--line:#dce7ea;--wash:#eef8f9;--canvas:#f1f5f6;--ink:#142f3c;--muted:#657b84;--danger:#a9324c;color-scheme:light}*{box-sizing:border-box}html{min-width:320px}body,html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(13,157,162,.28);outline-offset:2px}.boot-screen,.unavailable-quote{min-height:100vh;display:grid;place-content:center;text-align:center;padding:32px}.boot-screen p{color:var(--muted)}.spinner{width:34px;height:34px;margin:auto;border:3px solid var(--line);border-top-color:var(--teal);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,440px) minmax(0,1fr);background:#fff}.login-panel{padding:clamp(32px,7vw,88px);display:flex;flex-direction:column;justify-content:center}.app-mark,.login-mark,.unavailable-mark{color:var(--teal-dark);font-weight:900;letter-spacing:-.05em;font-size:32px}.login-panel h1{margin:28px 0 8px;font-size:clamp(32px,4vw,48px);letter-spacing:-.05em}.login-panel>p{color:var(--muted);line-height:1.55}.login-form{display:grid;gap:14px;margin-top:24px}.field{display:grid;gap:7px}.field>span{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#4d666f}.compact-select,.field input,.field select{width:100%;border:1px solid #c9d8dc;border-radius:10px;padding:11px 12px;color:var(--ink);background:#fff}.login-art{display:flex;align-items:flex-end;padding:clamp(36px,7vw,88px);background:linear-gradient(145deg,#0a7580,#12303f 60%,#0a2430);color:#fff}.login-art blockquote{max-width:700px;margin:0;font-size:clamp(28px,4vw,58px);line-height:1.06;letter-spacing:-.045em;font-weight:760}.login-art blockquote span{display:block;margin-top:20px;font-size:13px;text-transform:uppercase;letter-spacing:.16em;color:#9ce0df}.danger-button,.ghost-button,.primary-button,.public-quote-toolbar a,.secondary-button{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}.primary-button{color:white;background:linear-gradient(135deg,#0d9da2,#087078);box-shadow:0 8px 20px rgba(13,157,162,.2)}.secondary-button{color:var(--navy);background:#e3eff1}.ghost-button{color:#405761;background:transparent;border:1px solid #d2dfe2}.danger-button{color:var(--danger);background:#fff0f3;border:1px solid #f2c8d3}button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.inline-error,.status-error{color:var(--danger);background:#fff2f5;border:1px solid #f4cbd5;border-radius:9px;padding:10px 12px;font-size:13px}.studio{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.studio-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;background:#102c39;color:#fff;display:flex;flex-direction:column}.studio-sidebar .app-mark{color:#8cdddb;padding:0 9px}.studio-sidebar nav{margin-top:34px;display:grid;gap:5px}.studio-sidebar nav a{color:#bcd0d6;padding:10px 11px;border-radius:8px;text-decoration:none;font-weight:700;font-size:14px}.studio-sidebar nav a:first-child{color:#fff;background:rgba(255,255,255,.09)}.sidebar-user{margin-top:auto;padding:14px 10px 0;border-top:1px solid rgba(255,255,255,.12)}.sidebar-user span,.sidebar-user strong{display:block;overflow:hidden;text-overflow:ellipsis}.sidebar-user span{color:#9fb7bf;font-size:12px;margin:4px 0 12px}.studio-main{min-width:0;padding:28px clamp(18px,4vw,52px) 80px}.studio-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.studio-header h1{margin:0;font-size:clamp(28px,4vw,44px);letter-spacing:-.045em}.studio-header p{margin:7px 0 0;color:var(--muted)}.identity-selectors{display:grid;grid-template-columns:repeat(2,minmax(150px,230px));gap:10px}.workspace-grid{display:grid;grid-template-columns:minmax(340px,460px) minmax(0,1fr);gap:22px;align-items:start}.control-stack{display:grid;gap:14px}.panel{background:#fff;border:1px solid #dfe8ea;border-radius:15px;padding:18px;box-shadow:0 9px 30px rgba(25,63,76,.055)}.panel h2,.panel h3{margin:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.panel-heading h2{font-size:16px}.panel-heading span{color:var(--muted);font-size:12px}.dropzone{display:grid;place-items:center;min-height:116px;text-align:center;border:1.5px dashed #a9c2c8;border-radius:12px;background:#f8fbfb;cursor:pointer;padding:16px;transition:.16s ease}.dropzone:hover{border-color:var(--teal);background:#f0faf9}.dropzone input{position:absolute;width:1px;height:1px;opacity:0}.dropzone strong{display:block}.dropzone span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.file-summary{margin-top:10px;padding:10px 12px;border-radius:9px;background:var(--wash);font-size:13px;display:flex;justify-content:space-between;gap:12px}.chip-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.chip{border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;background:#edf2f3;color:#5e7077}.chip.loaded{background:#e7f7f0;color:#167142}.chip.file-error,.chip.parse-failed,.chip.unrecognized{background:#fff0f0;color:#a34242}.assumptions-grid,.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.assumptions-grid .field>span,.mapping-grid .field>span{font-size:10px}.assumptions-grid .field input,.assumptions-grid .field select,.mapping-grid .field select{padding:8px 9px;font-size:12px;border-radius:8px}.required-dot{color:var(--red)}details>summary{cursor:pointer;font-weight:800;list-style:none;display:flex;justify-content:space-between}details>summary:after{content:"+";color:var(--teal)}details[open]>summary:after{content:"−"}details[open]>summary{margin-bottom:15px}.action-row{display:flex;gap:9px;flex-wrap:wrap}.progress-track{height:8px;border-radius:99px;background:#e3ebed;overflow:hidden;margin:12px 0 4px}.progress-track>span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#62cbc5);transition:width .2s ease}.progress-label{font-size:12px;color:var(--muted)}.review-panel{margin-bottom:18px;overflow:hidden}.table-scroll{overflow:auto;border:1px solid #e1e9eb;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}th{position:sticky;top:0;z-index:1;text-align:left;background:#f3f7f8;color:#567078;font-size:10px;letter-spacing:.05em;text-transform:uppercase}td,th{padding:9px 10px;border-bottom:1px solid #e8edef}tr.flagged td{background:#fff9e8}tr.zeroed td{color:#65757c}.pager{justify-content:space-between;gap:10px;margin-top:12px}.pager,.pager>div{display:flex;align-items:center}.pager>div{gap:8px}.result-list{display:grid;gap:8px;max-height:320px;overflow:auto}.result-button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;text-align:left;border:1px solid #dbe5e7;background:white;border-radius:10px;padding:11px;cursor:pointer}.result-button[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 2px rgba(13,157,162,.12)}.result-button span,.result-button strong{overflow:hidden;text-overflow:ellipsis}.result-button small{display:block;color:var(--muted);margin-top:3px}.eligibility{align-self:start;font-size:10px;border-radius:99px;padding:4px 7px;background:#edf1f2}.eligibility.ok{color:#167142;background:#e8f7ef}.eligibility.flag{color:#9a6100;background:#fff2cf}.gate-list{margin:10px 0 0;padding-left:18px;color:#845c08;font-size:12px}.artifact-actions{position:sticky;bottom:10px;z-index:4;padding:12px;border-radius:13px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(201,218,222,.85);box-shadow:0 10px 28px rgba(23,54,66,.12)}.quote-link{display:flex;gap:8px;margin-top:10px}.quote-link input{flex:1 1;min-width:0;border:1px solid #d2dee1;border-radius:8px;padding:8px}.event-list{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:7px}.event-list li{display:grid;grid-template-columns:95px 1fr auto;gap:8px;font-size:12px;padding:8px;border-radius:8px;background:#f4f7f8}.event-list time{color:var(--muted)}.preview-column{min-width:0}.preview-empty{display:grid;min-height:500px;place-content:center;padding:40px;text-align:center;border:1.5px dashed #c9d8dc;border-radius:15px;color:var(--muted);background:rgba(255,255,255,.55)}.quote-stage{overflow:auto;border-radius:15px;background:#dce5e7;padding:18px}.quote-flyer{--q-navy:#12303f;--q-teal:#0d9da2;--q-teal-dark:#0a7d82;--q-red:#d64c7b;--q-gold:#a8780d;--q-line:#dde8eb;--q-wash:#eef8f9;width:100%;max-width:816px;min-height:1056px;margin:0 auto;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:14px 33px 7px;background:#fff;color:var(--q-navy);font-family:Arial,Helvetica,sans-serif;line-height:normal;box-shadow:0 5px 24px rgba(14,42,54,.16)}.quote-flyer[data-render-mode=artifact]{width:816px;max-width:none;height:1056px;min-height:1056px;box-shadow:none}.quote-flyer b,.quote-flyer strong{font-weight:700}.preapproval-band{display:grid;grid-template-columns:1.5fr 1fr;border:2.5px solid var(--q-red);border-radius:12px;overflow:hidden;flex-shrink:0}.preapproval-offer{padding:8px 20px 9px}.preapproval-offer h1{margin:0;font-size:22px;line-height:1.05;letter-spacing:-.3px}.preapproval-offer h1 span{color:var(--q-teal)}.borrower-name{margin:2px 0 0;font-size:17px;font-weight:700}.preapproved-copy{margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.2}.preapproved-copy strong{color:var(--q-red);font-size:19px;letter-spacing:.1px}.approval-amount{margin:4px 0 0;color:var(--q-red);font-size:44px;line-height:.98;font-weight:700}.firm-offer{margin:1px 0 0;color:var(--q-teal-dark);font-size:14px;font-weight:700}.property-panel{padding:15px 18px;border-left:1px solid var(--q-line);display:flex;flex-direction:column;justify-content:center}.brand-lockup{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px}.brand-lockup img{width:44px;max-height:42px;object-fit:contain}.brand-lockup span,.brand-lockup strong{display:block}.brand-lockup strong{color:var(--q-teal-dark);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-lockup span{color:#41545d;font-size:9px}.property-panel dl{margin:4px 0 0}.property-panel dl>div{border-top:1px solid var(--q-line);padding-top:4px;margin-top:4px}.property-panel dt{color:var(--q-teal-dark);text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:1px}.property-panel dd{margin:2px 0 0;font-size:14px;font-weight:700;line-height:1.2}.property-panel dl>div:last-child dd{color:var(--q-teal-dark);font-size:28px}.transunion-band{margin:2px 0;text-align:center;background:var(--q-wash);border:2px solid var(--q-teal);border-radius:11px;padding:11px 18px;font-size:15px;line-height:1.3}.transunion-band b{color:var(--q-teal-dark);font-size:19px}.offer-grid{display:grid;grid-template-columns:1.05fr 24px 1fr 24px 1.02fr;grid-template-areas:"debt p1 o1 s1 v1" "debt p2 o2 s2 v2";grid-template-rows:1fr 1fr;gap:6px 0;height:354px;flex-shrink:0}.debt-card,.offer-card,.savings-card{border:2px solid var(--q-line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;background:#fff}.debt-card{grid-area:debt;border-color:var(--q-navy)}.offer-card.teal{grid-area:o1;border-color:var(--q-teal)}.offer-card.gold{grid-area:o2;border-color:var(--q-gold)}.savings-card.teal{grid-area:v1;border-color:var(--q-teal)}.savings-card.gold{grid-area:v2;border-color:var(--q-gold)}.debt-card>header,.offer-card>header,.savings-card>header{padding:8px 6px;text-align:center;color:#fff;font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;line-height:1.1}.offer-card>header{font-size:17px;white-space:nowrap}.offer-option-label{display:block;font-size:9.5px;font-weight:700;letter-spacing:2px;opacity:.9;margin-bottom:2px}.debt-card>header{background:var(--q-navy);font-size:19px}.teal>header{background:var(--q-teal)}.gold>header{background:var(--q-gold)}.debt-card-body{padding:10px 13px;flex:1 1;display:flex;flex-direction:column}.eyebrow{margin:0 0 4px;color:var(--q-red);text-transform:uppercase;font-size:11px;font-weight:700}.debt-lines,.debt-stats{margin:0}.debt-stats>div{padding:5px 0;border-bottom:1px solid var(--q-line)}.debt-stats dt{font-size:9px;text-transform:uppercase;color:#5d757f;font-weight:700;letter-spacing:.6px}.debt-stats dd{margin:1px 0 0;font-size:27px;line-height:1;font-weight:700}.debt-stats>div:not(:first-child) dd{color:var(--q-red)}.debt-lines{margin-top:6px}.debt-lines>div{display:flex;justify-content:space-between;gap:7px;margin:7px 0;font-weight:700}.debt-lines dt{color:#33474f;font-size:13px}.debt-lines dd{margin:0;font-size:16px;white-space:nowrap}.score-range{margin:auto 0 0;text-align:center;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.6px}.first-mortgage-note{margin:5px 0 0;color:#5d757f;font-size:9px;line-height:1.25}.offer-path{display:grid;place-content:center;grid-area:p1}.offer-path.option-two{grid-area:p2}.offer-path.saving-one{grid-area:s1}.offer-path.saving-two{grid-area:s2}.offer-path span{width:24px;height:24px;display:grid;place-content:center;border-radius:50%;color:#fff;background:var(--q-teal);font-size:18px}.offer-path.gold span{background:var(--q-gold)}.offer-card-body,.savings-card-body{flex:1 1;padding:6px 10px;display:flex;flex-direction:column;justify-content:center;text-align:center}.rate-pair{display:grid;grid-template-columns:1fr 1px 1fr;align-items:center}.rate-pair i{height:44px;background:var(--q-line)}.rate-pair span,.rate-pair strong{display:block}.rate-pair strong{font-size:29px;line-height:1}.teal .rate-pair strong{color:var(--q-teal-dark)}.teal .savings-card-body>strong{color:var(--q-teal)}.gold .rate-pair strong,.gold .savings-card-body>strong{color:#8a6209}.metric-label,.rate-pair span{margin-top:4px;color:#5d757f;text-transform:uppercase;letter-spacing:.4px;font-size:10.5px;font-weight:700}.offer-card hr,.savings-card hr{width:calc(100% - 12px);border:0;border-top:1px solid var(--q-line);margin:6px auto}.payment-number{font-size:32px;line-height:1}.teal .payment-number{color:var(--q-teal-dark)}.gold .payment-number{color:var(--q-gold)}.savings-card-body>strong{font-size:44px;line-height:1}.savings-card-body>strong~strong{font-size:32px;line-height:1.05;margin-top:4px}.officer-card{display:flex;min-height:260px;border:3px solid var(--q-teal);border-radius:14px;overflow:hidden}.officer-photo{flex:0 0 194px;width:194px;object-fit:cover;object-position:center top}.officer-main{min-width:0;flex:1 1;display:flex;flex-direction:column}.qualification-grid{flex:1 1;display:grid;grid-template-columns:1fr 1fr}.qualification-grid>div{padding:6px 14px}.qualification-grid>div+div{border-left:1px solid var(--q-line)}.qualification-grid h2{margin:0;padding-bottom:5px;color:var(--q-teal-dark);border-bottom:1px solid var(--q-teal);font-size:12px;text-transform:uppercase}.qualification-grid>div+div h2{color:var(--q-red);border-color:var(--q-red)}.qualification-grid p{margin:4px 0;color:#667b83;font-size:11px;font-weight:700}.qualification-grid ul{min-height:78px;align-content:space-between;margin:5px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:11px;font-weight:700}.qualification-grid>div+div ul{grid-template-columns:1fr;min-height:0}.qualification-grid li:before{content:"✓";margin-right:5px;color:var(--q-teal)}.qualification-grid>div+div li:before{color:var(--q-red)}.officer-contact{border-top:2px solid var(--q-teal);padding:4px 14px;text-align:center}.officer-contact>img{display:block;height:50px;max-width:250px;object-fit:contain;margin:auto}.officer-contact p{margin:3px 0;font-size:13px}.officer-contact p strong{color:var(--q-red);font-size:16px}.officer-contact a{color:var(--q-teal-dark);text-decoration:none;font-weight:700}.officer-contact>div{display:flex;justify-content:center;align-items:center;gap:9px;font-size:9px;color:#536870}.officer-contact>div img{width:38px;height:17px;object-fit:contain}.prescreen-notice,.short-opt-out{color:#2b3d45;border:1px solid var(--q-line);border-radius:5px;padding:5px 8px;font-size:7px;line-height:1.1;text-align:justify}.prescreen-notice{background:var(--q-wash);border-left:3px solid var(--q-navy)}.full-disclosure,.licensing-block{color:#7f9097;font-size:5.2px;line-height:1.12;text-align:justify}.full-disclosure strong{color:#465a63}.short-opt-out{font-size:7px}.controlled-test-label{margin:0;padding:5px 8px;border:1px solid var(--q-line);border-radius:5px;color:var(--q-teal-dark);background:var(--q-wash);font-size:10px;line-height:1.2;font-weight:700;letter-spacing:.4px;text-align:center;flex-shrink:0}.controlled-test-flyer .preapproval-offer{padding-top:14px;padding-bottom:14px}.controlled-test-flyer .preapproval-offer h1{font-size:26px}.controlled-test-flyer .borrower-name{margin-top:8px}.controlled-test-flyer .approval-amount{margin-top:8px;font-size:50px}.controlled-test-flyer .savings-card>header{font-size:16px}.controlled-test-flyer .rate-pair{grid-template-columns:minmax(0,1fr) 1px minmax(0,1fr);column-gap:7px}.controlled-test-flyer .rate-pair strong{font-size:25px}.controlled-test-flyer .quote-option-unavailable{font-size:23px;line-height:1.2;color:var(--q-gold)}.controlled-test-flyer .qualification-grid ul{min-height:0;align-content:start;gap:12px 8px}.controlled-test-flyer .qualification-grid li:before{content:"";margin:0}.controlled-test-disclosure{margin-top:4px;padding:10px 12px;border:1px solid var(--q-line);border-radius:5px;background:var(--q-wash);color:var(--q-navy);font-size:10px;line-height:1.4}.controlled-test-label-footer{margin-top:auto}.artifact-render-mount{position:fixed;left:-10000px;top:0;width:816px;height:1056px;overflow:hidden;pointer-events:none}.public-quote-shell{min-height:100vh;padding:18px}.public-quote-toolbar{max-width:816px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:14px}.public-quote-toolbar span,.public-quote-toolbar strong{display:block}.public-quote-toolbar span{margin-top:2px;color:var(--muted);font-size:12px}.public-quote-toolbar a{color:#fff;background:var(--teal-dark)}.unavailable-quote{max-width:520px;margin:auto}.unavailable-quote h1{margin:20px 0 8px;font-size:36px;letter-spacing:-.04em}.unavailable-quote p{color:var(--muted);line-height:1.55}@media (max-width:1120px){.workspace-grid{grid-template-columns:1fr}.preview-column{order:-1}.studio-sidebar{display:none}.studio{display:block}}@media (max-width:700px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.studio-main{padding:20px 12px 60px}.studio-header{display:block}.identity-selectors{margin-top:16px}.assumptions-grid,.identity-selectors,.mapping-grid{grid-template-columns:1fr}.quote-stage{padding:0;background:transparent}.quote-flyer[data-render-mode=preview]{min-width:720px}}@media (max-width:520px){.public-quote-shell{padding:0;background:#fff}.public-quote-toolbar{position:sticky;top:0;z-index:8;padding:10px 12px;margin:0;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-quote-toolbar a{padding:9px 11px;font-size:12px}.quote-flyer[data-render-mode=public]{width:100%;min-height:0;padding:12px;gap:10px;box-shadow:none}.quote-flyer[data-render-mode=public] .preapproval-band{grid-template-columns:1fr}.quote-flyer[data-render-mode=public] .property-panel{border-left:0;border-top:1px solid var(--q-line)}.quote-flyer[data-render-mode=public] .offer-grid{height:auto;grid-template-columns:1fr;grid-template-areas:"debt" "o1" "v1" "o2" "v2";gap:8px}.quote-flyer[data-render-mode=public] .offer-path{display:none}.quote-flyer[data-render-mode=public] .debt-card-body{min-height:330px}.quote-flyer[data-render-mode=public] .offer-card-body,.quote-flyer[data-render-mode=public] .savings-card-body{min-height:150px}.quote-flyer[data-render-mode=public] .officer-card{display:grid}.quote-flyer[data-render-mode=public] .officer-photo{width:100%;height:280px}.quote-flyer[data-render-mode=public] .qualification-grid{grid-template-columns:1fr}.quote-flyer[data-render-mode=public] .qualification-grid>div+div{border-left:0;border-top:1px solid var(--q-line)}.quote-flyer[data-render-mode=public] .qualification-grid h2{font-size:14px}.quote-flyer[data-render-mode=public] .qualification-grid ul{font-size:12px;gap:7px}.quote-flyer[data-render-mode=public] .prescreen-notice,.quote-flyer[data-render-mode=public] .short-opt-out{font-size:10px;line-height:1.3}.quote-flyer[data-render-mode=public] .full-disclosure,.quote-flyer[data-render-mode=public] .licensing-block{font-size:9px;line-height:1.3}}@media print{body{background:#fff}.public-quote-toolbar{display:none}.public-quote-shell{padding:0}.quote-flyer{width:8.5in;max-width:none;height:11in;box-shadow:none;page-break-after:always}@page{size:letter;margin:0}}