:root{--navy:#1b3557;--blue:#2a5d93;--ink:#1f2933;--muted:#5b6670;--line:#d9dee3;--bg:#f5f7f9;--err:#a4161a;--ok:#1d6b3a}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:9}
.top{background:var(--navy);color:#fff}
.top .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:14px;padding-bottom:14px}
.brand{color:#fff;text-decoration:none;display:flex;align-items:baseline;gap:8px}
.mark{font-weight:700;font-size:22px;letter-spacing:.5px}.by{font-size:13px;opacity:.85}
nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
nav a,nav .link{color:#fff;text-decoration:none;font-size:15px}nav a:hover,nav .link:hover{text-decoration:underline}
main{padding:28px 20px 48px}
h1{font-size:26px;color:var(--navy);margin:0 0 16px}h2{font-size:19px;color:var(--navy);margin:0 0 12px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px;margin-bottom:20px}
.narrow{max-width:460px;margin-left:auto;margin-right:auto}
label{display:block;font-weight:600;margin:14px 0 4px}
input,select{width:100%;padding:10px 12px;font:inherit;border:1px solid #9aa5b1;border-radius:6px;background:#fff}
input:focus,select:focus,button:focus,a:focus{outline:3px solid #f2b705;outline-offset:2px}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--err)}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:6px;padding:11px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;margin-top:16px}
.btn:hover{background:var(--navy)}.btn.secondary{background:#fff;color:var(--blue);border:1px solid var(--blue)}
.link{background:none;border:0;padding:0;color:var(--blue);font:inherit;cursor:pointer;text-decoration:underline}
.inline{display:inline}
.notice{background:#e8f3ec;border-left:4px solid var(--ok);padding:12px 14px;margin-bottom:18px;border-radius:4px}
.error{background:#fbeaea;border-left:4px solid var(--err);padding:12px 14px;margin-bottom:10px;border-radius:4px}
.field-error{color:var(--err);font-size:14px;display:block;margin-top:4px}
.hint,.muted,small{color:var(--muted);font-weight:400;font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 20px}.full{grid-column:1/-1}
fieldset{border:1px solid var(--line);border-radius:6px;margin:18px 0 0;padding:4px 16px 16px}legend{font-weight:700;color:var(--navy);padding:0 6px}
.row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.row>div{flex:1;min-width:220px}.row .btn{margin-top:0}
.head{display:flex;justify-content:space-between;align-items:center}.head .btn{margin-top:0}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#eef2f6;color:var(--navy);font-size:14px}table.small td{font-size:13px}
tr.off td{color:#8a949e}.actions{white-space:nowrap}.actions>*{margin-right:10px}
code{font-size:12px;word-break:break-word}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px}.facts dt{font-weight:600}.facts dd{margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.foot{color:var(--muted);font-size:13px;padding:20px 0;border-top:1px solid var(--line)}
.req{color:var(--err);font-weight:400;font-size:13px}.block{display:block}.mono{font-family:ui-monospace,Menlo,monospace}
textarea{width:100%;padding:10px 12px;font:inherit;border:1px solid #9aa5b1;border-radius:6px}
.chk{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:6px 0}.chk input{width:auto;margin-top:4px}
.multi{border:0;padding:0;margin:14px 0 0}.multi legend{font-weight:600;padding:0}
.fld{min-width:0}.lbl{display:block;font-weight:600;margin:14px 0 4px}h3{font-size:16px;color:var(--navy);margin:18px 0 0}
.filehead{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}.filehead h1 small{font-size:15px;color:var(--muted);font-weight:400}
.savestate{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:14px;margin:0}.savestate.busy{color:var(--muted)}.savestate.warn{border-color:var(--err);color:var(--err)}.savestate.ok{border-color:var(--ok);color:var(--ok)}
.filegrid{display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:20px;align-items:start}
@media (max-width:1100px){.filegrid{grid-template-columns:1fr}.secnav{display:none}}
.secnav{position:sticky;top:12px;font-size:14px}.secnav ul{list-style:none;padding:0;margin:0}.secnav li{margin:0 0 6px}.secnav a{color:var(--blue)}
.fileside{position:sticky;top:12px}.flags{padding-left:18px;font-size:14px}.flags li{margin-bottom:6px}
.flag-eligibility{color:#8a3b00;font-weight:600}.flag-review{color:#7a4b00}.flag-info{color:var(--muted)}
.pill{display:inline-block;font-size:12px;border-radius:10px;padding:1px 8px}.pill.warn{background:#fdecd2;color:#8a3b00}
.banner{background:#fff7e0;border-left:4px solid #f2b705;padding:10px 12px}.estimate{background:#eef2f6;border-radius:6px;padding:12px;margin-top:14px}
.plain{list-style:none;padding:0;margin:0}.plain li{margin-bottom:8px}.task.done{color:var(--muted)}
.gmi p{margin:0 0 10px}.js-only{display:none}.js .js-only{display:inline-block}[hidden]{display:none!important}
/* Partner wizard: matches the wymac.com Quick Application (WPForms connector progress bar) */
.wiz{max-width:760px;margin:0 auto}.wiz-file{font-size:14px}
.progress{display:flex;list-style:none;padding:0;margin:18px 0 6px;counter-reset:s}
.progress li{flex:1;position:relative;text-align:center}
.progress li::before{content:"";position:absolute;top:17px;left:-50%;width:100%;height:3px;background:var(--line);z-index:0}
.progress li:first-child::before{display:none}
.progress li.done::before,.progress li.current::before{background:var(--blue)}
.progress a{text-decoration:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1;font-size:13px}
.progress .dot{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--muted)}
.progress li.done .dot{background:var(--blue);border-color:var(--blue);color:#fff}
.progress li.current .dot{border-color:var(--blue);color:var(--blue)}
.progress li.current a{color:var(--navy);font-weight:700}
.stepcount{text-align:center;color:var(--muted);font-size:14px;margin:0 0 16px}
.wiz-card h1{margin-bottom:8px}.wiz-card .savestate{margin:0 0 12px;display:inline-block}
.wiz-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0 20px}
.wiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.wiz-nav .btn{margin-top:0;min-width:110px}
.checks{background:#f5f7f9;border-radius:6px;padding:4px 16px 8px;margin-top:20px}.h3{font-size:16px;margin:12px 0 6px}
.review h3{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:4px}.review .edit{font-size:14px;font-weight:400}
.revlist{display:grid;grid-template-columns:minmax(160px,40%) 1fr;gap:6px 16px;margin:8px 0 0}.revlist dt{color:var(--muted)}.revlist dd{margin:0;font-weight:600}
.btn.big{font-size:18px;padding:14px 28px}.submitbox{text-align:center;margin-top:18px}
@media (max-width:600px){.progress .lbl{display:none}.progress li.current .lbl{display:block}.revlist{grid-template-columns:1fr}.revlist dd{margin-bottom:8px}.wiz-nav .btn{min-width:90px}main{padding:16px 12px 40px}.card{padding:18px}}
@media print{.top,.foot,.progress,.wiz-nav,.wiz-card,.notice,.submitbox,.js-only,.skip{display:none!important}.review{border:0;padding:0}body{background:#fff}}
.wiz-nav .link{color:var(--blue);font-size:16px}.wiz-nav .link:hover{color:var(--navy)}
.viewtoggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin:0 0 16px}
.viewtoggle .vt-label{color:var(--muted);font-size:14px;margin-right:4px}
.viewtoggle .vt{padding:9px 16px;border-radius:6px;border:2px solid var(--blue);color:var(--blue);text-decoration:none;font-weight:600;font-size:15px}
.viewtoggle .vt.on{background:var(--blue);color:#fff}.viewtoggle .vt:hover:not(.on){background:#eef3f9}
.statusline{background:#f5f7f9;border-left:4px solid var(--blue);padding:10px 12px}
@media print{.viewtoggle{display:none!important}}
/* ===== Readability pass (v12.3): larger type, calm high-contrast palette, more space, less clutter ===== */
:root{--navy:#13294b;--blue:#1f5fa8;--ink:#14202b;--muted:#4a5561;--line:#dfe4ea;--bg:#f4f6f8}
body{font-size:18px;line-height:1.6}
.top .wrap{padding-top:16px;padding-bottom:16px}
.brand{align-items:baseline;gap:12px}.mark{font-size:26px;letter-spacing:.3px}.by{font-size:15px;opacity:.85;font-weight:400}
nav{gap:20px}nav a,nav .link{font-size:16px}
main{padding:32px 20px 56px}
h1{font-size:30px;line-height:1.25;margin-bottom:20px}h2{font-size:22px}h3{font-size:19px}
label,.lbl{font-size:17px;margin:0 0 8px;color:var(--ink)}
input,select,textarea{font-size:18px;padding:13px 14px;min-height:50px;border-color:#8793a0}
.hint,.muted,small{font-size:15px}
.btn{font-size:18px;padding:14px 26px;border-radius:8px;min-height:52px}
.card{padding:32px;border-radius:12px}
.notice,.error{font-size:17px}
th{font-size:15px}td{font-size:16px}
/* Wizard: one field per row (short pairs side by side), light divider between fields */
.wiz{max-width:720px}.wiz-file{font-size:15px;color:var(--muted)}
.wiz-card h1{font-size:30px}
.wiz-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.wiz-fields>.fld{grid-column:1/-1;padding:18px 0;border-bottom:1px solid var(--line)}
.wiz-fields>.fld:has([data-key="prop_city"]),.wiz-fields>.fld:has([data-key="prop_zip"]),
.wiz-fields>.fld:has([data-key="est_rate"]),.wiz-fields>.fld:has([data-key="est_term"]){grid-column:auto}
.wiz-fields>.fld:last-child{border-bottom:0}
.wiz-fields .chk{font-size:18px;gap:12px;align-items:center}.wiz-fields .chk input{width:22px;height:22px;min-height:0;margin:0}
.plainfs{border:0;padding:0;margin:0;min-width:0}
.plainfs[disabled] input,.plainfs[disabled] select,.plainfs[disabled] textarea{background:#f1f3f5;color:var(--ink);border-color:var(--line)}
.wiz-nav{margin-top:28px;padding-top:22px}.wiz-nav .btn{min-width:130px}.wiz-nav .link{font-size:17px}
.progress .dot{width:40px;height:40px;font-size:16px}.progress li::before{top:19px}.progress a{font-size:14px}
.stepcount{font-size:15px}
details.checks,details.help{background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:0 16px;margin:18px 0 0}
details>summary{cursor:pointer;padding:12px 0;font-weight:600;color:var(--blue);font-size:16px;list-style-position:inside}
details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:8px}
details .count{display:inline-block;min-width:24px;text-align:center;background:#e3ebf5;color:var(--navy);border-radius:12px;font-size:14px;padding:0 8px;margin-left:6px}
details p{font-size:16px}
.revlist{gap:10px 20px;font-size:17px}.review h3{margin-top:26px;font-size:19px}
.viewtoggle .vt{font-size:16px;padding:10px 18px}
/* Submission confirmation */
.confirm{max-width:640px;margin:0 auto;text-align:left}
.confirm-icon{width:64px;height:64px;border-radius:50%;background:var(--ok);color:#fff;font-size:36px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.confirm-facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0 0 24px;font-size:18px}.confirm-facts dt{color:var(--muted)}.confirm-facts dd{margin:0;font-weight:600}
.steps{padding-left:22px}.steps li{margin-bottom:8px}
.confirm-actions .btn{margin-right:12px}
@media (max-width:600px){body{font-size:17px}.wiz-fields{grid-template-columns:1fr}.wiz-fields>.fld{grid-column:1/-1!important}.card{padding:20px}h1,.wiz-card h1{font-size:25px}.brand{gap:8px}.mark{font-size:22px}.by{font-size:13px}.confirm-facts{grid-template-columns:1fr;gap:2px}.confirm-facts dd{margin-bottom:10px}}
@media print{details.checks{display:none}}
main.wrap{padding-top:32px;padding-bottom:56px}@media (max-width:600px){main.wrap{padding:20px 14px 40px}}
.idle-warn{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;background:#fff;border:2px solid var(--blue);border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:20px 24px;max-width:460px;width:calc(100% - 32px)}
.idle-warn h2{margin:0 0 6px}.idle-warn p{margin:0 0 4px}.idle-warn .btn{margin-top:12px}
.savestate a{margin-left:4px}

/* Signing package (Phase C) */
.signing .tbl{width:100%;border-collapse:collapse}.signing td,.signing th{padding:6px 8px;border-bottom:1px solid #e3e7eb;text-align:left;vertical-align:top}
.sstat{display:inline-block;padding:1px 8px;border-radius:10px;font-weight:600;font-size:.9em;background:#eef1f4}
.s-signed{background:#e3f2e8;color:#14532d}.s-sent,.s-viewed{background:#fff4d6;color:#7a4b00}.s-expired{background:#fbeaea;color:#8a1c1c}
.btn.small{padding:4px 10px;font-size:.9em}
.sform{background:#fff;border:1px solid #d5dbe1;border-radius:6px;padding:28px 32px;margin:16px 0;font-family:Georgia,'Times New Roman',serif;line-height:1.55;color:#1f2933}
.sform-head{text-align:center;border-bottom:1px solid #d5dbe1;padding-bottom:10px;margin-bottom:14px;font-size:.92em}.sform-head .lh-name{font-weight:700;font-size:1.08em}
.sform h2{text-align:center;font-size:1.15em;letter-spacing:.02em;margin:10px 0 14px}
.sform-foot{border-top:1px solid #e3e7eb;margin-top:18px;padding-top:6px;font-size:.78em;color:#5b6670;text-align:center}
.sigblock{display:flex;gap:28px;flex-wrap:wrap;margin-top:22px}.sigblock div{flex:1;min-width:150px;border-top:1px solid #1f2933;padding-top:4px}
.sigblock span{display:block;font-weight:600;min-height:1.4em}.sigblock small{color:#5b6670}
.signpage{max-width:860px;margin:0 auto}.signpage .check{display:flex;gap:10px;align-items:flex-start;font-weight:600;margin:12px 0}
.signpage .check input{width:22px;height:22px;flex:none;margin-top:2px}.signpage .agree{background:#f3f6f9;padding:10px;border-radius:6px}
.sign-preview{max-width:860px}
.signing .check{display:flex;gap:10px;align-items:center;font-weight:600;margin:10px 0}.signing .check input{width:20px;height:20px;flex:none;margin:0}
.signing td:last-child{text-align:right;white-space:nowrap}.signing .btn.small{display:inline-block}
.signing .check input,.signpage .check input{min-height:0;padding:0;width:22px;height:22px;flex:none;margin:0}
