:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172033;background:#f4f7fb;--nav:#132238;--accent:#2878c8;--accent2:#1f5f9f;--card:#fff;--line:#dfe6ef;--muted:#66758a;--good:#16794a;--bad:#b42318;--shadow:0 8px 28px rgba(18,38,63,.08)}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#eef4fb 0,#f7f9fc 260px);min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--nav);color:#fff;box-shadow:0 2px 10px #0002}.topbar-inner{max-width:1220px;margin:auto;display:flex;align-items:center;gap:24px;padding:14px 22px}.brand{font-weight:800;font-size:1.1rem;color:#fff;letter-spacing:.2px}.navlinks{display:flex;gap:6px;flex-wrap:wrap}.navlinks a{color:#dce8f5;padding:8px 11px;border-radius:8px;font-weight:600}.navlinks a:hover,.navlinks a.active{background:#ffffff16;color:#fff;text-decoration:none}.page{max-width:1220px;margin:30px auto;padding:0 20px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:22px}.page-head h1{margin:0;font-size:1.8rem}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.subtitle,.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.card{grid-column:span 6;background:var(--card);border:1px solid #e8edf4;border-radius:15px;padding:22px;box-shadow:var(--shadow)}.card.full{grid-column:1/-1}.card.third{grid-column:span 4}.card h2{margin:0 0 16px;font-size:1.12rem}.metric{font-size:1.8rem;font-weight:800;margin:4px 0}.metric-label{color:var(--muted);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-box{background:#f7f9fc;border:1px solid var(--line);border-radius:12px;padding:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:700;color:#3c4858}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#172033;font:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2878c820}select{appearance:auto}.actions{display:flex;gap:10px;margin-top:18px;align-items:center}button,.btn{border:0;border-radius:8px;padding:10px 16px;background:var(--accent);color:#fff;font-weight:750;cursor:pointer}button:hover,.btn:hover{background:var(--accent2);text-decoration:none}.btn.secondary,button.secondary{background:#e9eef5;color:#26364a}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #edf1f5;white-space:nowrap}th{background:#f7f9fc;color:#526176;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}tr:last-child td{border-bottom:0}.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:#e9eef5;font-size:.75rem;font-weight:800}.badge.good{background:#e7f6ee;color:var(--good)}.badge.bad{background:#feeceb;color:var(--bad)}details.card{padding:0}details.card summary{cursor:pointer;list-style:none;padding:20px 22px;font-weight:800}details.card summary::-webkit-details-marker{display:none}details.card summary:after{content:"▾";float:right;color:var(--muted)}details.card[open] summary:after{content:"▴"}details.card .details-body{padding:0 22px 22px}.notice{padding:11px 14px;border-radius:9px;background:#eaf4ff;color:#174d7e;margin:12px 0}.notice.bad{background:#fff0ef;color:var(--bad)}.login-shell{max-width:430px;margin:11vh auto;padding:20px}.login-card{background:#fff;padding:34px;border-radius:18px;box-shadow:0 16px 50px #152b4620;border:1px solid #e7edf5}.login-card h1{margin:5px 0}.login-card button{width:100%;margin-top:12px}.login-mark{width:48px;height:48px;border-radius:12px;background:var(--nav);color:#fff;display:grid;place-items:center;font-weight:900}.decision{font-size:1.1rem;font-weight:850}.decision.ACCEPT{color:var(--good)}.decision.DECLINE{color:var(--bad)}@media(max-width:850px){.card,.card.third{grid-column:1/-1}.metric-grid{grid-template-columns:repeat(2,1fr)}.topbar-inner{align-items:flex-start;flex-direction:column;gap:8px}.form-grid{grid-template-columns:1fr}}@media(max-width:520px){.metric-grid{grid-template-columns:1fr}.page{padding:0 12px}.card{padding:17px}.page-head h1{font-size:1.5rem}}
.inline-edit{display:flex;align-items:center;gap:8px}.inline-edit input{max-width:120px}.inline-edit button{padding:8px 12px}.inline-edit .muted{min-width:110px;font-size:.8rem}

