:root{color-scheme:light;--navy:#153344;--navy2:#214a55;--accent:#d4a45a;--ink:#193342;--muted:#607580;--border:#e6ebee;--bg:#f5f7f7;--card:#fff;--red:#ad4d4c;--green:#197861}
*{box-sizing:border-box}[hidden]{display:none!important}html{font-family:Inter,"Noto Sans SC","Microsoft Yahei",system-ui,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.46;cursor:not-allowed}input,select,textarea{outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #dfb871}
.layout{display:grid;grid-template-columns:242px minmax(0,1fr);min-height:100vh}.side{background:var(--navy);color:#fff;padding:30px 18px;display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:12px;padding:0 10px}.brand b{font-size:25px;letter-spacing:.03em}.brand small{display:block;font-size:11px;letter-spacing:.06em;opacity:.76;margin-top:4px}.side-note{font-size:13px;opacity:.72;margin:3px 10px 20px}.side nav{display:grid;gap:6px}.nav{color:#d2dddf;text-align:left;border:0;background:transparent;border-radius:13px;padding:14px 16px;font-size:14px}.nav.active,.nav:hover{color:#fff;background:#ffffff20}.side-foot{margin-top:auto;font-size:11px;color:#9bb4bb;padding:10px}.main-wrap{min-width:0;display:flex;flex-direction:column}.top{padding:18px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);background:#fff;gap:16px}.top-brand{display:none;align-items:center;gap:8px;font-size:18px}.top-actions{display:flex;gap:12px;align-items:center}.pill{color:var(--navy);font-size:12px;padding:7px 12px;border:1px solid #bed1d5;background:#f3f7f7;border-radius:30px}.primary{background:var(--navy);color:white;border:1px solid var(--navy);padding:12px 17px;border-radius:11px;font-weight:650}.primary:hover{background:var(--navy2)}.outline{background:#fff;color:var(--navy);border:1px solid #bfcfd2;border-radius:11px;padding:11px 15px;font-weight:600}.outline:hover{background:#eef3f3}.ghost{border:0;background:transparent;color:var(--navy2);font-weight:650;padding:9px}.danger{border:1px solid #eac2bf;color:var(--red);background:#fff8f7;padding:8px 12px;border-radius:10px}.small{font-size:12px}.main{width:min(1200px,100%);padding:30px 5% 80px;margin:0 auto;flex:1}.page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.eyebrow{font-size:11px;letter-spacing:.16em;color:#8e8a79;font-weight:700;margin:0 0 9px}.page-head h1{font-size:30px;margin:0 0 8px;letter-spacing:.015em}.page-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.head-actions{display:flex;align-items:center;gap:8px}.small-label{font-size:12px;color:var(--muted)}input[type=month],input[type=date],select{color:var(--ink)}.head-actions input{border:1px solid #d3dfe1;border-radius:10px;padding:9px;background:#fff}.main #notice{padding:0 0 16px;font-size:12px;color:#397663}.main #notice.error{color:var(--red)}.grid{display:grid;gap:16px}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-row{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);margin-top:18px}.card{background:var(--card);border:1px solid var(--border);border-radius:17px;padding:23px;box-shadow:0 5px 24px #16374407;min-width:0}.card.tint{background:#173e48;color:white;border-color:#173e48}.card h2{font-size:17px;margin:0}.metric{font-size:25px;font-weight:750;margin:13px 0 7px;overflow-wrap:anywhere}.metric-title{font-size:12px;color:var(--muted)}.tint .metric-title,.tint .hint{color:#c6d9d9}.hint,.muted,.help{font-size:12px;color:var(--muted);line-height:1.75}.tint .metric{color:#ffe0a5}.section-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.section-title h2{font-size:17px}.stack{display:grid;gap:12px}.line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #edf1f1}.line:last-child{border-bottom:0}.line b{font-size:14px}.line small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.line strong{font-size:16px;white-space:nowrap}.positive{color:var(--green)}.negative{color:var(--red)}.section-actions{display:flex;flex-wrap:wrap;gap:8px}.badge{font-size:11px;border-radius:20px;padding:4px 8px;background:#eaf2f1;color:#32635f}.badge.warn{background:#fff0e8;color:#aa5c32}.bar{height:9px;border-radius:20px;background:#ebf0f0;overflow:hidden;margin-top:10px}.bar span{height:100%;display:block;border-radius:20px;background:#c79d59;max-width:100%}.list-head{display:flex;justify-content:space-between;gap:12px;margin:17px 0}.empty{background:#fff;border:1px dashed #c3d1d4;text-align:center;padding:42px 22px;border-radius:17px}.empty h2{margin:0 0 8px}.empty p{color:var(--muted);font-size:14px}.footer-note{font-size:11px;color:#72858d;line-height:1.7;margin-top:28px}.bottom{display:none}.section-label{font-size:12px;font-weight:650;color:var(--muted);margin:20px 0 10px}.account-name{display:flex;align-items:center;gap:9px}.circle{width:36px;height:36px;border-radius:12px;background:#edf4f2;display:grid;place-items:center;color:#315d5b;font-weight:750}.alerts{display:grid;gap:10px}.alert{border:1px solid #eed9b2;background:#fffaf0;border-radius:11px;padding:12px 14px;font-size:13px;color:#8a6230;line-height:1.6}.alert.ok{border-color:#cfdfd7;background:#f3faf6;color:#326f59}.goals{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-metric{font-size:24px;font-weight:730;margin:12px 0}.progress-text{font-size:12px;color:var(--muted);margin:10px 0}.advisor-banner{display:flex;gap:14px;align-items:flex-start;background:linear-gradient(135deg,#173b46,#255963);color:#fff;border-radius:17px;padding:22px;margin-bottom:18px}.advisor-icon{font-size:28px;border:1px solid #ffffff55;width:52px;height:52px;border-radius:15px;display:grid;place-items:center;flex-shrink:0}.advisor-banner h2{margin:2px 0 5px}.advisor-banner p{font-size:12px;color:#d6e5e6;margin:0;line-height:1.7}.suggestions{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.suggestions button{background:#fff;border:1px solid #cfdbdb;color:#315862;padding:10px 12px;border-radius:20px;font-size:12px}.advisor-form{display:flex;gap:8px}.advisor-form textarea{flex:1;resize:vertical;min-height:70px;max-height:180px;border:1px solid #c8d6d8;border-radius:12px;padding:13px;color:var(--ink)}.advisor-form button{align-self:flex-end}.reply{background:#f2f7f6;border:1px solid #d8e7e4;border-radius:14px;padding:20px;line-height:1.8;margin:18px 0;white-space:pre-wrap;font-size:14px}.reply strong{color:#173e48}.reply p{margin:6px 0}.reply .source{font-size:11px;color:#6b8285;border-top:1px solid #dae7e5;padding-top:12px;margin-top:18px}.notice-banner{border:1px solid #efe0bd;background:#fffaf0;color:#795c2e;border-radius:12px;padding:14px;font-size:12px;line-height:1.8;margin:14px 0}.budget-row{margin:15px 0;border-bottom:1px solid #edf1f1;padding-bottom:14px}.budget-row:last-child{border:0}.budget-row .values{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.budget-row .values strong{color:var(--ink)}.modal{width:min(440px,calc(100vw - 36px));display:grid;gap:15px;padding:24px;border:0}dialog{border:0;border-radius:18px;box-shadow:0 24px 90px #081d2f55;padding:0;max-width:calc(100vw - 32px)}dialog::backdrop{background:#102b3588}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head h2{margin:0;font-size:20px}.icon-btn{border:0;background:transparent;font-size:20px;color:#69808a}.modal label{display:grid;gap:7px;font-size:13px;font-weight:600}.modal input:not([type=radio]):not([type=file]),.modal select,.modal input[type=file]{padding:11px;border:1px solid #cbd8dc;border-radius:10px;width:100%;min-width:0}.modal-actions{display:flex;justify-content:flex-end;gap:9px}.tip{margin:0;font-size:12px;color:var(--muted);line-height:1.65}.warning{background:#fff0ed;border:1px solid #edcdc5;border-radius:10px;padding:12px;font-size:12px;color:#984d40}.type-choice{display:flex;background:#eef3f3;padding:5px;border-radius:11px;gap:6px}.type-choice label{flex:1;display:flex;align-items:center;justify-content:center;gap:3px;font-size:12px;padding:10px 4px;border-radius:8px;background:#fff;cursor:pointer}#toast{position:fixed;bottom:24px;right:24px;padding:14px 18px;color:#fff;background:#1f4e52;border-radius:10px;box-shadow:0 10px 38px #173e4445;display:none;max-width:340px;z-index:10}#toast.show{display:block}.settings-block{max-width:730px}.settings-block .card{margin-bottom:16px}.settings-block .card p{line-height:1.8;color:var(--muted);font-size:13px}.toolbar{display:flex;gap:9px;flex-wrap:wrap}.right{margin-left:auto}.break{overflow-wrap:anywhere}
@media(max-width:1150px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-row{grid-template-columns:minmax(0,1fr)}}
@media(max-width:780px){.layout{display:block}.side{display:none}.top{padding:12px 15px}.top-brand{display:flex}.top-brand img{width:30px}.pill{display:none}.main{padding:22px 15px 95px}.page-head h1{font-size:26px}.page-head{align-items:flex-start}.head-actions{display:grid;gap:3px}.head-actions input{font-size:12px;padding:8px;width:135px}.bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;border-top:1px solid #e7eeee;background:#fff;box-shadow:0 -4px 26px #1f4b4f13;padding-bottom:env(safe-area-inset-bottom);z-index:2}.bottom button{display:grid;gap:2px;place-items:center;background:none;border:0;color:#7b8e94;padding:9px 0 10px;font-size:10px}.bottom span{font-size:23px;line-height:1.3}.bottom button.active{color:#174550;font-weight:750}.card{padding:17px}.stats{gap:10px}.metric{font-size:22px}.goals{grid-template-columns:1fr}.advisor-form{display:grid}.advisor-form button{justify-self:end}.line{align-items:flex-start}.line strong{font-size:14px}}