:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#132440;background:#f8f9fb;font-size:16px;--gold:#b68b48;--navy:#132440}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:225px;background:var(--navy);color:#fff;border-right:1px solid var(--navy);padding:24px 18px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{display:flex;align-items:center;font-size:26px;font-weight:750;gap:8px}.brand img{width:48px;height:48px;object-fit:contain}nav{display:grid;gap:8px;margin-top:36px}button{font:inherit;cursor:pointer;border:0;border-radius:10px;padding:12px 16px;transition:background .15s}button:disabled{opacity:.6;cursor:wait}nav button{text-align:left;background:transparent;color:#e3e9f2}nav button:hover{background:#ffffff14}nav button.active{background:var(--gold);color:#132440;font-weight:650}.local{margin-top:auto;font-size:14px;color:#bcc9db}.local small{font-size:12px}main{margin-left:225px;width:calc(100% - 225px);padding:32px;max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:34px;letter-spacing:-1px;margin:8px 0}h2{font-size:20px;letter-spacing:-.4px;margin:0 0 12px}.eyebrow{font-size:12px;letter-spacing:1.7px;color:#6b7890}.head-actions{display:flex;gap:12px;align-items:center}.pill{font-size:14px;border:1px solid #e3e7ed;background:white;padding:8px 12px;border-radius:20px;white-space:nowrap}.secondary{background:white;border:1px solid #dce2ea;color:#132440}.primary{background:var(--gold);color:#fff;font-weight:600}.primary:hover{background:#9d763b}.greeting{text-align:center;padding:24px 0}.greeting img{width:100px;height:85px;object-fit:contain}.greeting h2{font-size:25px;margin:3px 0 6px}p{color:#65738a;line-height:1.6;margin:8px 0 16px}.top-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:18px}.card{background:#fff;border:1px solid #e3e7ed;border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 3px 12px #13244003}.label{font-size:16px;font-weight:600}.big{font-size:42px;font-weight:750;letter-spacing:-1.5px;margin:12px 0 4px}.wealth p{font-size:14px}.wealth-bottom{display:flex;justify-content:space-between;align-items:center;font-size:14px;gap:8px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center;padding:16px}.metric{border:1px solid #edf0f4;border-radius:12px;padding:17px 12px;min-height:145px;display:flex;flex-direction:column;gap:12px}.metric span{font-size:14px;color:#647089}.metric strong{font-size:24px;white-space:nowrap}.metric small{font-size:12px;color:#8691a3;line-height:1.5}.positive{color:#237955}.negative{color:#b34747}.bottom-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.range{padding:50px 6px 12px}.track{height:10px;border-radius:20px;background:#e6e9ef;position:relative;margin-bottom:24px}.fill{position:absolute;left:5%;width:90%;height:100%;background:#284565;border-radius:20px}.marker{position:absolute;height:22px;width:22px;border:3px solid #fff;background:#132440;border-radius:50%;top:-6px;transform:translateX(-50%);box-shadow:0 0 0 1px #132440}.marker span{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);white-space:nowrap;font-weight:650;font-size:16px}.range-labels{display:flex;justify-content:space-between;font-weight:650}.range-labels small{display:block;font-size:13px;color:#7b879a;font-weight:400;margin-top:8px}.note{display:block;font-size:13px;color:#7b879a;line-height:1.5;margin-top:12px}#recommend{line-height:1.6;color:#65738a;margin-bottom:16px}.ask form{display:flex;gap:10px;margin-top:14px}input{font:inherit;padding:14px;border:1px solid #dce2ea;border-radius:10px;background:#fff;color:#132440;min-width:0}.ask input{flex:1}label{font-weight:600}#answer{line-height:1.7;margin-top:16px}footer{font-size:13px;color:#8390a3}#notice:not(:empty){background:#fff4df;color:#795623;border:1px solid #efdab8;padding:12px 16px;border-radius:10px;margin-top:20px;font-size:14px;line-height:1.5}table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}td,th{padding:14px;border-bottom:1px solid #edf0f4}th{color:#68778b;font-weight:500}.table-wrap{overflow:auto}#breakdown div{display:flex;justify-content:space-between;padding:16px 0;border-bottom:1px solid #edf0f4}code{display:block;overflow-wrap:anywhere;background:#f4f6f9;padding:14px;margin-top:12px;font-size:13px}#settings-form{display:grid;gap:16px;max-width:450px}.view[hidden]{display:none}.view:not(#home){margin-top:30px}dialog{border:1px solid #ddd;border-radius:18px;padding:30px;max-width:500px;color:#132440}dialog::backdrop{background:#13244055}.conversation{padding:16px 0;border-bottom:1px solid #eee}.conversation p{margin-bottom:0}a{color:#284565}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b68b4888;outline-offset:3px}@media(max-width:1100px){.top-grid,.bottom-grid{grid-template-columns:1fr}.metric strong{font-size:23px}header{align-items:flex-start;flex-direction:column}}@media(max-width:700px){aside{position:static;width:100%;padding:14px;border-right:0;border-bottom:1px solid #ddd}.brand{font-size:22px}.brand img{width:40px;height:36px}nav{display:flex;overflow:auto;margin-top:12px;gap:4px}nav button{padding:10px;font-size:14px;white-space:nowrap}.local{display:none}body{display:block}main{margin:0;width:100%;padding:20px 14px}.head-actions{flex-wrap:wrap}h1{font-size:28px}.card{padding:18px}.metrics{padding:12px;gap:7px}.metric{padding:12px 8px}.metric strong{font-size:18px}.metric span{font-size:13px}.big{font-size:36px}.ask form{flex-direction:column}.card-head{flex-wrap:wrap}.greeting h2{font-size:22px}}
/* Mobile first login and navigation: touch targets >=44px. */
#auth-panel input {box-sizing:border-box;margin:8px 0 16px;border:1px solid #ddd;border-radius:10px;padding:10px;}
#auth-panel button {min-height:44px;}
@media(max-width:640px){body{display:block}aside{position:static;width:auto;height:auto;padding:12px}aside nav{display:flex;overflow-x:auto;gap:4px}aside nav button{min-height:44px;white-space:nowrap;padding:10px;font-size:12px}main{margin-left:0;padding:16px}header{display:block}.head-actions{margin-top:12px}.top-grid,.bottom-grid{grid-template-columns:1fr}.big{font-size:36px}.greeting img{width:100px}#chat-form{display:flex;flex-wrap:wrap}#chat-form input{min-width:0;flex:1 1 180px}button{min-height:44px}#auth-panel{margin:16px!important;padding:20px!important}}

[hidden]{display:none!important}body.signed-out{display:block}body.signed-out aside{display:none}#auth-panel{width:calc(100% - 32px)}
