:root{color:#171717;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f4ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}#root{min-height:100vh}.app-shell{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--panel:#fff;--panel-strong:#f7f7f4;--blue:#2563eb;--green:#16ab59;--gold:#d4a017;--coral:#ef4444;--sky:#dff4fb;--pink:#fff1f3;--violet:#4f46e5;--shadow:0 18px 48px #11182714;--shadow-hover:0 24px 60px #1118271f;--apple-font:-apple-system, BlinkMacSystemFont, "SF Pro SC", "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;color:var(--ink);font-family:var(--apple-font);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums;background:radial-gradient(circle at 84% 8%,#2563eb14 0 220px,#0000 221px),radial-gradient(circle at 8% 18%,#16ab5912 0 180px,#0000 181px),#f7f7f4;grid-template-columns:286px minmax(0,1fr);min-height:100vh;display:grid}.auth-shell{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--blue:#2563eb;--green:#16ab59;--gold:#d4a017;--coral:#ef4444;--apple-font:-apple-system, BlinkMacSystemFont, "SF Pro SC", "SF Pro Text", "SF Pro Display", "PingFang SC", "Hiragino Sans GB", "Segoe UI", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;color:var(--ink);font-family:var(--apple-font);background:radial-gradient(circle at 82% 18%,#2563eb17 0 260px,#0000 261px),radial-gradient(circle at 12% 72%,#16ab5914 0 220px,#0000 221px),#f7f7f4;place-items:center;min-height:100vh;padding:32px;display:grid}.auth-shell *,.auth-shell :before,.auth-shell :after{box-sizing:border-box}.login-card{border:1px solid var(--line);background:#fffffff0;border-radius:28px;gap:28px;width:min(100%,460px);max-width:460px;padding:34px;display:grid;box-shadow:0 28px 80px #1118271a}.login-brand{color:var(--ink);font-family:var(--apple-font);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex}.login-brand img{aspect-ratio:1;object-fit:contain;border:1px solid #11182714;border-radius:24px;width:118px;height:118px;padding:8px;display:block;box-shadow:0 18px 42px #11182714}.login-brand strong{letter-spacing:clamp(.02em,1.2vw,.08em);white-space:nowrap;text-transform:uppercase;max-width:100%;font-size:clamp(22px,7vw,38px);font-weight:800;line-height:1.05;display:block}.login-form{gap:16px;display:grid}.login-form label{color:var(--muted);font-size:14px;font-weight:700}.login-form input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;width:100%;min-height:52px;padding:13px 15px;font-size:17px}.remember-account{color:var(--ink);cursor:pointer;justify-self:start;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.remember-account input{accent-color:var(--ink);border-radius:6px;flex:none;width:16px;height:16px;min-height:16px;padding:0}.login-actions{gap:10px;padding-top:4px;display:flex}.login-actions button{flex:1;min-height:48px}.sidebar-account-actions{margin-top:auto;display:grid}.logout-button{justify-content:center;width:100%}.sidebar{border:2px solid var(--ink);box-shadow:6px 0 0 var(--ink);color:var(--ink);z-index:20;background:#ffffffe6;border-radius:0 28px 28px 0;flex-direction:column;gap:28px;height:calc(100vh - 32px);margin:16px 0 16px 16px;padding:28px 20px;display:flex;position:sticky;top:16px}.brand{align-items:center;gap:14px;display:flex}.sidebar-product-mark{border:1px solid var(--line);color:var(--ink);background:#ffffffb8;border-radius:18px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:800;display:flex}.sidebar-product-mark img{aspect-ratio:1;object-fit:contain;border-radius:12px;flex:none;width:36px;height:36px;display:block}.sidebar-product-mark span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.brand-mark{background:var(--blue);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:#fff;letter-spacing:0;border-radius:16px;justify-content:center;align-items:center;width:48px;height:48px;font-weight:800;display:inline-flex}.brand strong,.brand small{display:block}.brand small,.auth-panel,.tab{color:var(--muted)}.tabs{gap:8px;display:grid}.tab{text-align:left;background:0 0;border:2px solid #0000;border-radius:999px;align-items:center;gap:12px;padding:13px 14px;display:flex}.tab span{color:var(--blue);background:#f2f2ff;border:1px solid #1111181f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.tab.active{background:var(--gold);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink)}.auth-panel{gap:10px;margin-top:auto;display:grid}label{gap:6px;display:grid}.field{color:var(--muted);font-size:13px;font-weight:700}.field input,.field select{color:var(--ink);font-size:16px;font-weight:500}.custom-select{position:relative}.custom-select-button{color:var(--ink);text-align:left;background:#fff;border:2px solid #11111829;border-radius:14px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:11px 13px;font-size:16px;font-weight:500;display:flex}.custom-select-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}.custom-select-menu{z-index:20;background:#fffffffa;border:1px solid #e5e7eb;border-radius:16px;gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 18px 42px #1118271f}.custom-select-options{gap:4px;max-height:230px;display:grid;overflow:auto}.custom-select-options button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;min-height:34px;padding:8px 10px;font-size:14px;font-weight:700}.custom-select-options button:hover,.custom-select-options button.active{background:#eef4ff}.custom-select-input{border-radius:12px;min-height:38px}input,select,textarea{color:var(--ink);background:#fff;border:2px solid #11111829;border-radius:14px;width:100%;min-height:44px;padding:11px 13px}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}textarea{resize:vertical;min-height:88px}.auth-panel input{color:var(--ink);background:#f7f8ff;border-color:#1111182e}.auth-status{color:var(--muted);font-size:12px;line-height:1.45}.profile-editor{border-top:1px solid var(--line);gap:10px;margin-top:4px;padding-top:12px;display:grid}.profile-editor label{color:var(--muted);font-size:12px;font-weight:700}.profile-editor input[type=file]{color:var(--muted);min-height:auto;padding:10px;font-size:12px}.profile-toggle,.avatar-upload-trigger{justify-content:center;width:100%}.avatar-upload-control{gap:8px;display:grid}.avatar-upload{background:#f7f8ff;border:1px solid #1111181f;border-radius:14px;gap:6px;padding:10px;display:grid}.profile-actions{gap:8px;display:flex}.profile-actions button{flex:1}.auth-actions,.row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-actions{justify-content:flex-end;margin-left:auto}.drop-button,.ghost-button,.text-button{border:2px solid var(--ink);border-radius:999px;min-height:38px;padding:10px 16px;transition:box-shadow .16s,background .16s}.drop-button{background:var(--blue);box-shadow:4px 4px 0 var(--ink);color:#fff;font-weight:700}.drop-button:hover,.ghost-button:hover{background:var(--coral);color:#fff}.drop-button:active,.ghost-button:active{box-shadow:2px 2px 0 var(--ink)}.drop-button.compact{min-height:34px;padding:8px 13px}.ghost-button{color:var(--ink);background:#fff}.text-button{color:inherit;background:0 0;padding-inline:4px}.text-button.danger{color:#b42318}.icon-button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:14px;height:14px}.quiet-actions{opacity:.42;transition:opacity .16s}.table-row:hover .quiet-actions,.investment-card:hover .quiet-actions,.cashflow-line:hover .quiet-actions{opacity:1}.icon-button:hover{color:var(--ink);background:#fffdf8;border-color:#e7dece}.icon-button.danger:hover{color:var(--coral)}.note-hover{position:relative}.note-pop{color:#fff;opacity:0;pointer-events:none;white-space:normal;z-index:40;background:#111827;border-radius:12px;max-width:min(340px,80vw);padding:10px 12px;font-size:13px;font-weight:600;line-height:1.45;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);left:14px;transform:translateY(4px);box-shadow:0 14px 32px #1118272e}.note-hover:hover .note-pop{opacity:1;transform:translateY(0)}.workspace{flex-direction:column;gap:22px;min-width:0;padding:34px 34px 56px;display:flex;position:relative}.workspace:before,.workspace:after{border:2px solid var(--ink);content:"";z-index:0;position:fixed}.workspace:before{background:var(--pink);border-radius:999px;width:122px;height:62px;top:32px;right:42px;transform:rotate(-10deg)}.workspace:after{background:var(--gold);width:74px;height:74px;bottom:34px;right:74px;transform:rotate(9deg)}.topbar{z-index:1;justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:relative}.eyebrow{color:var(--blue);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:800}h1,h2,h3,p{margin:0}:where(h1,h2,h3,p,span,b,strong,em,button,label,.field,.tab,.cashflow-line,.plan-line,.balance-line,.table-row,.investment-card,.news-item){word-break:keep-all}:where(p,.news-main,.investment-card p,.cashflow-line em,.plan-line b,.balance-line b,.table-row span){overflow-wrap:break-word;text-wrap:balance}h1{font-size:clamp(32px,5vw,56px);font-family:var(--apple-font);letter-spacing:0;font-weight:700;line-height:1.05}h2{letter-spacing:0;font-size:clamp(24px,3vw,42px);line-height:1.02}h3{letter-spacing:0;font-size:18px}.sync-state{color:var(--muted);background:#ffffff9e;border:1px solid #ffffffb8;border-radius:999px;max-width:360px;padding:10px 14px}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.hero-panel,.glass-panel,.metric,.editor-panel,.table-panel,.import-panel,.news-panel,.balance-sheet-panel,.cashflow-ledger,.investment-plan-panel,.admin-panel,.investment-card{background:var(--panel);border:2px solid var(--ink);box-shadow:var(--shadow);z-index:1;border-radius:18px;transition:none;animation:none;position:relative}.glass-panel:hover,.metric:hover,.table-panel:hover,.investment-card:hover,.investment-plan-panel:hover{box-shadow:var(--shadow);transform:none}.balance-line,.cashflow-line,.collapsed-editor-trigger,.dividend-switch,.health-item,.investment-facts span,.month-ledger,.news-item,.plan-line,.plan-month-card,.table-row,.year-flow-chart,.year-toggle{transition:none;animation:none}.hero-panel{background:radial-gradient(circle at 92% 8%, var(--gold) 0 48px, transparent 49px), radial-gradient(circle at 8% 86%, var(--pink) 0 68px, transparent 69px), linear-gradient(135deg, #fff 0%, #f6f7ff 52%, #eaf8fc 100%);border-color:var(--ink);border-radius:24px;grid-column:span 4;grid-template-columns:1.15fr .85fr;align-items:center;gap:24px;min-height:300px;padding:34px;display:grid;position:relative;overflow:hidden}.hero-panel h2{margin-bottom:12px;font-size:clamp(42px,8vw,92px)}.hero-panel p{color:var(--muted);font-size:18px}.hero-panel:before{background:var(--coral);border:2px solid var(--ink);content:"";border-radius:999px;width:82px;height:28px;position:absolute;top:28px;left:38%;transform:rotate(18deg)}.climb-panel{gap:18px;display:grid}.climb-copy h2{font-size:clamp(42px,7vw,82px)}.mountain-stage{background:var(--sky);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:18px;padding:10px;overflow:hidden}.mountain-stage svg{width:100%;height:250px;display:block}.trail{fill:none;stroke:#2727e6;stroke-dasharray:8 9;stroke-linecap:round;stroke-width:6px}.beacon circle{fill:#fffdf8;stroke:#111118;stroke-width:3px}.beacon path{fill:var(--gold);stroke:#111118;stroke-linejoin:round;stroke-width:2px}.beacon:hover path{fill:#d08b24}.climber{fill:#172033;stroke:#172033;stroke-linecap:round;stroke-width:5px;transform:translate(var(--climber-x), var(--climber-y))}.climber .backpack{fill:#8f8a82;stroke:#8f8a82;transform:scale(var(--pack-scale));transform-origin:50%}.climb-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.climb-stats span{color:var(--muted);background:#fffdf8;border:1px solid #e7dece;border-radius:14px;gap:3px;padding:9px 10px;display:grid}.climb-stats b{color:var(--ink);font-size:17px}.composition-panel{background:#fffdf8;border:1px solid #e5dac8;border-radius:20px;gap:18px;padding:22px;display:grid;box-shadow:inset 0 1px #fffffff2,0 14px 26px #43372512}.composition-head,.composition-row{align-items:center;display:flex}.composition-head{justify-content:space-between}.composition-head span{color:var(--muted);font-weight:700}.composition-head strong{font-size:24px}.composition-bar{background:#ece5da;border:1px solid #ded2c0;border-radius:999px;gap:3px;height:28px;padding:3px;display:flex;overflow:hidden}.composition-bar i{background:var(--segment-color);border-radius:999px;min-width:8px}.composition-list{gap:10px;display:grid}.composition-row{background:#faf7f0;border:1px solid #eee5d7;border-radius:14px;gap:10px;min-height:38px;padding:8px 10px}.composition-row span{background:var(--dot-color);border-radius:999px;width:10px;height:10px}.composition-row b{flex:1}.composition-row em{color:var(--muted);font-style:normal}.composition-row strong{text-align:right;min-width:72px}.metric,.glass-panel,.table-panel,.import-panel{padding:22px}.metric{gap:12px;min-height:132px;display:grid;position:relative;overflow:hidden}.metric span,.section-title span,.investment-card span,.investment-card p{color:var(--muted)}.metric strong{font-size:30px;line-height:1}.metric:before{background:var(--accent-line);content:"";height:4px;position:absolute;top:0;left:22px;right:22px}.metric,.metric:before,.metric:hover,.metric:hover:before{transition:none!important;animation:none!important;transform:none!important}.wide{grid-column:span 2}.section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.health-grid,.stack{gap:14px;display:grid}.health-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.health-item{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;gap:8px;min-height:126px;padding:16px;display:grid;position:relative;overflow:hidden}.health-item:before{background:var(--health-color);content:"";width:4px;height:100%;position:absolute;top:0;left:0}.health-item.blue{--health-color:var(--blue)}.health-item.green{--health-color:var(--green)}.health-item.gold{--health-color:var(--gold)}.health-item.violet{--health-color:var(--violet)}.health-item span,.health-item p{color:var(--muted)}.health-item strong{font-size:30px;line-height:1}.health-item p{font-size:13px}.bars{grid-template-columns:repeat(var(--trend-months,6), 1fr);align-items:end;gap:12px;min-height:180px;display:grid}.trend-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.trend-controls label{border:1px solid var(--border);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:4px 8px 4px 12px;display:flex}.trend-controls span{color:var(--muted);white-space:nowrap;font-size:12px}.trend-controls input,.trend-controls select{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;height:24px;padding:0;font-size:12px;font-weight:700}.trend-controls input{width:92px}.trend-controls select{width:44px}.bar-pair{text-align:center;gap:8px;min-width:0;display:grid}.bar-pair div{justify-content:center;align-items:end;gap:4px;height:142px;display:flex}.bar-pair i,.bar-pair b{border-radius:999px 999px 4px 4px;width:15px;display:block}.bar-pair i{background:var(--coral)}.bar-pair b{background:var(--green)}.risk-summary{background:#fffdf8;border:1px solid #e5dac8;border-radius:18px;gap:16px;padding:18px;display:grid;overflow:hidden}.risk-summary div{align-items:baseline;gap:10px;display:flex}.risk-summary strong{color:var(--violet);font-size:58px;line-height:.9}.risk-summary p{color:var(--muted)}.risk-summary i{background:linear-gradient(90deg, var(--green), var(--gold));border-radius:999px;height:8px;display:block}.balance-sheet-panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:inset 0 1px #ffffffe6,0 18px 40px #43372514}.balance-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.balance-column{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;align-content:start;gap:12px;padding:16px;display:grid}.balance-column-head,.balance-subtotal,.net-assets-row{justify-content:space-between;align-items:center;display:flex}.balance-column-head h4{margin:0;font-size:20px}.asset-side .balance-column-head strong{color:var(--green)}.debt-side .balance-column-head strong{color:#8f8a82}.balance-lines{gap:8px;display:grid}.balance-line{background:#faf7f0;border:1px solid #eee5d7;border-radius:14px;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.balance-line div{gap:4px;display:grid}.balance-line span,.balance-subtotal span,.net-assets-row span{color:var(--muted)}.balance-line.read-only{background:#f4f8f5;border-color:#dfe9df}.balance-line-placeholder{min-height:26px;display:block}.balance-line:hover .quiet-actions{opacity:1}.balance-subtotal{border-top:1px solid #eee5d7;padding-top:12px}.net-assets-row{color:#fff;background:#172033;border-radius:18px;min-height:64px;margin-top:16px;padding:14px 18px}.net-assets-row span{color:#ffffffdb;font-family:var(--apple-font);letter-spacing:0;font-size:16px;font-weight:600;line-height:1.15}.net-assets-row strong{font-size:34px;font-family:var(--apple-font);letter-spacing:0;font-weight:700;line-height:1}.news-panel{grid-column:span 4;padding:22px}.news-panel .section-title>div{gap:4px;display:grid}.news-list{gap:10px;display:grid}.cashflow-ledger{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:inset 0 1px #ffffffe6,0 18px 40px #43372514}.year-ledger{gap:12px;display:grid}.year-ledger+.year-ledger{margin-top:14px}.year-toggle{color:var(--ink);text-align:left;background:#fffdf8;border:1px solid #e7dece;border-radius:16px;justify-self:start;align-items:center;gap:8px;min-height:46px;padding:8px 10px;display:inline-flex}.year-toggle span{color:var(--muted);border:1px solid #ded2c0;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.year-toggle em{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:999px;padding:5px 10px;font-style:normal}.year-flow-chart{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:10px;min-height:210px;padding:18px 16px 12px;display:grid}.flow-month{border-radius:14px;gap:8px;min-width:0;padding:6px 4px 4px;display:grid}.flow-month.negative-net{background:linear-gradient(#ff414124,#ff41410a);box-shadow:inset 0 0 0 1px #ff41412e}.flow-bars{border-bottom:1px solid #e7dece;justify-content:center;align-items:end;gap:3px;height:150px;display:flex;position:relative}.flow-bars i,.flow-bars b{border-radius:999px 999px 4px 4px;width:7px;min-height:0;display:block}.flow-bars i{background:var(--coral)}.flow-bars b{background:var(--green)}.flow-bars .net-marker{background:linear-gradient(180deg, var(--gold), #f7b500);border-radius:999px;width:5px;min-height:8px;display:block;position:absolute;bottom:0;left:50%;transform:translate(12px);box-shadow:0 0 0 2px #ffe54d47}.flow-bars .net-marker.negative{background:var(--coral);box-shadow:0 0 0 2px #ff414129}.flow-bars .net-marker span{background:var(--ink);color:#fff;opacity:0;pointer-events:none;white-space:nowrap;z-index:2;border-radius:999px;padding:5px 7px;font-size:11px;font-style:normal;font-weight:700;line-height:1;transition:opacity .18s,transform .18s;position:absolute;top:-28px;left:50%;transform:translate(-50%)}.flow-month:hover .net-marker span,.flow-month.negative-net .net-marker span{opacity:1;transform:translate(-50%,-2px)}.flow-month>span{color:var(--muted);text-align:center;font-size:12px}.flow-legend{flex-wrap:wrap;gap:12px;display:flex}.flow-legend span{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.flow-legend i,.flow-legend b,.flow-legend em{border-radius:999px;width:10px;height:10px;display:inline-flex}.flow-legend i{background:var(--coral)}.flow-legend b{background:var(--green)}.flow-legend em{background:var(--gold);border:2px solid var(--ink)}.month-ledger-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.month-ledger{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;gap:8px;padding:14px;display:grid}.month-ledger-head,.cashflow-line,.cashflow-group-head,.month-cash-left{align-items:center;gap:10px;display:grid}.month-ledger-head{grid-template-columns:1fr auto;align-items:start}.month-ledger-head span{color:var(--muted);text-align:right;white-space:nowrap;justify-self:end;font-size:13px}.cashflow-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cashflow-group{border-radius:16px;gap:8px;min-width:0;padding:12px;display:grid}.cashflow-group.income{background:#ef444412;border:1px solid #ef444426}.cashflow-group.expense{background:#16ab5914;border:1px solid #16ab5929}.cashflow-group-head{grid-template-columns:1fr auto}.cashflow-group-head span{color:var(--muted);font-weight:800}.cashflow-group.income .cashflow-group-head strong{color:var(--coral)}.cashflow-group.expense .cashflow-group-head strong{color:var(--green)}.cashflow-group.income .cashflow-line strong{color:var(--coral)}.cashflow-group.expense .cashflow-line strong{color:var(--green)}.cashflow-group p{color:var(--muted);min-height:42px}.cashflow-line{background:#ffffff8c;border:1px solid #1118270a;border-radius:12px;grid-template-columns:minmax(0,1fr) max-content 48px;min-height:42px;padding:8px 10px;overflow:hidden}.cashflow-line span,.cashflow-line em{color:var(--muted);min-width:0;font-style:normal;line-height:1.35}.cashflow-line em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cashflow-line strong{white-space:nowrap;text-align:right}.cashflow-line .row-actions{justify-content:flex-end;gap:2px;min-width:46px;margin-left:0}.cashflow-line .icon-button{width:22px;height:22px}.month-cash-left{color:#fff;background:#172033;border-radius:16px;grid-template-columns:1fr auto;min-height:48px;padding:10px 12px}.month-cash-left span{color:#ffffffb3}.month-cash-left strong{font-size:22px}.news-item{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;grid-template-columns:150px minmax(0,1fr) 90px 108px;align-items:center;gap:16px;padding:14px;display:grid}.news-target,.news-main,.news-score{gap:4px;min-width:0;display:grid}.news-target strong,.news-main h4,.news-score strong{color:var(--ink)}.news-target span,.news-main p,.news-main span,.news-score span{color:var(--muted)}.news-main h4{margin:0;font-size:16px}.news-main p{margin:0}.news-score{text-align:right}.news-score strong{font-size:24px}.impact-pill{border:2px solid var(--ink);text-align:center;border-radius:999px;min-height:34px;padding:8px 12px;font-weight:800}.impact-pill.neutral{background:var(--gold);color:var(--ink)}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.editor-panel{gap:12px;padding:22px;display:grid}.collapsed-editor-trigger{color:var(--ink);background:#fffdf8;border:1px solid #e7dece;border-radius:18px;justify-self:start;align-items:center;gap:10px;min-height:48px;padding:10px 16px;font-size:18px;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffffe6,0 12px 28px #4337250f}.collapsed-editor-trigger span{color:var(--green);background:#0f766e1a;border:1px solid #0f766e2e;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.collapsible-editor-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;display:flex}.investment-editor,.grid-form{grid-template-columns:repeat(4,minmax(0,1fr))}.investment-editor h2,.investment-editor .collapsible-editor-head,.investment-editor .form-group-title,.grid-form h2,.grid-form .collapsible-editor-head,.grid-form .form-group-title{grid-column:1/-1}.form-group-title{color:var(--ink);letter-spacing:0;border-top:1px solid #e7dece;margin-top:8px;padding-top:14px;font-size:13px;font-weight:800}.dividend-switch{background:#fffdf8;border:1px solid #e7dece;border-radius:16px;align-items:center;gap:10px;min-height:54px;padding:9px 12px;display:flex}.dividend-switch span{color:var(--muted);flex:1;font-weight:800}.choice{background:0 0;border:1px solid #e7dece;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;font-weight:900;display:inline-flex}.choice.yes{color:var(--green)}.choice.no{color:var(--coral)}.choice.active.yes{background:#0f766e1f;border-color:#0f766e47}.choice.active.no{background:#b9423a1a;border-color:#b9423a3d}.inline-fields{grid-template-columns:minmax(0,1fr) 96px;gap:8px;display:grid}.investment-editor .drop-button{align-self:end}.table-panel,.investment-grid,.import-panel{grid-column:1/-1}.data-table{gap:8px;display:grid;overflow-x:auto}.table-head,.table-row{grid-template-columns:repeat(5,minmax(120px,1fr)) 72px;gap:10px;min-width:680px;display:grid}.table-head{color:var(--muted);padding:0 12px;font-size:13px;font-weight:800}.table-row{background:#ffffff85;border:1px solid #1118270f;border-radius:18px;align-items:center;padding:10px 12px}.table-head span:last-child,.table-row>.row-actions:last-child{justify-self:end}.table-summary{color:#fff;background:#172033;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:15px 18px;display:grid}.table-summary span{gap:4px;display:grid}.table-summary em{color:#ffffffad;font-style:normal}.table-summary strong{font-size:28px}.admin-panel{gap:16px;padding:22px;display:grid}.admin-message{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:14px;padding:10px 12px}.account-list{gap:10px;display:grid}.account-row{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) 88px 88px auto;align-items:center;gap:12px;min-height:72px;padding:14px;display:grid}.account-row div{gap:4px;min-width:0;display:grid}.account-row b,.account-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-row span{color:var(--muted);font-size:12px}.account-row strong,.account-row em{font-style:normal}.account-row em{text-align:center;border-radius:999px;padding:7px 10px;font-weight:800}.account-row em.active{color:var(--green);background:#ecfdf5}.account-row em.disabled{color:var(--coral);background:#fff1f2}.investment-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px;display:grid}.investment-pool-summary{border:1px solid var(--line);background:#ffffffe6;border-radius:24px;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);align-items:stretch;gap:16px;padding:18px;display:grid;box-shadow:0 20px 50px #0f172a12}.investment-pool-total{background:var(--ink);color:#fff;border-radius:20px;justify-content:start;gap:10px;padding:20px;display:grid}.investment-pool-total span,.investment-pool-item span,.investment-pool-item em{color:var(--muted);font-size:13px}.investment-pool-total span{color:#ffffffb8}.investment-pool-total strong{font-size:clamp(32px,4vw,52px);line-height:1}.investment-pool-breakdown{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:stretch;gap:10px;display:grid}.investment-pool-breakdown p{color:var(--muted);align-self:center;margin:0}.investment-pool-item{border:1px solid var(--line);background:#f8fafc;border-radius:18px;gap:8px;padding:14px;display:grid}.investment-pool-item strong{color:var(--ink);font-size:22px}.investment-pool-item em{font-style:normal}.investment-role-list{gap:18px;display:grid}.investment-role-group{border:1px solid var(--line);background:#ffffffdb;border-radius:24px;gap:14px;padding:18px;display:grid;box-shadow:inset 0 1px #ffffffeb,0 18px 42px #0f172a0f}.investment-role-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.investment-role-head h3{font-size:20px}.investment-role-head>div{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.investment-role-head span{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:7px 12px;font-size:13px;display:inline-flex}.investment-role-head b{color:var(--ink)}.investment-role-head b.positive{color:var(--coral)}.investment-role-head b.negative{color:var(--green)}.investment-role-head b.dividend{color:var(--coral)}.investment-card{align-content:start;gap:12px;padding:20px;display:grid}.card-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.investment-card strong{font-size:20px}.investment-metrics{gap:8px;display:grid}.investment-metric-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.investment-metric-row span{border:1px solid var(--line);color:var(--muted);background:#f8fafc;border-radius:14px;gap:5px;min-height:58px;padding:10px 12px;font-size:12px;line-height:1.25;display:grid}.investment-metric-row b{color:var(--ink);font-size:16px;line-height:1.1}.investment-metric-row em{color:var(--muted);font-size:12px;font-style:normal;font-weight:700;line-height:1.2;display:block}.investment-pnl-row{grid-template-columns:1fr}.investment-pnl-row span{background:#fff;justify-content:space-between;align-items:center;display:flex}.investment-pnl-row b{font-size:20px}.investment-metric-row .positive{color:var(--coral)}.investment-metric-row .negative{color:var(--green)}.investment-plan-panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;gap:16px;padding:22px;display:grid;box-shadow:inset 0 1px #ffffffe6,0 18px 40px #43372514}.plan-range-controls{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.plan-range-controls label{color:var(--muted);min-width:150px;font-size:13px;font-weight:800}.plan-month-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.plan-month-card{background:#fffdf8;border:1px solid #e7dece;border-radius:18px;gap:10px;min-height:158px;padding:14px;display:grid}.plan-month-head,.plan-line{align-items:center;gap:10px;display:grid}.plan-month-head{grid-template-columns:1fr auto}.plan-month-head span{color:var(--green);font-weight:800}.plan-month-card>p{color:var(--muted)}.plan-line{background:#faf7f0;border:1px solid #eee5d7;border-radius:14px;grid-template-columns:minmax(0,1fr) auto 58px;padding:10px}.plan-line div{gap:3px;display:grid}.plan-line span{color:var(--muted)}.plan-line strong{white-space:nowrap;font-size:15px}.plan-line:hover .quiet-actions{opacity:1}.plan-editor{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.plan-editor .collapsible-editor-head{grid-column:1/-1}.plan-editor .drop-button{align-self:end}.card-secondary-actions{justify-content:flex-start;display:flex}.investment-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.investment-facts span{color:var(--muted);background:#fffdf8;border:1px solid #e7dece;border-radius:14px;gap:4px;padding:10px;display:grid}.investment-facts b{color:var(--ink);font-size:17px}.import-panel{gap:18px;display:grid}.preview-card{background:#ffffff94;border:1px solid #11182714;border-radius:20px;gap:10px;padding:16px;display:grid}.metric:nth-of-type(2),.balance-column.asset-side,.cashflow-group.income{background:#e9fbf0}.metric:nth-of-type(3),.investment-plan-panel,.year-flow-chart{background:#edf9fc}.metric:nth-of-type(4),.balance-column.debt-side,.cashflow-group.expense{background:#fff0f2}.metric:nth-of-type(5),.table-summary,.net-assets-row,.month-cash-left{background:var(--blue);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.risk-summary{border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);background:radial-gradient(circle at 92% 12%,#ffe54dd1 0 28px,#0000 29px),#fff0f2}.table-summary,.net-assets-row,.month-cash-left{color:#fff}.glass-panel,.table-panel,.editor-panel,.cashflow-ledger,.balance-sheet-panel,.investment-plan-panel,.admin-panel{background:linear-gradient(#ffffffe6,#ffffffb8),#fff}.health-item,.composition-panel,.risk-summary,.balance-column,.balance-line,.year-toggle,.year-flow-chart,.month-ledger,.plan-month-card,.plan-line,.investment-facts span,.dividend-switch,.collapsed-editor-trigger,.table-row,.cashflow-line,.news-item{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.health-item,.composition-panel,.balance-line,.plan-line,.cashflow-line,.table-row,.investment-facts span{background:#fff}.metric.blue{--accent-line:var(--blue);background:#eef0ff}.metric.green{--accent-line:var(--green);background:#e9fbf0}.metric.gold{--accent-line:#d9bd00;background:#fff8b8}.metric.coral{--accent-line:var(--coral);background:#ffecef}.composition-row{border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink)}.investment-card:nth-child(3n+1){background:#f2f3ff}.investment-card:nth-child(3n+2){background:#eafbff}.investment-card:nth-child(3n+3){background:#fff1f4}.investment-card:hover,.plan-month-card:hover,.news-item:hover{transform:none}.flow-bars i,.bar-pair i{background:var(--coral)}.flow-bars b,.bar-pair b{background:var(--green)}.flow-bars .net-marker,.flow-legend em{background:var(--gold)}.field,.eyebrow,.metric span,.section-title span,.investment-card span,.investment-card p,.composition-row em,.flow-month>span{font-family:var(--apple-font);letter-spacing:0}.mobile-menu-button{background:var(--gold);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);z-index:60;border-radius:999px;justify-content:center;align-items:center;gap:4px;width:54px;height:46px;padding:0;display:none;position:fixed;top:18px;left:18px}.mobile-menu-button span{background:var(--ink);border-radius:999px;width:22px;height:3px;display:block}.app-shell{letter-spacing:0}.sidebar{border:1px solid var(--line);background:#ffffffdb;border-radius:0 28px 28px 0;box-shadow:0 20px 60px #11182714}.brand-mark{box-shadow:none;background:#111827;border:1px solid #111827;border-radius:14px;flex:none;overflow:hidden}.brand-mark.user-avatar{letter-spacing:0;text-transform:uppercase;font-size:14px;line-height:1}.brand-mark.user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.brand strong{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}.brand small,.tab,.auth-panel{color:var(--muted)}.tab{border:1px solid #0000;transition:background .22s ease-out,border-color .22s ease-out,color .22s ease-out,transform .22s ease-out;position:relative;overflow:hidden}.tab:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#2563eb1a,#0000);transition:opacity .26s ease-out,transform .36s ease-out;position:absolute;inset:0;transform:translate(-60%)}.tab:hover:after,.tab.active:after{opacity:1;transform:translate(60%)}.tab:hover{background:#f8fafc;border-color:#e2e8f0;transform:translate(2px)}.tab .tab-icon{color:var(--blue);z-index:1;background:linear-gradient(145deg,#ffffffeb,#eff6ffd1),#f4f7ff;border:1px solid #dbe4ff;flex:none;position:relative;box-shadow:inset 0 1px #ffffffe6,0 6px 14px #2563eb14}.tab .tab-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.tab>:not(.tab-icon){z-index:1;position:relative}.tab.active{box-shadow:none;color:var(--ink);background:#eef4ff;border-color:#c7d8ff}.tab.active .tab-icon{background:linear-gradient(145deg, #3b82f6, #1d4ed8), var(--blue);border-color:var(--blue);color:#fff;box-shadow:inset 0 1px #ffffff47,0 10px 22px #2563eb38}.page-flow{min-width:0}.workspace{width:100%;max-width:1240px}.workspace:before,.workspace:after,.hero-panel:before{display:none}.eyebrow{color:var(--blue);font-family:var(--apple-font);letter-spacing:0;text-transform:none}h1,h2{color:var(--ink);font-family:var(--apple-font);font-weight:700}h3,h4,button,input,select,textarea,label{font-family:var(--apple-font)}input,select,textarea,.auth-panel input{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:inset 0 1px #fffc}input:focus,select:focus,textarea:focus{border-color:#2563eb80;outline:none;box-shadow:0 0 0 4px #2563eb1a}.drop-button,.ghost-button,.text-button{box-shadow:none;border:1px solid #0000}.drop-button{color:#fff;background:#111827}.drop-button:hover{color:#fff;background:#030712;box-shadow:0 10px 22px #11182729}.ghost-button{border-color:var(--line);color:var(--ink);background:#fff}.ghost-button:hover{color:var(--ink);background:#f9fafb;border-color:#cbd5e1}.icon-button:hover{background:#f8fafc;border-color:#d1d5db}.hero-panel,.glass-panel,.metric,.editor-panel,.table-panel,.news-panel,.balance-sheet-panel,.cashflow-ledger,.investment-plan-panel,.investment-card,.health-item,.composition-panel,.risk-summary,.balance-column,.balance-line,.year-toggle,.year-flow-chart,.month-ledger,.plan-month-card,.plan-line,.investment-facts span,.dividend-switch,.collapsed-editor-trigger,.table-row,.cashflow-line,.news-item,.composition-row{border:1px solid var(--line);box-shadow:var(--shadow)}.hero-panel,.glass-panel,.table-panel,.editor-panel,.cashflow-ledger,.balance-sheet-panel,.investment-plan-panel{background:#ffffffeb;border-radius:24px}.hero-panel{background:linear-gradient(135deg,#fffffffa,#f8fafcf0),#fff}.asset-allocation-hero{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:stretch}.asset-pie-panel,.net-worth-panel{border:1px solid var(--line);background:#fff;border-radius:22px;box-shadow:0 16px 38px #0f172a0f}.asset-pie-panel{grid-template-columns:minmax(220px,.85fr) minmax(260px,1fr);align-items:center;gap:24px;padding:24px;display:grid}.allocation-pie{aspect-ratio:1;background:var(--pie-gradient);border-radius:50%;place-items:center;width:100%;max-width:310px;display:grid;position:relative}.allocation-pie:before{content:"";background:linear-gradient(#fffffffa,#f8fafcf2),#fff;border:1px solid #e2e8f0e6;border-radius:50%;position:absolute;inset:25%}.allocation-pie span{color:var(--muted);font-size:14px;font-weight:700;position:relative}.allocation-list{gap:12px;position:relative}.allocation-list:before{content:"";background:linear-gradient(#94a3b800,#94a3b838,#94a3b800);border-radius:999px;width:2px;position:absolute;top:18px;bottom:18px;left:-18px}.allocation-list .composition-row{background:#f8fafc;min-height:44px;position:relative}.allocation-list .composition-row:before{background:var(--dot-color);content:"";border-radius:999px;width:24px;height:2px;position:absolute;top:50%;left:-18px;transform:translate(-100%,-50%)}.allocation-list .composition-row:after{background:var(--dot-color);box-shadow:0 0 0 1px color-mix(in srgb, var(--dot-color) 48%, white);content:"";border:3px solid #fff;border-radius:999px;width:10px;height:10px;position:absolute;top:50%;left:-18px;transform:translate(-50%,-50%)}.net-worth-panel{align-content:center;gap:22px;padding:28px;display:grid}.net-worth-panel>span{color:var(--muted);font-size:14px;font-weight:700}.net-worth-panel>strong{color:var(--ink);letter-spacing:-.03em;font-size:clamp(48px,7vw,86px);line-height:.95}.net-worth-breakdown{gap:10px;display:grid}.net-worth-breakdown article{border:1px solid var(--line);background:#f8fafc;border-radius:16px;justify-content:space-between;align-items:center;min-height:48px;padding:11px 14px;display:flex}.net-worth-breakdown em{color:var(--muted);font-style:normal}.net-worth-breakdown b{color:var(--ink);font-size:18px}.glass-panel:hover,.metric:hover,.table-panel:hover,.investment-card:hover,.investment-plan-panel:hover,.plan-month-card:hover,.news-item:hover{box-shadow:var(--shadow);transform:none}.metric{border-radius:18px}.metric:before{height:4px;top:0;left:18px;right:18px}.metric.blue,.metric:nth-of-type(2){background:#eff6ff}.metric.green,.metric:nth-of-type(3){background:#ecfdf5}.metric.gold,.metric:nth-of-type(4){background:#fffbeb}.metric.coral,.metric:nth-of-type(5){background:#fff1f2}.composition-panel,.health-item,.balance-line,.plan-line,.cashflow-line,.table-row,.investment-facts span{background:#fff}.composition-bar,.risk-summary i{border:1px solid #d1d5db}.composition-row{box-shadow:none;background:#fff;border-radius:14px}.mountain-stage,.year-flow-chart{border:1px solid var(--line);background:#f8fafc;box-shadow:inset 0 1px #ffffffb8}.mountain-back{fill:#dbeafe}.mountain-front{fill:#bbf7d0}.trail{stroke:var(--blue)}.climber,.beacon circle{fill:#111827}.beacon path{fill:#16ab59;stroke:#111827}.climb-stats article{border:1px solid var(--line);box-shadow:none;background:#ffffffe6}.risk-summary{color:var(--ink);background:#fff;overflow:visible}.risk-summary strong{color:var(--blue)}.risk-summary p,.risk-summary span,.risk-summary div{color:var(--ink)}.risk-summary div{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.risk-summary div span{overflow-wrap:anywhere;white-space:normal;word-break:normal;line-height:1.35}.risk-summary p{overflow-wrap:anywhere;text-wrap:auto;white-space:normal;word-break:normal;max-width:100%;margin:0;line-height:1.6}.table-summary,.net-assets-row,.month-cash-left{box-shadow:none;color:#fff;background:#111827;border:1px solid #111827}.cashflow-group.income{background:#fff1f2}.cashflow-group.expense,.balance-column.asset-side{background:#f0fdf4}.balance-column.debt-side{background:#fff1f2}.investment-plan-panel,.year-flow-chart{background:#f8fafc}.investment-card:nth-child(3n+1),.investment-card:nth-child(3n+2),.investment-card:nth-child(3n+3){background:#fff}.collapsed-editor-trigger{box-shadow:none;color:var(--ink);background:#fff;border-radius:999px;justify-self:start;padding:12px 18px}.collapsed-editor-trigger span{color:var(--green);background:#ecfdf5;border:1px solid #bbf7d0}.news-panel{background:#fff}.news-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.news-board{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0;display:grid}.news-column{border:1px solid var(--line);background:#fff;border-radius:20px;gap:12px;min-width:0;padding:14px;display:grid;overflow:hidden}.news-column.up{background:linear-gradient(#16ab5914,#ffffffe0);border-color:#16ab5933}.news-column.down{background:linear-gradient(#ef444414,#ffffffe6);border-color:#ef444433}.news-column.neutral{background:linear-gradient(#d4a0171f,#ffffffe6);border-color:#d4a0173d}.news-column-head{justify-content:space-between;align-items:center;display:flex}.news-column-head h4{margin:0}.news-column-head span{border:1px solid var(--line);color:var(--muted);background:#ffffffc2;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex}.news-empty{color:var(--muted);min-height:74px;margin:0}.news-item{box-shadow:none;background:#ffffffd6;border-radius:16px;grid-template-columns:1fr;align-items:stretch;gap:10px;min-width:0;display:grid;overflow:hidden}.news-item .news-target{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.news-item .news-target strong,.news-main h4,.news-main p,.news-main span{overflow-wrap:anywhere;white-space:normal;word-break:break-word;min-width:0}.news-item .news-target span{border:1px solid var(--line);overflow-wrap:anywhere;white-space:normal;background:#f8fafc;border-radius:999px;max-width:100%;padding:4px 8px}.news-item .news-score{text-align:left;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.news-item .news-score strong{font-size:18px}.impact-pill{overflow-wrap:anywhere;white-space:normal;border:1px solid #0000;max-width:100%}.impact-pill.neutral{color:#78350f;background:#fef3c7;border-color:#fde68a}.impact-pill.up{color:#166534;background:#dcfce7}.impact-pill.down{color:#991b1b;background:#fee2e2}.mobile-menu-button{border:1px solid var(--line);background:#fff;box-shadow:0 12px 28px #1118271f}.mobile-menu-button span{background:var(--ink)}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;margin:16px;position:static}.tabs{grid-template-columns:repeat(3,1fr)}.auth-panel{margin-top:0}.dashboard-grid,.two-column,.investment-grid,.investment-pool-summary,.plan-month-grid,.balance-columns,.news-board{grid-template-columns:1fr}.hero-panel,.news-panel,.wide{grid-column:span 1}.hero-panel,.asset-allocation-hero,.asset-pie-panel{grid-template-columns:1fr}.allocation-pie{justify-self:center;max-width:260px}.climb-stats,.investment-editor,.plan-editor,.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.app-shell{display:block}.workspace,.sidebar{padding:18px}.workspace{padding-top:86px}.mobile-menu-button{flex-direction:column;display:inline-flex}.sidebar{z-index:50;width:310px;max-width:calc(100vw - 36px);height:auto;margin:0;transition:transform .26s ease-out;position:fixed;top:82px;bottom:18px;left:0;overflow:auto;transform:translate(calc(-100% - 24px));box-shadow:0 20px 60px #11182729}.sidebar.open{transform:translate(18px)}.topbar{display:grid}.tabs,.investment-editor,.plan-editor,.grid-form,.investment-facts{grid-template-columns:1fr}.news-item{grid-template-columns:1fr;align-items:start}.account-row{grid-template-columns:1fr}.news-score{text-align:left}.month-ledger-grid,.cashflow-split{grid-template-columns:1fr}.cashflow-line{grid-template-columns:minmax(0,1fr) auto auto}.cashflow-line strong{text-align:right}.tab{min-height:48px}.hero-panel{padding:22px}.asset-pie-panel,.net-worth-panel{padding:18px}.health-grid{grid-template-columns:1fr}.composition-panel{padding:16px}.mountain-stage svg{height:210px}.climb-stats{grid-template-columns:1fr}}