/* Calculator dashboard v2 */
.dash{max-width:1480px;margin:0 auto;padding:18px 20px 42px}.dash-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.dash-head h1{margin:0;font-size:1.8rem}.calc-grid{display:grid;grid-template-columns:minmax(430px,.9fr) minmax(650px,1.25fr);gap:14px}.lower-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:14px;margin-top:14px}.panel{background:#fff;border:1px solid #dfe7f1;border-radius:12px;padding:18px;box-shadow:0 3px 14px #17324d0b;min-width:0}.panel h2{font-size:1rem;margin:0 0 15px;display:flex;align-items:center;gap:9px}.step{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#2476ce;color:#fff;font-size:.82rem}.money-input{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#fff}.money-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2878c820}.money-input span{padding:0 0 0 11px;font-weight:800;color:#506176}.money-input input{border:0!important;box-shadow:none!important;padding-left:7px}.summary4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.summary{border-radius:10px;padding:14px;border:1px solid #dbe5f0;min-width:0}.summary span{display:block;font-size:.74rem;font-weight:800;color:#596b82;text-transform:uppercase}.summary strong{display:block;font-size:1.65rem;margin-top:7px;white-space:nowrap}.summary.blue{background:#eef6ff}.summary.rose{background:#fff0f1}.summary.green{background:#edf9ee;color:#087a2e}.recommend{margin-top:11px;padding:14px 16px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #dce6ef}.recommend small{display:block;font-weight:850;letter-spacing:.14em}.recommend>div>strong{font-size:2rem;display:block}.recommend.ACCEPT{background:#eaf8ed;color:#087a2e}.recommend.NEGOTIATE{background:#fff7db;color:#805b00}.recommend.DECLINE{background:#ffeded;color:#a81717}.decision-key{display:flex;gap:8px}.decision-key span{padding:11px 13px;border-radius:8px;font-weight:850;color:#fff;white-space:nowrap}.decision-key .accept{background:#159447}.decision-key .negotiate{background:#e7ad00;color:#2f2600}.decision-key .decline{background:#e83c3c}.quick5{display:grid;grid-template-columns:repeat(5,1fr);margin-top:13px;border-top:1px solid #e5eaf0}.quick5 div{text-align:center;padding:13px 8px;border-right:1px solid #e5eaf0}.quick5 div:last-child{border:0}.quick5 span{display:block;color:#66758a;font-size:.76rem}.quick5 b{display:block;margin-top:5px;font-size:1rem}.hint{font-size:.82rem;color:#66758a;margin:-7px 0 12px}.source-badge{background:#eaf4ff;color:#175d9d;border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:800}.total-row td{font-weight:850;background:#eaf4ff}.threshold{display:flex;justify-content:space-between;padding:13px;border-bottom:1px solid #e5eaf0}.threshold.offered{background:#eef6ff;color:#0e5db4}.target-box{margin-top:18px;background:#fff8e6;border:1px solid #f0d993;border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:9px}.target-box span{font-size:.8rem;font-weight:700}.target-box strong{color:#16803e;font-size:1.15rem}@media(max-width:1100px){.calc-grid,.lower-grid{grid-template-columns:1fr}.summary4{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.dash{padding:12px}.summary4,.quick5{grid-template-columns:1fr 1fr}.decision-key{display:none}.form-grid{grid-template-columns:1fr}.summary strong{font-size:1.3rem}}

/* screenshot fixes */
.summary strong{font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,1.55vw,1.65rem)}.results{overflow:hidden}.decision-key span{min-width:126px;text-align:center}.recommend.NEGOTIATE .decision-key .negotiate,.recommend.ACCEPT .decision-key .accept,.recommend.DECLINE .decision-key .decline{box-shadow:0 3px 8px #0002}.lower-grid .panel{align-self:start}

.checkline{flex-direction:row!important;align-items:center;gap:8px!important;align-self:end;padding:10px 0}.checkline input{width:auto}.route-actions{display:flex;align-items:center;gap:10px;grid-column:1/-1}.route-actions span{font-size:.78rem;color:var(--muted)}.route-result{grid-column:1/-1;background:#eef6ff;border:1px solid #cfe2f6;border-radius:9px;padding:11px 13px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.route-result b{font-size:1.05rem}.route-result small{flex-basis:100%;color:#66758a}

/* Context help bubbles */
[data-help]{position:relative}.help-bubble{display:inline-grid!important;place-items:center;width:19px!important;height:19px!important;min-width:19px!important;padding:0!important;margin-left:6px!important;border:1px solid #8ba2bb!important;border-radius:50%!important;background:#f4f8fc!important;color:#315a80!important;font:800 12px/1 Arial,sans-serif!important;vertical-align:middle;cursor:help;position:relative;box-shadow:none!important}.help-bubble:hover,.help-bubble:focus,.help-bubble.open{background:#2476ce!important;color:#fff!important;border-color:#2476ce!important}.help-tip{display:none;position:absolute;z-index:1000;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);width:280px;max-width:75vw;padding:10px 12px;border-radius:8px;background:#162a3e;color:#fff;font:500 13px/1.4 Arial,sans-serif;text-align:left;white-space:normal;box-shadow:0 5px 18px #0004}.help-tip:after{content:'';position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#162a3e}.help-bubble:hover .help-tip,.help-bubble:focus .help-tip,.help-bubble.open .help-tip{display:block}@media(max-width:700px){.help-tip{position:fixed;left:16px;right:16px;bottom:16px;transform:none;width:auto;max-width:none}.help-tip:after{display:none}}

/* Responsive device experience v3 */
@media(max-width:1100px){.topbar-inner{max-width:none}.navlinks{width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.navlinks::-webkit-scrollbar{display:none}.navlinks a{white-space:nowrap}.page,.dash{max-width:100%}.table-wrap{-webkit-overflow-scrolling:touch}}
@media(max-width:700px){body{background:#f4f7fb}.topbar{position:sticky;top:0;z-index:900}.topbar-inner{padding:9px 10px;gap:6px}.brand{font-size:1rem}.navlinks{gap:3px;padding-bottom:2px}.navlinks a{padding:8px 9px;font-size:.82rem}.page,.dash{margin:0;padding:14px 10px 28px}.page-head,.dash-head{margin-bottom:12px}.page-head h1,.dash-head h1{font-size:1.4rem}.subtitle{font-size:.86rem}.card,.panel{border-radius:10px;padding:14px}.cards,.calc-grid,.lower-grid{gap:10px}.form-grid{gap:11px}label{font-size:.84rem}input,select,textarea{font-size:16px;min-height:44px;padding:10px}button,.btn{min-height:44px;padding:10px 14px}.actions{flex-direction:column;align-items:stretch}.actions button,.actions .btn{width:100%}.summary4{grid-template-columns:1fr 1fr;gap:7px}.summary{padding:10px}.summary strong{font-size:1.2rem}.recommend{padding:11px}.recommend>div>strong{font-size:1.5rem}.quick5{grid-template-columns:1fr 1fr}.quick5 div{padding:10px 5px}.quick5 div:nth-child(even){border-right:0}.route-actions{align-items:stretch;flex-direction:column}.route-actions button{width:100%}.route-result{gap:7px}.threshold{padding:11px 7px}.target-box{padding:12px}.table-wrap{border-radius:8px}th,td{padding:10px 9px;font-size:.8rem}details.card summary{padding:15px}details.card .details-body{padding:0 14px 14px}.inline-edit{min-width:240px}.inline-edit input{min-width:100px}.metric{font-size:1.45rem}.login-shell{margin:5vh auto;padding:12px}.login-card{padding:24px 18px}.help-bubble{width:24px!important;height:24px!important;min-width:24px!important;font-size:13px!important}}
@media(max-width:390px){.summary4,.quick5,.metric-grid{grid-template-columns:1fr}.quick5 div{border-right:0}.navlinks a{font-size:.78rem;padding:7px}.page-head h1,.dash-head h1{font-size:1.28rem}}
@media(hover:none) and (pointer:coarse){button,.btn,.navlinks a,.help-bubble,summary{touch-action:manipulation}.help-bubble:hover .help-tip{display:none}.help-bubble.open .help-tip,.help-bubble:focus .help-tip{display:block}}

/* Help/layout hotfix v4: one click-popover at a time; never clipped by panels */
.calc-grid{align-items:start}.results{overflow:visible}.help-tip{display:none!important}.help-popover{position:fixed;z-index:5000;padding:11px 13px;border-radius:9px;background:#162a3e;color:#fff;font:500 13px/1.45 Inter,ui-sans-serif,system-ui,sans-serif;text-align:left;white-space:normal;box-shadow:0 8px 24px #0005;pointer-events:none}.help-bubble:hover .help-tip,.help-bubble:focus .help-tip,.help-bubble.open .help-tip{display:none!important}.help-bubble{cursor:pointer}@media(max-width:700px){.help-popover{font-size:14px;line-height:1.45}.calc-grid{align-items:start}.results{min-height:0}}

/* Phone calculator redesign v4 */
@media(max-width:700px){html,body{width:100%;overflow-x:hidden}.topbar-inner{display:block}.brand{display:block;padding:5px 4px 8px}.navlinks{display:flex;width:100%;overflow-x:auto;white-space:nowrap}.dash-head{padding:2px 2px 4px}.dash-head h1{font-size:1.55rem}.dash-head .subtitle{font-size:.88rem}.calc-grid,.lower-grid{display:block}.calc-grid>.panel,.lower-grid>.panel{margin-bottom:12px;width:100%}.panel h2{font-size:1.02rem;margin-bottom:13px}.form-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.form-grid>label,.form-grid>.route-actions,.form-grid>.route-result,.form-grid>.notice{grid-column:1!important;width:100%!important;min-width:0!important}.checkline{display:flex!important;flex-direction:row!important;align-items:center!important;padding:2px 0!important}.checkline input{width:22px!important;height:22px!important;min-height:22px!important;flex:0 0 22px}.money-input{width:100%;min-height:44px}.money-input input{min-width:0}.route-actions{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}.route-actions span{text-align:center}.summary4{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}.summary{min-width:0}.summary span{font-size:.67rem}.summary strong{font-size:1.18rem!important;white-space:normal}.recommend{display:block}.recommend small{font-size:.72rem}.recommend>div>strong{font-size:1.55rem}.quick5{display:grid!important;grid-template-columns:1fr 1fr!important;border:0;gap:1px;background:#e5eaf0;margin-top:10px}.quick5 div{background:#fff;border:0!important;padding:11px 6px}.quick5 div:last-child{grid-column:1/-1}.quick5 span{font-size:.7rem}.quick5 b{font-size:.96rem}.lower-grid .panel{width:100%}.table-wrap{width:100%;overflow-x:auto}.target-box{grid-template-columns:1fr auto}.help-bubble{flex:0 0 24px}.help-popover{font-size:14px!important;line-height:1.4!important}.results{overflow:visible}}
@media(max-width:390px){.summary4{grid-template-columns:1fr!important}.quick5{grid-template-columns:1fr!important}.quick5 div:last-child{grid-column:auto}.target-box{grid-template-columns:1fr}.target-box b,.target-box strong{text-align:left}}
