:root{--navy:#102238;--ink:#17243a;--muted:#64748b;--green:#05845d;--green-dark:#036448;--green-soft:#ecf8f3;--paper:#fff;--canvas:#f4f7fb;--line:#dfe7ef;--red:#c84b4b;--amber:#b87800}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}.auth-page,.welcome{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 80% 10%,#0d7457 0,#06283a 39%,#061a2c 100%)}.auth-card,.hero-card{width:min(100%,600px);padding:44px;border-radius:24px;background:#fff;box-shadow:0 24px 80px #0004}.brand{display:flex;align-items:center;gap:10px;color:var(--navy);text-decoration:none}.brand span,.loading-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#0ab67f;color:#fff;font-weight:850;font-size:13px}.brand.compact{font-size:15px}.eyebrow,.kicker{margin:0;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.1em}.auth-card h1,.hero-card h1{font-size:clamp(30px,6vw,46px);line-height:1.08;margin:28px 0 16px}.auth-card p,.lead,.muted{color:var(--muted);line-height:1.6}.button,.primary-button{display:inline-block;border:0;border-radius:10px;background:var(--green);color:#fff;padding:14px 18px;font-size:16px;font-weight:750;text-decoration:none;cursor:pointer;margin-top:18px}.small{font-size:13px;color:var(--muted);line-height:1.5;margin-top:20px}.auth-card{width:min(100%,460px)}form{display:grid;grid-gap:8px;gap:8px;margin-top:24px}label{font-weight:750;font-size:14px}input{border:1px solid #b9c8dc;font-size:16px}.notice,.pending,input{border-radius:10px;padding:14px}.notice,.pending{margin-top:18px;background:#fff7df;color:#805500;line-height:1.5}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 max(24px,6vw)}.portal-label,.topbar{display:flex;align-items:center}.portal-label{gap:8px;color:var(--muted);font-size:14px;font-weight:650}.portal-label i{width:8px;height:8px;border-radius:50%;background:#0ab67f;box-shadow:0 0 0 4px #e8f9f1}.shell{width:min(1180px,100%);margin:0 auto;padding:44px 24px 72px}.welcome-panel{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:28px}.welcome-panel h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.045em;line-height:1.05;margin:9px 0 12px}.welcome-copy{margin:0;color:var(--muted);max-width:610px;line-height:1.6}.vehicle-badge{min-width:200px;background:var(--navy);color:#fff;border-radius:16px;padding:18px 20px;display:grid;grid-gap:5px;gap:5px}.vehicle-badge span{font-size:11px;letter-spacing:.09em;color:#a9c5d8;font-weight:800}.vehicle-badge strong{font-size:23px;letter-spacing:-.02em}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.stat-card,.surface{background:var(--paper);border:1px solid var(--line);box-shadow:0 8px 30px rgba(16,34,56,.045)}.stat-card{padding:20px;border-radius:15px;min-height:148px;display:flex;flex-direction:column}.stat-card p{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 13px}.stat-card>strong{font-size:26px;line-height:1.05;letter-spacing:-.035em}.stat-card small{margin-top:auto;padding-top:11px;font-size:12px;color:var(--muted);line-height:1.4}.stat-card.primary{background:linear-gradient(135deg,#0a7657,#034e45);border-color:#0a7657;color:#fff}.stat-card.primary p,.stat-card.primary small{color:#ccede0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.85fr);grid-gap:18px;gap:18px;margin-top:18px}.surface{border-radius:18px;padding:24px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.section-heading h2,.surface h2{font-size:20px;letter-spacing:-.025em;margin:7px 0 0}.score{text-align:right}.score strong{display:block;font-size:25px;letter-spacing:-.04em}.score span{color:var(--muted);font-size:12px}.progress-track{height:9px;border-radius:9px;background:#e9eef4;overflow:hidden;margin:23px 0 15px}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0aa877,#05845d)}.legend{display:flex;gap:15px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:18px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.dot.paid{background:#05845d}.dot.short{background:#d99412}.dot.missed{background:#c84b4b}.payment-list{border-top:1px solid var(--line)}.payment-row{display:grid;grid-template-columns:34px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}.status-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;font-weight:850;font-size:14px}.status-icon.paid{background:#e6f7ef;color:#047151}.status-icon.short_paid{background:#fff3df;color:#a96400}.status-icon.missed{background:#fff0f0;color:#b63e3e}.status-icon.awaiting{background:#eaf1fa;color:#426b9a}.payment-amount,.payment-date{display:grid;grid-gap:3px;gap:3px}.payment-amount strong,.payment-date strong{font-size:14px}.payment-amount span,.payment-date span{font-size:12px;color:var(--muted)}.payment-amount{text-align:right}.right-column{display:grid;grid-gap:18px;gap:18px;align-content:start}.insight-card{background:linear-gradient(135deg,#10304a,#0b544b);border-color:#10304a;color:#fff}.insight-card .kicker{color:#9fe3c8}.insight-card h2{font-size:23px}.insight-card p:last-child{margin:13px 0 0;color:#d3e4ec;line-height:1.55;font-size:14px}.allocation-list{margin-top:17px;border-top:1px solid var(--line)}.allocation-list div{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.allocation-list span,.footnote{color:var(--muted)}.footnote{font-size:12px;line-height:1.55;margin:16px 0 0}.dva-card{display:flex;gap:14px;background:#f7fbff}.dva-symbol{flex:0 0 38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#dcecf9;color:#21638e;font-weight:800}.dva-card h2{font-size:17px}.dva-card p:last-child{font-size:13px;color:var(--muted);line-height:1.55;margin:8px 0 0}.recent-card{margin-top:18px}.subtle-chip{padding:7px 10px;background:#f0f5f9;border-radius:999px;color:var(--muted);font-size:12px;font-weight:700}.recent-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:10px;gap:10px;margin-top:20px}.recent-payment{padding:15px;background:#f8fafc;border-radius:12px;display:grid;grid-gap:7px;gap:7px}.recent-payment small,.recent-payment span{font-size:12px;color:var(--muted)}.recent-payment strong{font-size:16px}.empty-state{margin-top:18px;padding:20px;border:1px dashed #c3d1df;border-radius:12px;color:var(--muted);line-height:1.55;font-size:14px}.loading{min-height:100vh;display:grid;place-items:center}.loading-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;max-width:430px;text-align:center;box-shadow:0 12px 40px #13263b14}.loading-card .loading-mark{margin:0 auto 18px}.loading-card h1{font-size:21px;letter-spacing:-.02em}@media(max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.recent-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{padding:28px 16px 48px}.topbar{height:68px;padding:0 16px}.portal-label{font-size:12px}.welcome-panel{display:grid;align-items:start}.vehicle-badge{width:100%;min-width:0}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{min-height:132px;padding:16px}.stat-card>strong{font-size:21px}.surface{padding:18px}.payment-row{grid-template-columns:29px 1fr;gap:10px}.payment-amount{grid-column:2;text-align:left}.section-heading{gap:10px}.score strong{font-size:20px}.recent-grid{grid-template-columns:1fr}.auth-card,.hero-card{padding:28px}}.payment-command{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(240px,.7fr);grid-gap:20px;gap:20px;align-items:center;margin-bottom:18px;padding:23px 24px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#0c3148,#08604e);box-shadow:0 14px 35px #0b354025}.command-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:16px;background:#ffffff18;border:1px solid #ffffff33;font-size:29px;font-weight:800}.command-copy .kicker{color:#a9ead1}.command-copy h2{font-size:22px;letter-spacing:-.025em;margin:7px 0}.command-copy p:last-child{margin:0;color:#d3e7e1;font-size:14px;line-height:1.5}.position-chip{padding:15px 16px;border-radius:13px;background:#ffffff14;border:1px solid #ffffff22;display:grid;grid-gap:4px;gap:4px}.position-chip>span{font-size:10px;letter-spacing:.09em;font-weight:800;color:#b5d2da}.position-chip strong{font-size:19px;letter-spacing:-.02em}.position-chip small{font-size:12px;line-height:1.4;color:#dcebf0}.position-chip.behind{background:#7b2f398c;border-color:#f5bdc455}.position-chip.ahead,.position-chip.on-track{background:#0c694d8c;border-color:#aae5ca55}.status-icon.cleared{background:#e7f4ff;color:#2172a8}.dot.cleared{background:#3a8fca}.insight-card.behind{background:linear-gradient(135deg,#572839,#883d47)}.insight-card.ahead,.insight-card.on-track{background:linear-gradient(135deg,#0d5045,#08705b)}.insight-card.pending{background:linear-gradient(135deg,#10304a,#0b544b)}.insight-amount{margin-top:18px;padding-top:15px;border-top:1px solid #ffffff2b;display:flex;justify-content:space-between;gap:16px;align-items:end}.insight-amount span{font-size:12px;color:#ffe3e3;line-height:1.35}.insight-amount strong{font-size:22px}.purse-card h2{font-size:25px}.repair-list{margin-top:17px;border-top:1px solid var(--line)}.repair-list>div{display:flex;justify-content:space-between;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.repair-list span,.repair-list>div>strong{display:grid;grid-gap:4px;gap:4px;font-size:13px}.repair-list small{font-size:11px;font-weight:500;color:var(--muted)}.repair-list>div>strong{text-align:right}.repair-list>div>strong small{color:#347898}@media(max-width:800px){.payment-command{grid-template-columns:48px 1fr}.position-chip{grid-column:1/-1}.command-icon{width:48px;height:48px}}@media(max-width:620px){.payment-command{padding:18px;gap:13px;grid-template-columns:44px 1fr}.command-icon{width:44px;height:44px;border-radius:13px;font-size:23px}.command-copy h2{font-size:18px}.command-copy p:last-child{font-size:13px}.repair-list>div{align-items:start}.repair-list>div>strong{text-align:right}}.topbar-actions{display:flex;align-items:center;gap:16px}.signout-button{border:0;background:transparent;color:#53677e;font-weight:750;font-size:13px;cursor:pointer;padding:8px}.signout-button:hover{color:var(--green-dark)}@media(max-width:620px){.topbar-actions{gap:7px}}