@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Noto+Sans+SC:wght@400;500;700&family=JetBrains+Mono:wght@500;700&display=swap";:root{color:#26221c;font-synthesis:none;--bg:#f4f0e8;--surface:#fff;--surface-alt:#fbf9f4;--surface-hover:#f6f3eb;--border:#e4ded2;--border-hover:#c9c0ae;--text:#26221c;--text-secondary:#5c5548;--text-tertiary:#9a9080;--accent:#b3541e;--accent-hover:#964415;--accent-soft:#f5e4d4;--bg-rgb:244, 240, 232;--accent-rgb:179, 84, 30;--success:#1e7a46;--error:#b3392f;--warning:#c97b1f;--up:#c0392b;--down:#1e7a46;--shadow:0 6px 20px #26221c14;--ink:#26221c;--muted:#5c5548;--paper:#fff;--paper-deep:#f6f3eb;--line:#e4ded2;--teal:#b3541e;--teal-bright:#c97b1f;--teal-dark:#964415;--red:#b3392f;background:#f4f0e8;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}.live-market-status{min-height:24px;color:var(--text-secondary);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.live-market-status>i{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px}.live-market-live{color:var(--success);border-color:color-mix(in srgb, var(--success) 26%, var(--border))}.live-market-live>i{background:var(--success);box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 12%, transparent)}.live-market-connecting>i,.live-market-reconnecting>i{background:var(--warning)}.live-market-reconnecting{color:var(--warning)}.holdings-live-meta{justify-content:flex-end;align-items:center;gap:8px;display:flex}.rolling-value{transform-origin:50%;will-change:transform, opacity, background-color;border-radius:4px;padding:0 2px;display:inline-block}.formal-ledger-note{color:var(--text-tertiary);margin-top:5px;font-size:10px;font-weight:500;display:block}@media (width<=720px){.holdings-list-head{align-items:flex-start}.holdings-live-meta{flex-direction:column-reverse;align-items:flex-end}.capital-header-meta .live-market-status{text-overflow:ellipsis;max-width:100%;overflow:hidden}}@media (prefers-reduced-motion:reduce){.rolling-value{will-change:auto}}:root[data-theme=dark]{color:#ede7dc;--bg:#1a1713;--surface:#262119;--surface-alt:#211d16;--surface-hover:#2e2820;--border:#3a332a;--border-hover:#554a3c;--text:#ede7dc;--text-secondary:#a79c8c;--text-tertiary:#7a6f60;--accent:#d98a4a;--accent-hover:#e8a263;--accent-soft:#3a2a1c;--bg-rgb:26, 23, 19;--accent-rgb:217, 138, 74;--success:#6fbf8a;--error:#d97a6a;--warning:#d9a14a;--up:#e06c5a;--down:#6fbf8a;--shadow:0 6px 20px #00000059;--ink:#ede7dc;--muted:#a79c8c;--paper:#262119;--paper-deep:#2e2820;--line:#3a332a;--teal:#d98a4a;--teal-bright:#e8a263;--teal-dark:#b06a2e;--red:#d97a6a;background:#1a1713}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}:root[data-theme=dark] body{background:var(--bg)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:.02em;font-family:Noto Serif SC,Songti SC,STSong,serif}.app-shell{min-height:100vh}.sidebar{z-index:20;border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);width:248px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:18px;flex-direction:column;padding:22px 16px;display:flex;position:fixed;inset:18px auto 18px 18px}.sidebar-brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:4px 8px 24px;display:flex}.sidebar-brand strong{font-family:Noto Serif SC,Songti SC,serif;font-size:15px;display:block}.sidebar-brand small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--teal-bright), var(--teal-dark));border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid;box-shadow:inset 0 1px #ffffff4d,0 6px 16px #b3541e40}.sidebar nav{gap:6px;padding:24px 0;display:grid}.sidebar nav a{color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.sidebar nav a:hover{color:var(--ink);background:var(--paper-deep);transform:translate(2px)}.sidebar nav a.active{color:#fff;background:linear-gradient(135deg, var(--teal-dark), var(--teal));box-shadow:0 6px 16px #b3541e38}.sidebar-footer{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;padding-top:16px;display:flex}.member-chip{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.member-chip>span{width:32px;height:32px;color:var(--teal-dark);background:#cfe9df;border-radius:50%;place-items:center;font-weight:700;display:grid}.member-chip div{min-width:0}.member-chip strong,.member-chip small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.member-chip strong{font-size:12px}.member-chip small{color:var(--muted);font-size:9px}.icon-button{width:36px;height:36px;color:var(--muted);border:1px solid var(--line);background:var(--paper);border-radius:12px;place-items:center;padding:0;display:inline-grid}.page-frame{min-height:100vh;padding-left:282px}.mobile-header,.mobile-nav{display:none}.content-page{width:min(1360px,100%);min-height:100vh;margin:0 auto;padding:44px 42px 70px}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px;display:flex}.page-header h1{margin-bottom:8px;font-size:clamp(30px,3vw,48px);line-height:1.1}.page-header p:not(.eyebrow){max-width:680px;color:var(--muted);margin-bottom:0;line-height:1.7}.eyebrow{color:var(--teal);letter-spacing:.18em;margin-bottom:8px;font-size:10px;font-weight:800}.primary-button,.secondary-button{border-radius:13px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:0 18px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(135deg, var(--teal-dark), var(--teal));border:0;box-shadow:0 10px 26px #0e706738}.secondary-button{color:var(--teal-dark);border:1px solid var(--line);background:var(--paper)}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.primary-button:disabled{cursor:wait;opacity:.6;transform:none}.text-button{color:var(--teal);background:0 0;border:0;align-items:center;gap:6px;padding:5px 0;font-weight:700;display:inline-flex}.login-page{background:#0d3c3a;place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.login-landscape{background:radial-gradient(circle at 66% 19%,#e7ca8f40,#0000 12%),linear-gradient(#153c3a 0%,#1e5550 44%,#a2bca8 100%);position:absolute;inset:0;overflow:hidden}.login-moon{background:#f1dca8;border-radius:50%;width:145px;height:145px;position:absolute;top:11%;right:18%;box-shadow:0 0 80px #f1dca852}.login-ridge{border-radius:50% 50% 0 0;width:120%;position:absolute;left:-10%;transform:rotate(-3deg)}.ridge-one{clip-path:polygon(0 53%,17% 26%,31% 45%,46% 8%,63% 47%,77% 20%,100% 55%,100% 100%,0 100%);background:#275e55;height:48%;bottom:11%}.ridge-two{clip-path:polygon(0 55%,16% 13%,30% 52%,48% 24%,65% 58%,84% 11%,100% 44%,100% 100%,0 100%);background:#173f3a;height:43%;bottom:-5%}.login-river{filter:blur(2px);background:linear-gradient(95deg,#0000 0 20%,#c5e7d994 36%,#51aa9970 52%,#0000 72%);border-radius:50% 48% 0 0;width:58%;height:85%;position:absolute;bottom:-20%;left:28%;transform:rotate(-12deg)}.login-card{z-index:2;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);color:#173d3b;background:#f7f9f0e0;border:1px solid #ffffff6b;border-radius:30px;width:min(430px,100%);padding:44px;position:relative;box-shadow:0 35px 100px #0218166b}.login-card h1{margin:20px 0 8px;font-size:36px}.login-lead{color:#607872;margin-bottom:28px}.login-footnote{color:#7c918c;text-align:center;margin:22px 0 0;font-size:11px}.stack-form{gap:16px;display:grid}.stack-form label,.form-grid label,.inline-settings label,.scenario-cards label{color:var(--muted);gap:7px;font-size:12px;font-weight:600;display:grid;position:relative}input,select{width:100%;min-height:44px;color:var(--ink);border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 92%, white);border-radius:11px;outline:none;padding:0 13px;transition:border .2s,box-shadow .2s}input:focus,select:focus{border-color:var(--teal-bright);box-shadow:0 0 0 3px #1da99a1c}.form-error{color:var(--red);margin:0;font-size:12px}.dashboard-grid{grid-template-columns:minmax(480px,1.05fr) minmax(400px,.95fr);gap:24px;display:grid}.reservoir-panel,.metric-board,.ledger-section,.upload-workbench,.planner-card,.scenario-strip,.milestone-line{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 93%, transparent);border-radius:26px;box-shadow:0 20px 60px #17484314}.reservoir-panel{padding:28px;overflow:hidden}.reservoir-heading{justify-content:space-between;align-items:flex-start;display:flex}.reservoir-heading h2{margin:0;font-size:26px}.level-badge{color:var(--teal);background:#1aa99a14;border:1px solid #1aa99a33;border-radius:99px;padding:8px 12px;font-size:12px;font-weight:800}.reservoir-stage{width:min(440px,92%);height:360px;margin:4px auto 0;position:relative}.tank-rim{z-index:4;background:#b7d1c7;border:3px solid #305e5b;border-radius:50%;height:11px;position:absolute;bottom:7%;left:10%;right:10%;box-shadow:0 6px #244d4b}.tank{background:linear-gradient(90deg,#ffffff57,#9fcdc529);border:4px solid #2d625e;border-top:0;border-radius:0 0 32px 32px;height:72%;position:absolute;bottom:9%;left:14%;right:14%;overflow:hidden;box-shadow:inset 16px 0 24px #fff3,0 28px 45px #17484326}.water{background:linear-gradient(#5bdbd0,#15968f 70%,#0c6966);min-height:4%;transition:height 1.2s cubic-bezier(.22,.8,.2,1);position:absolute;bottom:0;left:0;right:0}.wave{background:#6ce1d7;border-radius:50%;width:120%;height:30px;animation:5s linear infinite wave;position:absolute;top:-15px;left:-10%}.wave-b{opacity:.45;animation-duration:7s;animation-direction:reverse;transform:translate(18px)}.water-shine{filter:blur(5px);background:linear-gradient(90deg,#ffffff3d,#0000);border-radius:50%;width:12%;position:absolute;inset:12% auto 12% 11%}.water-label{z-index:3;color:#fff;text-align:center;text-shadow:0 2px 12px #05464273;position:absolute;inset:auto 0 20px}.water-label strong,.water-label span{display:block}.water-label strong{font:700 clamp(22px,3vw,34px) Iowan Old Style,Songti SC,serif}.water-label span{margin-top:4px;font-size:11px}.tank-mark{z-index:2;color:#19413d94;font-size:9px;position:absolute;right:7px;transform:translateY(50%)}.pipe{z-index:5;background:0 0;border:12px solid #557b76;width:25%;height:68px;position:absolute;top:13%;box-shadow:inset 0 3px #ffffff47,0 6px 10px #1432301f}.pipe-in{border-bottom:0;border-left:0;border-radius:0 25px 0 0;left:0}.pipe-out{border-top:0;border-right:0;border-radius:0 0 0 16px;height:36px;top:auto;bottom:18%;right:0}.water-stream{transform-origin:top;background:linear-gradient(90deg,#43c9bf,#8ce9df);border-radius:0 0 8px 8px;width:9px;height:76px;animation:1.7s ease-in-out infinite flow;position:absolute;top:56px;right:-12px}.water-stream.drain{height:62px;inset:auto auto -65px -12px}.flow-legend{grid-template-columns:1fr 1fr;gap:12px;display:grid}.flow-legend>div{background:var(--paper-deep);border-radius:15px;align-items:center;gap:11px;padding:13px;display:flex}.flow-icon{border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.flow-icon.income{color:var(--teal);background:#1aa99a1f}.flow-icon.expense{color:var(--sand);background:#d6925524}.flow-legend p{color:var(--muted);margin:0;font-size:10px}.flow-legend strong{color:var(--ink);margin-top:2px;font-size:14px;display:block}.reservoir-gap{color:var(--muted);text-align:center;margin:18px 0 0;font-size:13px}.metric-board{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.metric-card,.target-note{background:var(--paper);padding:28px}.metric-card>span{width:40px;height:40px;color:var(--teal);background:var(--paper-deep);border-radius:13px;place-items:center;margin-bottom:28px;display:grid}.metric-card p,.target-note p{color:var(--muted);margin-bottom:8px;font-size:12px}.metric-card strong,.target-note strong{margin-bottom:6px;font:700 clamp(20px,2.3vw,31px) Iowan Old Style,Songti SC,serif;display:block}.metric-card small,.target-note small{color:var(--muted);font-size:10px;line-height:1.6}.hero-metric{background:linear-gradient(135deg, var(--teal-dark), #0c8177);color:#fff;grid-column:span 2}.hero-metric>span{color:#fff;background:#ffffff24}.hero-metric p,.hero-metric small{color:#ffffffad}.hero-metric strong{font-size:clamp(30px,4vw,48px)}.target-note{grid-column:span 2;justify-content:space-between;align-items:end;gap:20px;display:flex}.target-note a{color:var(--teal);align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.scenario-strip{grid-template-columns:1.4fr repeat(3,1fr);gap:0;margin-top:24px;display:grid;overflow:hidden}.scenario-strip>div,.scenario-strip article{padding:24px 28px}.scenario-strip h2{margin:0}.scenario-strip article{border-left:1px solid var(--line)}.scenario-strip article span,.scenario-strip article small{color:var(--muted);font-size:10px;display:block}.scenario-strip article strong{margin:8px 0;font:700 19px Iowan Old Style,Songti SC,serif;display:block}.milestone-banner{color:#9a5a25;background:#ebbe6f29;border:1px solid #d6925540;border-radius:14px;margin-bottom:20px;padding:14px 18px;font-weight:700}.home-page-header{align-items:center}.home-page-header h1{font-size:clamp(34px,4vw,54px)}.home-asset-hero{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:30px;grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);margin-bottom:24px;display:grid;overflow:hidden}.home-hero-main{color:#effffa;background:radial-gradient(circle at 90% 6%,#77eddd3b,#0000 30%),linear-gradient(145deg,#0b6059,#0b3937 70%);flex-direction:column;justify-content:space-between;min-height:475px;padding:38px;display:flex;position:relative}.home-hero-main:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:260px;height:260px;position:absolute;bottom:-88px;right:-68px;box-shadow:0 0 0 42px #ffffff06,0 0 0 84px #ffffff05}.home-primary-number{z-index:1;align-items:flex-start;gap:20px;display:flex;position:relative}.home-icon-seal{color:#ccfff7;background:#ffffff1a;border:1px solid #ffffff2e;border-radius:17px;flex:none;place-items:center;width:50px;height:50px;display:grid}.home-icon-seal svg{width:22px}.home-primary-number>div{min-width:0}.home-primary-number p{color:#ecfffbab;letter-spacing:.08em;margin:1px 0 8px;font-size:12px;font-weight:700}.home-primary-number>div>strong{letter-spacing:-.055em;font:700 clamp(44px,5.5vw,72px)/1.02 Iowan Old Style,Songti SC,serif;display:block}.home-primary-number>div>small{color:#ecfffb8f;margin-top:12px;font-size:10px;display:block}.home-balance-facts{flex-wrap:wrap;gap:12px 26px;margin-top:20px;display:flex}.home-balance-facts span{color:#ecfffb9e;font-size:12px}.home-balance-facts b{color:#effffa;margin-left:5px;font-family:Iowan Old Style,Songti SC,serif;font-size:14px}.home-goal-block{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff13;border:1px solid #ffffff21;border-radius:20px;margin-top:58px;padding:25px 26px 23px;position:relative}.home-goal-heading,.home-goal-foot{justify-content:space-between;align-items:center;gap:18px;display:flex}.home-goal-heading strong{font-family:Iowan Old Style,Songti SC,serif;font-size:18px}.home-goal-heading span{font-size:15px;font-weight:800}.home-progress-track{background:#e9fffa24;border-radius:99px;height:11px;margin:18px 0 13px;overflow:hidden}.home-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#5fe0d0,#caede6);height:100%;transition:width .7s;display:block;box-shadow:0 0 24px #5fe0d059}.home-goal-foot p{color:#ecfffba3;margin:0;font-size:11px}.home-goal-foot a{color:#d8fff8;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.home-hero-side{background:linear-gradient(160deg,var(--paper),color-mix(in srgb,var(--paper-deep) 58%,var(--paper)));flex-direction:column;gap:24px;padding:30px 28px;display:flex}.home-secondary-metrics{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-secondary-metrics article{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 88%,transparent);border-radius:17px;min-width:0;padding:17px 15px}.home-secondary-metrics article>span{width:35px;height:35px;color:var(--teal);background:var(--paper-deep);border-radius:12px;place-items:center;margin-bottom:19px;display:grid}.home-secondary-metrics svg{width:17px}.home-secondary-metrics p{color:var(--muted);margin:0;font-size:10px}.home-secondary-metrics strong{white-space:nowrap;margin:7px 0 5px;font:700 clamp(18px,2vw,24px) Iowan Old Style,Songti SC,serif;display:block}.home-secondary-metrics small{min-height:29px;color:var(--muted);font-size:9.5px;line-height:1.55;display:block}.home-update-actions{gap:10px;margin-top:auto;display:grid}.home-update-actions>a{border:1px solid var(--line);background:var(--paper);border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:76px;padding:13px 14px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.home-update-actions>a:hover{border-color:#1aa99a61;transform:translateY(-2px);box-shadow:0 12px 28px #17484317}.home-update-actions>a>span{color:#fff;background:linear-gradient(145deg,var(--teal-bright),var(--teal-dark));border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.home-update-actions>a>span svg{width:19px}.home-update-actions>a>svg{width:16px;color:var(--muted)}.home-update-actions strong,.home-update-actions small{display:block}.home-update-actions strong{font-size:12px}.home-update-actions small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.home-planning-panel{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 93%,transparent);border-radius:24px;padding:27px 28px 22px;box-shadow:0 20px 60px #17484312}.home-planning-panel>header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px;display:flex}.home-planning-panel h2{margin:0 0 7px;font-size:27px}.home-planning-panel header p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.home-scenario-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.home-scenario-grid article{border:1px solid var(--line);background:var(--paper);border-radius:17px;padding:20px}.home-scenario-grid span{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.home-scenario-grid span svg{width:15px;color:var(--teal)}.home-scenario-grid strong{margin:12px 0 5px;font:700 23px Iowan Old Style,Songti SC,serif;display:block}.home-scenario-grid small{color:var(--muted);font-size:10px}.home-planning-note{color:var(--muted);text-align:right;margin:14px 0 0;font-size:9px}.summary-ribbon{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:22px;grid-template-columns:repeat(3,1fr);margin-bottom:24px;display:grid;overflow:hidden}.summary-ribbon article{border-right:1px solid var(--line);align-items:center;gap:15px;padding:24px;display:flex}.summary-ribbon article:last-child{border:0}.summary-ribbon span{width:42px;height:42px;color:var(--teal);background:var(--paper-deep);border-radius:14px;place-items:center;display:grid}.summary-ribbon svg{width:20px}.summary-ribbon p{color:var(--muted);margin:0;font-size:11px}.summary-ribbon strong{color:var(--ink);margin-top:4px;font:700 22px Iowan Old Style,Songti SC,serif;display:block}.summary-ribbon .accent{background:linear-gradient(135deg,#0d776f14,#1aa99a05)}.ledger-section{padding:26px}.section-title{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.section-title h2{margin:0}.section-title>span{color:var(--muted);font-size:12px}.account-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}.table-row{border-bottom:1px solid var(--line);background:var(--paper);grid-template-columns:1.4fr 1fr 1fr .8fr;align-items:center;gap:18px;padding:16px 18px;display:grid}.table-row:last-child{border:0}.table-row>span{min-width:0}.table-row strong,.table-row small{display:block}.table-row small{color:var(--muted);margin-top:3px;font-size:10px}.table-head{color:var(--muted);background:var(--paper-deep);letter-spacing:.08em;font-size:10px;font-weight:800}.type-tag{color:var(--teal);background:#1aa99a17;border-radius:8px;padding:4px 8px;font-size:10px;display:inline-block}.money-cell{font-family:Iowan Old Style,Songti SC,serif;font-weight:700}.table-action{color:var(--teal);border:1px solid var(--line);background:0 0;border-radius:9px;align-items:center;gap:5px;padding:8px 10px;font-size:11px;font-weight:700;display:inline-flex}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051e1d99;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog-card{border:1px solid var(--line);background:var(--paper);border-radius:26px;width:min(720px,100%);max-height:92vh;padding:34px;position:relative;overflow:auto;box-shadow:0 40px 120px #00000059}.compact-dialog{width:min(460px,100%)}.dialog-close{width:36px;height:36px;color:var(--muted);background:var(--paper-deep);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:18px;right:18px}.dialog-close svg{width:18px}.dialog-card h2{margin-bottom:12px;font-size:27px}.dialog-help{color:var(--muted);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;display:grid}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:5px;display:flex}.decision-step>p{color:var(--muted);margin:24px 0;line-height:1.7}.decision-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.decision-grid button{min-height:230px;color:var(--ink);background:linear-gradient(145deg,#5e87de21,#5e87de0f);border:1px solid #0000;border-radius:24px;flex-direction:column;align-items:center;padding:34px 20px;transition:all .2s;display:flex}.decision-grid button:last-child{background:linear-gradient(145deg,#e19a6426,#e19a640f)}.decision-grid button:hover{border-color:var(--teal-bright);transform:translateY(-3px)}.decision-icon{color:#fff;border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:28px;display:grid}.decision-icon.blue{background:#6583db}.decision-icon.sand{background:#e0a05c}.decision-grid strong{font:700 20px Iowan Old Style,Songti SC,serif}.decision-grid small{color:var(--muted);margin-top:6px}.flow-fieldset{border:1px solid var(--line);border-radius:15px;padding:16px}.flow-fieldset legend{color:var(--muted);padding:0 8px;font-size:11px;font-weight:700}.flow-row{grid-template-columns:1.1fr .8fr 1fr auto;align-items:end;gap:9px;margin-bottom:10px;display:grid}.remove-flow{margin-bottom:3px}.full-button{width:100%;margin-top:20px}.investment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.investment-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:24px;padding:27px}.investment-card-head{justify-content:space-between;gap:20px;display:flex}.investment-card-head small{color:var(--muted);font-size:10px}.investment-card-head h2{margin:4px 0 0}.profit{border-radius:10px;align-self:start;padding:7px 10px;font-size:11px;font-weight:800}.profit.positive{color:#087a60;background:#13a07c1a}.profit.negative{color:var(--red);background:#c960551a}.investment-value{margin:30px 0;font:700 34px Iowan Old Style,Songti SC,serif}.investment-value small{color:var(--muted);margin-top:4px;font:400 10px Avenir Next,PingFang SC,sans-serif;display:block}.return-grid{border:1px solid var(--line);background:var(--line);border-radius:13px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.return-grid div{background:var(--paper-deep);padding:13px}.return-grid span,.return-grid strong{display:block}.return-grid span{color:var(--muted);font-size:9px}.return-grid strong{margin-top:4px;font-size:13px}.empty-state{min-height:330px;color:var(--muted);text-align:center;background:#f8faf566;border:1px dashed #11534f40;border-radius:25px;place-items:center;padding:50px;display:grid}.empty-state h2{color:var(--ink);margin:15px 0 8px}.empty-state.narrow{min-height:180px;margin-top:22px}.loading-water{min-height:70vh;color:var(--muted);place-items:center;display:grid}.loading-water span{background:var(--teal-bright);border-radius:52% 48% 48% 52%;width:46px;height:46px;margin-bottom:15px;animation:1.5s ease-in-out infinite droplet}.upload-workbench{grid-template-columns:180px 1fr;gap:22px;margin-bottom:24px;padding:24px;display:grid}.source-tabs{align-content:start;gap:8px;display:grid}.source-tabs button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:12px;padding:13px;font-weight:700}.source-tabs button.active{color:#fff;background:var(--teal-dark)}.drop-zone{background:var(--paper-deep);text-align:center;border:1px dashed #11534f4d;border-radius:18px;place-items:center;padding:34px;display:grid}.drop-zone h2{margin:12px 0 5px}.drop-zone p{color:var(--muted);font-size:11px}.drop-zone input{background:0 0;border:0;width:auto;min-height:auto;margin:8px 0 18px;padding:0}.import-report{color:var(--teal-dark);background:#1aa99a1a;border-radius:14px;grid-column:2;align-items:center;gap:12px;padding:14px;display:flex}.import-report span{place-items:center;display:grid}.import-report strong,.import-report p{margin:0;display:block}.import-report p{color:var(--muted);margin-top:3px;font-size:10px}.search-box{border:1px solid var(--line);background:var(--paper);border-radius:11px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-box input{min-height:38px;box-shadow:none;background:0 0;border:0;padding:0}.transaction-list article{border-bottom:1px solid var(--line);grid-template-columns:70px 1fr 150px 70px;align-items:center;gap:16px;padding:14px 4px;display:grid}.transaction-list time,.transaction-list small{color:var(--muted);font-size:10px}.transaction-list strong,.transaction-list small{display:block}.transaction-list>article>span{text-align:right;font-family:Iowan Old Style,Songti SC,serif;font-weight:700}.transaction-list .expense{color:var(--ink)}.transaction-list .income{color:var(--teal)}.status-dot{text-align:center;border-radius:8px;padding:5px;font-size:9px}.status-dot.confirmed{color:var(--teal);background:#1aa99a17}.status-dot.pending{color:#9b672e;background:#d692551f}.fire-layout{grid-template-columns:1.4fr .8fr;gap:20px;margin-bottom:24px;display:grid}.planner-card{padding:28px}.card-icon{width:43px;height:43px;color:var(--teal);background:var(--paper-deep);border-radius:14px;place-items:center;margin-bottom:25px;display:grid}.planner-card>p{color:var(--muted);font-size:11px}.planner-card>strong{font:700 clamp(27px,3vw,42px) Iowan Old Style,Songti SC,serif;display:block}.progress-track{background:var(--paper-deep);border-radius:20px;height:10px;margin:25px 0 9px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,var(--teal-dark),var(--teal-bright));height:100%;display:block}.planner-card>small{color:var(--muted)}.inline-settings{border-top:1px solid var(--line);grid-template-columns:1fr .7fr auto;align-items:end;gap:12px;margin-top:28px;padding-top:22px;display:grid}.inline-settings i,.scenario-cards i{color:var(--muted);font-style:normal;position:absolute;bottom:13px;right:11px}.reference-stack{gap:20px;display:grid}.reference-stack .planner-card>strong{font-size:25px}.scenario-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.scenario-cards form{border:1px solid var(--line);background:var(--paper-deep);border-radius:17px;padding:20px}.scenario-title{align-items:center;gap:10px;margin-bottom:18px;display:flex}.scenario-title>span{width:38px;height:38px;color:var(--teal);background:var(--paper);border-radius:12px;place-items:center;display:grid}.scenario-title svg{width:18px}.scenario-title h3{margin:0}.scenario-title strong{color:var(--teal);font-size:11px}.scenario-cards label{margin-bottom:12px}.scenario-cards button{width:100%;margin-top:5px}.calculation-note{color:var(--muted);margin:20px 0 0;font-size:10px}.milestone-line{align-items:center;gap:20px;margin-top:24px;padding:22px 27px;display:flex}.milestone-line .eyebrow{margin:0 auto 0 0}.milestone-line span{text-align:center}.milestone-line strong,.milestone-line small{display:block}.milestone-line strong{font-family:Iowan Old Style,Songti SC,serif}.milestone-line small{color:var(--muted);font-size:9px}.settings-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.settings-grid .planner-card p{line-height:1.8}.theme-samples{gap:10px;margin-top:20px;display:flex}.theme-samples span{border:1px solid var(--line);border-radius:11px;align-items:center;gap:7px;padding:10px 13px;font-size:11px;display:flex}.theme-samples svg{width:15px}.settings-tabs{border:1px solid var(--line);background:var(--paper);border-radius:16px;gap:8px;margin-bottom:20px;padding:6px;display:flex}.settings-tabs button{color:var(--muted);background:0 0;border:0;border-radius:11px;align-items:center;gap:7px;padding:10px 15px;font-weight:700;display:flex}.settings-tabs svg{width:16px}.settings-tabs button.active{color:#fff;background:var(--teal-dark)}.settings-split{grid-template-columns:1.2fr .8fr;gap:20px;display:grid}.rule-list,.event-list{display:grid}.rule-list article,.event-list article{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:14px 4px;display:flex}.rule-list article:last-child,.event-list article:last-child{border:0}.rule-list article>div,.event-list article>div{flex:1;min-width:0}.rule-list strong,.rule-list small,.event-list strong,.event-list small{display:block}.rule-list small,.event-list small{color:var(--muted);margin-top:4px;font-size:10px}.rule-priority{width:34px;height:34px;color:var(--teal);background:var(--paper-deep);border-radius:10px;place-items:center;font-size:11px;font-weight:800;display:grid}.event-action{text-align:center;border-radius:8px;min-width:76px;padding:6px 8px;font-size:9px;font-weight:800}.event-action.create,.event-action.restore{color:var(--teal);background:#1aa99a1a}.event-action.update{color:#376f9c;background:#376f9c1a}.event-action.delete{color:var(--red);background:#c960551a}.export-actions{flex-wrap:wrap;gap:9px;display:flex}.investment-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.investment-actions .secondary-button{margin:0}.investment-entry-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.file-button{cursor:pointer}.file-button.disabled{cursor:wait;opacity:.65}.file-button input{display:none}.investment-upload-error{background:#c9605514;border-radius:10px;margin-top:10px;padding:10px 12px;line-height:1.5}.page-error{background:#c9605514;border-radius:12px;margin-bottom:15px;padding:12px 15px}.position-entry-dialog,.ocr-holdings-dialog,.position-review-dialog{width:min(960px,100%)}.position-review-heading{justify-content:space-between;align-items:center;gap:22px;padding-right:48px;display:flex}.position-review-heading h2{margin-bottom:7px}.checkpoint-seal{width:72px;height:72px;color:var(--teal);background:radial-gradient(circle,#1aa99a1a,#0000 68%);border:1px solid #0d776f33;border-radius:50%;flex:none;place-items:center;font:700 23px Iowan Old Style,Songti SC,serif;display:grid}.checkpoint-seal small{color:var(--muted);letter-spacing:.08em;font:700 8px Avenir Next,PingFang SC,sans-serif;display:block}.baseline-note{border-left:3px solid var(--sand);color:#8b5b2d;background:#d692551a;border-radius:0 12px 12px 0;margin:20px 0;padding:13px 15px;font-size:11px;line-height:1.7}.position-diff-list{gap:8px;margin:22px 0;display:grid}.position-diff-list article{border:1px solid var(--line);background:var(--paper-deep);border-radius:15px;grid-template-columns:minmax(210px,1fr) minmax(280px,1.2fr);align-items:center;gap:20px;padding:15px 17px;display:grid}.position-name{align-items:center;gap:11px;min-width:0;display:flex}.position-name>div{min-width:0}.position-name strong,.position-name small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.position-name small{color:var(--muted);margin-top:3px;font-size:9px}.change-chip{text-align:center;border-radius:8px;flex:none;min-width:40px;padding:5px 7px;font-size:9px;font-weight:800}.change-chip.added,.change-chip.increased{color:#087a60;background:#13a07c1c}.change-chip.removed,.change-chip.decreased{color:var(--red);background:#c960551a}.change-chip.unchanged{color:var(--muted);background:#6f85801a}.position-delta{grid-template-columns:1fr 1fr;gap:12px;display:grid}.position-delta span{color:var(--muted);font-size:9px}.position-delta strong{color:var(--ink);margin-top:4px;font-size:12px;display:block}.position-delta strong.positive{color:var(--teal)}.position-delta strong.negative{color:var(--red)}.external-flow-panel{background:linear-gradient(145deg,#0d776f12,#f8faf559);border:1px solid #0d776f2e;border-radius:20px;margin-top:24px;padding:22px}.external-flow-title h3{margin:3px 0 6px;font-size:20px}.external-flow-title>p:last-child{color:var(--muted);margin-bottom:0;font-size:10px}.flow-decision-strip{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.flow-decision-strip button{color:var(--ink);border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:14px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:14px;display:grid}.flow-decision-strip button svg{width:20px;color:var(--teal);grid-row:1/3}.flow-decision-strip button strong{font-size:12px}.flow-decision-strip button small{color:var(--muted);font-size:8px}.flow-decision-strip button.active{border-color:var(--teal-bright);background:color-mix(in srgb,var(--paper) 88%,#1aa99a1f);box-shadow:0 0 0 3px #1aa99a1a}.net-flow-fields{background:var(--paper);border-radius:14px;grid-template-columns:1fr 1fr;gap:12px;padding:15px;display:grid}.net-flow-fields label{color:var(--muted);gap:6px;font-size:10px;font-weight:700;display:grid}.net-flow-fields p{color:var(--muted);grid-column:1/-1;margin:0;font-size:9px}.ocr-summary-grid{grid-template-columns:1fr 1fr 1.1fr;gap:12px;display:grid}.ocr-total-check{border:1px solid var(--line);background:var(--paper-deep);border-radius:13px;align-content:center;padding:12px 14px;display:grid}.ocr-total-check span,.ocr-total-check small{color:var(--muted);font-size:9px}.ocr-total-check strong{margin:5px 0;font:700 18px Iowan Old Style,Songti SC,serif}.ocr-total-check small{align-items:center;gap:5px;display:flex}.ocr-total-check.warning{background:#d6925517;border-color:#d6925557}.ocr-total-check.warning small{color:#9a622c}.ocr-total-check.matched small{color:var(--teal)}.ocr-position-stack,.correction-position-stack{gap:12px;display:grid}.ocr-position-card,.correction-position-stack fieldset,.new-instrument-fieldset{border:1px solid var(--line);background:var(--paper-deep);border-radius:16px;min-width:0;margin:0;padding:16px}.ocr-position-card legend,.correction-position-stack legend,.new-instrument-fieldset legend{color:var(--ink);padding:0 8px;font:700 14px Iowan Old Style,Songti SC,serif}.correction-position-stack legend small{color:var(--muted);margin-left:8px;font:600 8px Avenir Next,PingFang SC,sans-serif}.confidence-warning{color:#9a622c;background:#d6925524;border-radius:7px;margin-left:8px;padding:3px 6px;font:700 8px Avenir Next,PingFang SC,sans-serif}.danger-text{color:var(--red)}.trade-strip{grid-template-columns:1.4fr .7fr 1fr;gap:12px;display:grid}.trade-ledger-grid{grid-template-columns:repeat(3,1fr) auto repeat(4,1fr);align-items:end;gap:10px;display:grid}.trade-arrow{color:var(--teal);align-self:center;place-items:center;display:grid}.trade-arrow svg{width:19px}.trade-arrow small{color:var(--muted);white-space:nowrap;font-size:7px}.holdings-toggle{margin-top:13px}.current-holdings-panel{border-top:1px solid var(--line);margin-top:14px;padding-top:18px}.current-holdings-panel .section-title{align-items:flex-start;margin-bottom:13px}.current-holdings-panel .section-title h2{font-size:20px}.current-holdings-panel .section-title>span{padding-top:4px;font-size:9px}.current-holdings-list{gap:10px;display:grid}.current-holding-card{border:1px solid var(--line);background:var(--paper-deep);border-radius:15px;padding:15px}.current-holding-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.current-holding-heading h3{margin:0;font-size:16px}.current-holding-heading p{color:var(--muted);margin:4px 0 0;font-size:9px}.current-holding-heading>span{color:var(--muted);flex:none;font-size:9px}.holding-quote-detail{border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.holding-quote-title{align-items:center;gap:8px;display:flex}.holding-quote-title strong{font-size:11px}.holding-quote-title span{color:#9a622c;background:#d6925521;border-radius:7px;padding:3px 6px;font-size:8px;font-weight:800}.holding-quote-price{margin:6px 0 7px;font:700 23px Iowan Old Style,Songti SC,serif}.holding-quote-detail>p:not(.holding-quote-price){color:var(--muted);margin:3px 0;font-size:8px}.holding-reference-values{background:var(--paper);border-radius:11px;gap:3px;margin-top:11px;padding:10px 11px;display:grid}.holding-reference-values strong{font-size:11px}.holding-reference-values span,.holding-quote-detail>small{color:var(--muted);font-size:8px}.holding-quote-detail>small{margin-top:8px;line-height:1.5;display:block}.holding-quote-fallback{background:var(--paper);border-radius:12px;margin-top:13px;padding:12px}.holding-quote-fallback>p:not(.form-error){color:var(--muted);margin:5px 0 10px;font-size:9px}.manual-quote-form{grid-template-columns:1fr 1fr;gap:9px;display:grid}.manual-quote-form label{color:var(--muted);gap:5px;font-size:9px;font-weight:700;display:grid}.manual-quote-form button,.manual-quote-form .form-error{grid-column:1/-1}.current-holdings-empty{border:1px dashed var(--line);background:var(--paper-deep);border-radius:13px;padding:16px}.current-holdings-empty strong{font-size:11px}.current-holdings-empty p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.6}.notification-center{position:relative}.notification-badge{border:2px solid var(--paper);color:#fff;background:var(--red);border-radius:10px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:8px;font-weight:800;display:grid;position:absolute;top:-5px;right:-5px}.notification-popover{z-index:80;border:1px solid var(--line);background:var(--paper);width:330px;box-shadow:var(--shadow);border-radius:18px;position:absolute;bottom:48px;left:0;overflow:hidden}.notification-popover>div:first-child{border-bottom:1px solid var(--line);justify-content:space-between;padding:15px 17px;display:flex}.notification-popover small{color:var(--muted);font-size:9px}.notification-items{max-height:380px;overflow:auto}.notification-items>button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);text-align:left;gap:10px;padding:14px 16px;display:flex}.notification-items>button.read{opacity:.62}.notification-items>button>span{width:25px;height:25px;color:var(--teal);background:var(--paper-deep);border-radius:8px;flex:none;place-items:center;display:grid}.notification-items strong,.notification-items p,.notification-items small{margin:0;display:block}.notification-items p{color:var(--muted);margin:4px 0;font-size:10px;line-height:1.5}.notification-empty{color:var(--muted);text-align:center;padding:28px;font-size:11px}.mobile-tools{gap:7px;display:flex}.mobile-header .notification-popover{width:min(330px,100vw - 20px);position:fixed;inset:56px 10px auto auto}.anomaly-panel{background:linear-gradient(135deg,#d692551a,var(--paper));box-shadow:var(--shadow);border:1px solid #d692553d;border-radius:24px;margin-bottom:24px;padding:24px}.anomaly-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.anomaly-grid article{background:var(--paper);border-radius:14px;gap:10px;padding:14px;display:flex}.anomaly-grid svg{width:18px;color:var(--sand);flex:none}.anomaly-grid strong,.anomaly-grid small{display:block}.anomaly-grid small{color:var(--muted);margin-top:4px;font-size:10px}.anomaly-panel details{margin-top:15px}.anomaly-panel summary{cursor:pointer;color:var(--muted);font-size:11px}.anomaly-panel details form{grid-template-columns:repeat(3,1fr) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.anomaly-panel details label{color:var(--muted);gap:5px;font-size:10px;display:grid;position:relative}.anomaly-panel details i{font-style:normal;position:absolute;bottom:13px;right:10px}.comparison-panel{margin-bottom:24px}.comparison-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.comparison-card{background:var(--paper-deep);border-radius:16px;padding:18px}.comparison-card span,.comparison-card small{color:var(--muted);font-size:10px;display:block}.comparison-card strong{margin:8px 0;font:700 23px Iowan Old Style,Songti SC,serif;display:block}.comparison-card small{align-items:center;gap:4px;display:flex}.comparison-card small svg{width:14px}.comparison-card small.up{color:var(--red)}.comparison-card small.down{color:var(--teal)}.category-change-list{border:1px solid var(--line);background:var(--line);border-radius:13px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:15px;display:grid;overflow:hidden}.category-change-list div{background:var(--paper);padding:13px}.category-change-list span,.category-change-list strong,.category-change-list small{display:block}.category-change-list span,.category-change-list small{color:var(--muted);font-size:9px}.category-change-list strong{margin:5px 0}.insufficient{color:var(--muted);margin:15px 0 0;font-size:11px}.monthly-summary{background:linear-gradient(145deg,#2d7ea214,var(--paper));box-shadow:var(--shadow);border:1px solid #2d7ea233;border-radius:25px;margin-bottom:24px;padding:26px}.monthly-summary-head{justify-content:space-between;align-items:start;gap:20px;display:flex}.monthly-summary-head h2{margin-bottom:7px}.monthly-summary-head p:not(.eyebrow){color:var(--muted);font-size:11px}.monthly-facts{border:1px solid var(--line);background:var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);gap:1px;margin:20px 0;display:grid;overflow:hidden}.monthly-facts span{color:var(--muted);background:var(--paper);padding:13px;font-size:9px}.monthly-facts strong{color:var(--ink);margin-top:5px;font-family:Iowan Old Style,Songti SC,serif;font-size:17px;display:block}.summary-sections{gap:10px;display:grid}.summary-sections article{background:var(--paper);border-radius:15px;gap:12px;padding:15px;display:flex}.summary-sections svg{width:17px;color:var(--blue);flex:none}.summary-sections h3{margin-bottom:5px;font-size:15px}.summary-sections p{color:var(--ink);margin-bottom:6px;font-size:12px;line-height:1.7}.summary-sections small{color:var(--muted);font-size:9px}.summary-placeholder{border:1px dashed var(--line);color:var(--muted);border-radius:15px;align-items:center;gap:10px;padding:20px;font-size:11px;display:flex}.summary-placeholder p{margin:0}.pending-review{margin-bottom:24px}.pending-list{gap:12px;display:grid}.pending-list form{border:1px solid var(--line);background:var(--paper-deep);border-radius:16px;padding:16px}.pending-summary{grid-template-columns:1fr auto;gap:5px;margin-bottom:12px;display:grid}.pending-summary span{font-family:Iowan Old Style,Songti SC,serif;font-weight:700}.pending-summary small{color:var(--muted);grid-column:1/-1}.pending-fields{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.pending-fields label{color:var(--muted);gap:5px;font-size:9px;display:grid}.pending-options{align-items:center;gap:15px;margin-top:12px;display:flex}.pending-options label{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.pending-options input{width:15px;min-height:15px}.pending-options button{margin-left:auto}.matching-review{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:24px;margin-bottom:24px;padding:24px}.matching-review>article{border-top:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.matching-review>article>svg{width:18px;color:var(--teal)}.matching-review>article>div{flex:1}.matching-review strong,.matching-review small{display:block}.matching-review small{color:var(--muted);margin-top:4px;font-size:10px}.pending-group{gap:14px;display:grid}.pending-group-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.pending-group-head h3{margin:7px 0 3px;font-size:17px}.pending-group-head p,.confidence-line{color:var(--muted);margin:0;font-size:10px}.pending-group-head>strong{text-align:right;color:var(--ink);font-size:12px}.risk-badge{background:var(--paper);color:var(--muted);border-radius:999px;padding:4px 8px;font-size:9px;font-weight:700;display:inline-flex}.risk-badge.personal_transfer,.risk-badge.money_flow{color:#a84f24;background:#fff1e8}.risk-badge.low_confidence{color:#8a6b05;background:#fff8d9}.pending-descriptions{flex-wrap:wrap;gap:6px;display:flex}.pending-descriptions span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 8px;font-size:9px}.personal-transfer-warning{color:#a84f24;background:#fff1e8;border-radius:10px;margin:0;padding:9px 11px;font-size:11px;font-weight:700}.pending-group-items{border-top:1px solid var(--line);padding-top:10px}.pending-group-items summary{cursor:pointer;color:var(--teal);font-size:10px}.pending-group-items>div{color:var(--muted);grid-template-columns:90px 1fr auto;gap:10px;padding:7px 0;font-size:10px;display:grid}.pending-group-items strong{color:var(--ink)}.reclassification-panel{border:1px solid var(--line);background:linear-gradient(135deg,var(--paper),var(--paper-deep));box-shadow:var(--shadow);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;padding:22px 24px;display:flex}.reclassification-copy{max-width:560px}.reclassification-copy h2{margin:3px 0 6px}.reclassification-copy>p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.run-progress,.run-error{gap:7px;min-width:240px;display:grid}.run-progress progress{width:100%;accent-color:var(--teal)}.run-progress small,.run-error span{color:var(--muted);font-size:9px}.run-complete{align-items:center;gap:18px;display:flex}.run-complete>div{gap:3px;display:grid}.run-complete span{color:var(--muted);font-size:10px}.run-actions{gap:8px;display:grid}.run-undone{color:var(--teal);margin:0;font-size:11px;font-weight:700}.asset-header-actions{align-items:end;gap:10px;display:flex}.asset-header-actions label{color:var(--muted);gap:5px;font-size:9px;display:grid}.asset-header-actions input{min-width:150px}.account-actions{gap:6px;display:flex}.archive-action{color:var(--muted)}.property-linker{border:1px solid var(--line);background:var(--paper);border-radius:18px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:18px 22px;display:flex}.property-linker>div{align-items:center;gap:10px;display:flex}.property-linker svg{color:var(--teal)}.property-linker p{margin:0}.property-linker strong,.property-linker small{display:block}.property-linker small{color:var(--muted);margin-top:4px;font-size:9px}.property-linker form{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.property-linker select{min-width:130px}.asset-history-panel{border:1px solid var(--line);background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper-deep) 58%,var(--paper)));box-shadow:var(--shadow);border-radius:24px;margin-bottom:24px;padding:26px 28px 22px;position:relative;overflow:hidden}.asset-history-panel:before{content:"";background:linear-gradient(90deg,var(--blue),var(--teal-bright),var(--sand));opacity:.78;height:3px;position:absolute;top:0;left:0;right:0}.asset-history-head{justify-content:space-between;align-items:flex-start;gap:30px;display:flex}.asset-history-head h2{margin:3px 0 7px;font-size:25px}.asset-history-head>div>p:last-child{max-width:620px;color:var(--muted);margin:0;font-size:11px;line-height:1.7}.asset-history-latest{background:color-mix(in srgb,var(--paper-deep) 72%,transparent);border:1px solid #0d776f21;border-radius:15px;flex:none;align-items:center;gap:11px;min-width:230px;padding:13px 15px;display:flex}.asset-history-latest>svg{width:19px;color:var(--teal)}.asset-history-latest p{margin:0}.asset-history-latest span,.asset-history-latest strong,.asset-history-latest small{display:block}.asset-history-latest span,.asset-history-latest small{color:var(--muted);font-size:9px}.asset-history-latest strong{margin:4px 0 2px;font:700 20px Iowan Old Style,Songti SC,serif}.asset-history-legend{flex-wrap:wrap;gap:19px;margin:22px 0 6px;padding:0;list-style:none;display:flex}.asset-history-legend li{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.asset-history-legend i,.asset-history-tooltip i{border-radius:50%;width:8px;height:8px;display:block}.asset-history-scroll{scrollbar-color:color-mix(in srgb,var(--teal) 32%,transparent) transparent;scrollbar-width:thin;outline:none;overflow-x:auto}.asset-history-scroll:focus-visible{border-radius:12px;box-shadow:0 0 0 3px #1aa99a24}.asset-history-canvas{width:100%;min-width:680px;height:320px}.asset-history-tooltip{border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;min-width:205px;padding:13px 15px;box-shadow:0 16px 45px #14403c2e}.asset-history-tooltip time{border-bottom:1px solid var(--line);color:var(--muted);margin-bottom:9px;padding-bottom:7px;font-size:9px;font-weight:700;display:block}.asset-history-tooltip p{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:7px 0;font-size:10px;display:grid}.asset-history-tooltip strong{font-family:Iowan Old Style,Songti SC,serif;font-size:12px}.asset-history-empty,.asset-history-state{background:color-mix(in srgb,var(--paper-deep) 55%,transparent);border:1px dashed #11534f38;border-radius:17px;align-items:center;gap:14px;min-height:150px;margin-top:20px;padding:22px;display:flex}.asset-history-empty>svg{width:28px;color:var(--teal);flex:none}.asset-history-empty strong{font-family:Iowan Old Style,Songti SC,serif;font-size:17px}.asset-history-empty p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.6}.asset-history-state{color:var(--muted);justify-content:center;font-size:11px}.asset-history-state.error{color:var(--red);background:#c960550f;border-color:#c9605540}.asset-history-footnote{color:var(--muted);text-align:right;margin:4px 0 0;font-size:8px}@keyframes wave{50%{transform:translate(20px)translateY(3px)rotate(1deg)}}@keyframes flow{50%{opacity:.78;transform:scaleY(.83)}}@keyframes droplet{50%{border-radius:50% 50% 60% 40%;transform:translateY(8px)scale(.86)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1080px){.sidebar{width:220px}.page-frame{padding-left:250px}.content-page{padding:36px 28px 70px}.dashboard-grid{grid-template-columns:1fr}.reservoir-stage{height:330px}.scenario-strip{grid-template-columns:1fr repeat(3,1fr)}.scenario-strip>div{border-bottom:1px solid var(--line);grid-column:1/-1}.fire-layout{grid-template-columns:1fr}.reference-stack{grid-template-columns:1fr 1fr}.home-asset-hero{grid-template-columns:1fr}.home-hero-main{min-height:440px}.home-hero-side{border-top:1px solid var(--line)}}@media (width<=760px){body{background:var(--paper-deep)}.sidebar{display:none}.page-frame{padding:60px 0 calc(92px + env(safe-area-inset-bottom))}.mobile-header{z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);justify-content:space-between;align-items:center;height:60px;padding:0 18px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-header strong{font-family:Iowan Old Style,Songti SC,serif}.mobile-nav{z-index:30;right:10px;bottom:max(10px,env(safe-area-inset-bottom));border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 94%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;grid-template-columns:repeat(4,1fr);padding:7px;display:grid;position:fixed;left:10px}.mobile-nav a{min-width:0;color:var(--muted);text-align:center;place-items:center;gap:3px;padding:7px 2px;font-size:10px;display:grid}.mobile-nav a span{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.mobile-nav a.active{color:var(--teal)}.content-page{min-height:calc(100vh - 60px);padding:24px 15px 30px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:22px}.page-header h1{font-size:31px}.page-header .primary-button,.page-header .secondary-button{width:100%}.dashboard-grid{flex-direction:column;display:flex}.reservoir-panel{order:-1;padding:20px 15px}.reservoir-stage{width:100%;height:300px}.pipe{transform:scale(.8)}.metric-board{grid-template-columns:1fr}.hero-metric,.target-note{grid-column:auto}.scenario-strip{grid-template-columns:1fr}.scenario-strip article{border-left:0;border-top:1px solid var(--line)}.summary-ribbon{grid-template-columns:1fr}.summary-ribbon article{border-right:0;border-bottom:1px solid var(--line)}.table-row{grid-template-columns:1.4fr 1fr}.table-head span:nth-child(3),.table-head span:nth-child(4){display:none}.table-row .money-cell{text-align:right}.table-row>span:last-child{grid-column:1/-1}.account-table{overflow:visible}.form-grid{grid-template-columns:1fr}.dialog-card{padding:28px 20px}.decision-grid{grid-template-columns:1fr}.decision-grid button{min-height:170px}.flow-row{grid-template-columns:1fr 1fr}.remove-flow{align-self:end}.investment-grid{grid-template-columns:1fr}.return-grid{grid-template-columns:1fr 1fr}.investment-entry-actions,.ocr-summary-grid,.trade-strip,.trade-ledger-grid,.position-diff-list article,.position-delta,.flow-decision-strip,.net-flow-fields,.manual-quote-form{grid-template-columns:1fr}.position-review-heading{align-items:flex-start}.checkpoint-seal{width:62px;height:62px}.position-diff-list article{gap:12px}.flow-decision-strip button{min-height:64px}.net-flow-fields p,.manual-quote-form button,.manual-quote-form .form-error{grid-column:auto}.trade-arrow{transform:rotate(90deg)}.ocr-position-card,.correction-position-stack fieldset{padding:14px 12px}.dialog-actions{flex-direction:column-reverse;align-items:stretch}.dialog-actions button{width:100%}.upload-workbench{grid-template-columns:1fr}.source-tabs{grid-template-columns:1fr 1fr}.import-report{grid-column:1}.section-title{flex-direction:column;align-items:flex-start}.search-box{width:100%}.transaction-list article{grid-template-columns:55px 1fr auto}.transaction-list .status-dot{display:none}.fire-layout,.reference-stack,.inline-settings,.scenario-cards{grid-template-columns:1fr}.milestone-line{overflow-x:auto}.settings-grid,.settings-split{grid-template-columns:1fr}.settings-tabs{overflow-x:auto}.settings-tabs button{white-space:nowrap}.login-card{padding:32px 24px}.login-card h1{font-size:30px}.home-page-header{gap:16px}.home-page-header .secondary-button{display:none}.home-asset-hero{border-radius:24px}.home-hero-main{min-height:420px;padding:25px 19px}.home-primary-number{gap:13px}.home-icon-seal{border-radius:14px;width:42px;height:42px}.home-primary-number>div>strong{font-size:clamp(34px,10.5vw,45px)}.home-balance-facts{gap:8px 14px;margin-top:16px}.home-balance-facts span{font-size:10px}.home-balance-facts b{font-size:12px}.home-goal-block{margin-top:38px;padding:20px 18px}.home-goal-heading{align-items:flex-start}.home-goal-heading strong{font-size:15px}.home-goal-heading span{font-size:13px}.home-goal-foot{flex-direction:column;align-items:flex-start;gap:8px}.home-hero-side{gap:18px;padding:20px 16px 22px}.home-secondary-metrics{gap:9px}.home-secondary-metrics article{padding:15px 12px}.home-secondary-metrics article>span{margin-bottom:14px}.home-secondary-metrics strong{font-size:17px}.home-update-actions>a{min-height:72px}.home-planning-panel{padding:22px 16px}.home-planning-panel>header{flex-direction:column;align-items:flex-start}.home-scenario-grid{grid-template-columns:1fr}.home-planning-note{text-align:left}.anomaly-grid,.anomaly-panel details form,.comparison-grid,.monthly-facts,.pending-fields,.property-linker form{grid-template-columns:1fr}.category-change-list{grid-template-columns:1fr 1fr}.monthly-summary-head,.property-linker,.pending-group-head,.reclassification-panel,.run-complete{flex-direction:column;align-items:stretch}.pending-group-head>strong{text-align:left}.monthly-summary-head .secondary-button,.reclassification-panel>.secondary-button,.run-actions>.secondary-button{width:100%}.run-progress,.run-error{min-width:0}.pending-options{flex-direction:column;align-items:flex-start}.pending-options button{width:100%;margin-left:0}.pending-group-items>div{grid-template-columns:1fr auto}.pending-group-items time{grid-column:1/-1}.matching-review>article{flex-wrap:wrap;align-items:flex-start}.matching-review>article button{width:100%}.asset-header-actions{flex-direction:column;align-items:stretch;width:100%}.asset-header-actions input{min-width:0}.account-actions{flex-wrap:wrap}.asset-history-panel{padding:22px 16px 18px}.asset-history-head{flex-direction:column;align-items:stretch;gap:16px}.asset-history-latest{width:100%;min-width:0}.asset-history-legend{gap:10px 16px;margin-top:18px}.asset-history-canvas{min-width:650px;height:290px}.asset-history-footnote{text-align:left}}:root{--green-700:#1e7a46;--green-500:#4a9d6e;--green-300:#a8d5bc;--cash:#f0e8d0;--orange:#c97b1f;--ring-track:#e4ded2}.capital-page,.risk-page,.review-page{gap:14px;max-width:560px;margin:0 auto;padding:20px 16px 40px;display:grid}.capital-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.capital-header h1{color:var(--green-700);margin:0;font-size:24px;font-weight:800}.capital-header p{color:#666;margin:2px 0 0;font-size:12px}.capital-header-meta{color:#999;align-items:center;gap:10px;font-size:11px;display:flex}.est-badge{color:var(--orange);align-items:center;gap:5px;font-size:11px;font-weight:700;display:inline-flex}.est-badge .dot{background:var(--orange);border-radius:50%;width:7px;height:7px}.capital-card{background:#fff;border:1px solid #eaeaea;border-radius:8px;padding:16px}.capital-card h2{color:var(--green-700);margin:0;font-size:14px;font-weight:800}.card-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.card-title-row svg{color:#bbb;width:14px;height:14px}.net-worth-card{position:relative}.net-worth-main{min-width:0}.net-worth-ref{text-align:right;position:absolute;top:22px;right:22px}.net-worth-label{color:var(--text-tertiary);align-items:center;gap:5px;font-size:11px;font-weight:500;display:flex}.net-worth-label svg{color:#bbb;width:12px;height:12px}.net-worth-value{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:8px;font-size:44px;font-weight:700}.ref-value{color:var(--orange);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:6px;font-size:20px;font-weight:800}.ref-note{color:var(--orange);font-size:11px}.metrics-row{padding:12px 16px;display:flex}.metrics-row .metric{text-align:right;flex:1}.metrics-row .metric+.metric{border-left:1px solid #f0f0f0;padding-left:12px}.metrics-row .metric span{text-align:left;color:#666;margin-bottom:4px;font-size:10px;display:block}.metrics-row .metric strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.chart-card .recharts-wrapper{margin-top:8px}.capital-chart-loading{background:linear-gradient(100deg,var(--surface-alt) 30%,color-mix(in srgb,var(--accent) 8%,var(--surface)) 50%,var(--surface-alt) 70%);background-size:240% 100%;border-radius:12px;min-height:290px;animation:1.6s ease-in-out infinite capital-chart-shimmer}@keyframes capital-chart-shimmer{to{background-position-x:-240%}}.stats-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stats-row .stat span{color:#666;margin-bottom:3px;font-size:10px;display:block}.stats-row .stat strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;display:block}.stats-row .stat em{color:#999;font-size:10px;font-style:normal}.three-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.three-columns .col{min-width:0}.fire-progress{text-align:center}.ring-wrap{width:96px;height:96px;margin:10px auto;position:relative}.fire-ring{width:96px;height:96px}.ring-center{place-items:center;display:grid;position:absolute;inset:0}.ring-center strong{color:var(--green-700);font-size:17px;font-weight:800}.fire-gap{color:#666;margin:6px 0 0;font-size:10px}.fire-year{color:#999;margin:2px 0 0;font-size:10px}.growth-line{border-bottom:1px solid #f5f5f5;justify-content:space-between;align-items:baseline;padding:6px 0;font-size:11px;display:flex}.growth-line span{color:#666}.growth-line strong{font-variant-numeric:tabular-nums;font-weight:800}.growth-line.total{border-bottom:0}.growth-line .positive{color:var(--green-700)}.cash-reserve{color:#999;text-align:center;margin:8px 0 0;font-size:10px}.allocation-bar{border-radius:5px;height:10px;margin-bottom:14px;display:flex;overflow:hidden}.allocation-bar i{display:block}.allocation-legend{gap:8px;margin:0;padding:0;list-style:none;display:grid}.allocation-legend li{color:#444;align-items:center;gap:8px;font-size:11px;display:flex}.allocation-legend .swatch{border-radius:3px;width:10px;height:10px}.allocation-legend b{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:800}.allocation-legend span{text-align:right;color:#999;font-variant-numeric:tabular-nums;width:64px}.primary-action{background:var(--green-700);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:16px;font-weight:700;display:inline-flex}.privacy-note{text-align:center;color:#999;margin:4px 0 0;font-size:10px}.page-header h1{color:var(--green-700);margin:0;font-size:22px;font-weight:800}.page-header p{color:#666;margin:2px 0 0;font-size:12px}.risk-note{color:#666;margin:0 0 10px;font-size:12px;line-height:1.6}.risk-row{border-bottom:1px solid #f5f5f5;padding:10px 0}.risk-row-head{justify-content:space-between;align-items:center;font-size:12px;display:flex}.risk-row-head span{color:#666;font-variant-numeric:tabular-nums}.risk-flag{align-items:center;gap:4px;font-weight:800;display:inline-flex;color:var(--orange)!important}.risk-bar{background:#f0f0f0;border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.risk-bar i{background:var(--green-700);border-radius:3px;height:100%;display:block}.risk-warning{color:var(--orange);margin:6px 0 0;font-size:11px}.tickflow-readonly-card{background:linear-gradient(145deg,var(--surface),var(--surface-alt));justify-content:space-between;align-items:center;gap:18px;display:flex}.tickflow-readonly-card h2{color:var(--text);margin:5px 0 4px;font-size:16px}.tickflow-readonly-card p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.5}.tickflow-kicker{color:var(--accent);letter-spacing:.12em;font-size:8px;font-weight:800}.tickflow-readonly-card a{border:1px solid var(--border);color:var(--accent);background:var(--surface);border-radius:9px;flex:none;align-items:center;gap:6px;padding:9px 11px;font-size:10px;font-weight:800;display:inline-flex}.tickflow-readonly-card a svg{width:13px;height:13px}.instrument-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.instrument-list li{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.instrument-list .muted{color:#999;font-size:11px}.instrument-flags{gap:6px;display:flex}.instrument-flags em{color:var(--orange);background:#f57c001a;border-radius:99px;padding:2px 8px;font-size:10px;font-style:normal}.muted{color:#999}.review-metrics{gap:10px;margin:0;padding:0;list-style:none;display:grid}.review-metrics li{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.review-metrics span{color:#666}.review-metrics strong{font-variant-numeric:tabular-nums;font-weight:800}.review-notes{gap:8px;margin:0;padding:0;list-style:none;display:grid}.review-notes li{color:#555;font-size:12px;line-height:1.6}.review-narrative{color:#444;margin:0;font-size:13px;line-height:1.8}@media (width<=600px){.three-columns{grid-template-columns:1fr}.stats-row{grid-template-columns:1fr 1fr}}.review-page.review-experience{gap:26px;width:min(1180px,100%);max-width:none;padding:38px 28px 64px;font-family:Cabinet Grotesk,Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}.review-experience,.review-experience *{box-sizing:border-box}.review-cinematic-header{border:1px solid color-mix(in srgb, var(--accent) 24%, var(--border));background:radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 55%), linear-gradient(150deg, var(--surface), var(--surface-alt));min-height:250px;box-shadow:0 24px 70px color-mix(in srgb, var(--text) 7%, transparent);text-align:center;border-radius:28px;justify-items:center;padding:42px clamp(20px,6vw,78px);display:grid;position:relative;overflow:hidden}.review-cinematic-header:after{border:1px solid color-mix(in srgb, var(--accent) 18%, transparent);content:"";filter:blur(.2px);border-radius:50%;height:70px;position:absolute;bottom:-36px;left:10%;right:10%}.review-cinematic-header .eyebrow{z-index:1;color:var(--accent);letter-spacing:.24em;align-self:end;margin:0 0 12px;font-size:10px;font-weight:800;position:relative}.review-cinematic-header h1{z-index:1;max-width:720px;color:var(--text);letter-spacing:-.045em;margin:0;font-family:inherit;font-size:clamp(38px,6vw,68px);font-weight:800;line-height:1.04;position:relative}.review-cinematic-header>p:not(.eyebrow){z-index:1;max-width:610px;color:var(--text-secondary);margin:18px 0 24px;font-size:14px;line-height:1.8;position:relative}.review-motion-toggle{z-index:1;border:1px solid var(--border);min-height:36px;color:var(--text-secondary);background:color-mix(in srgb, var(--surface) 82%, transparent);font:inherit;border-radius:10px;align-items:center;gap:7px;padding:8px 13px;font-size:11px;font-weight:700;display:inline-flex;position:relative}.review-motion-toggle svg{width:14px;height:14px}.review-dense-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:18px;display:grid}.review-grid-full{grid-column:1/-1;min-width:0}.review-grid-calendar{grid-column:1/span 5;min-width:0}.review-grid-chart{grid-column:6/-1;min-width:0}.review-grid-calibration{grid-column:1/span 4;min-width:0}.review-grid-journal{grid-column:5/-1;min-width:0}.review-stack-card{border:1px solid var(--border);background:var(--surface);min-width:0;height:100%;box-shadow:0 12px 36px color-mix(in srgb, var(--text) 5%, transparent);border-radius:22px;overflow:hidden}.review-card-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.review-card-heading>div>span{color:var(--accent);letter-spacing:.08em;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.review-card-heading>div>span svg{width:14px;height:14px}.review-card-heading h2{color:var(--text);margin:7px 0 0;font-family:inherit;font-size:20px;line-height:1.25}.review-card-heading>small{max-width:250px;color:var(--text-tertiary);text-align:right;font-size:9px;line-height:1.55}.review-performance-hero{padding:22px}.review-filter-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:18px;padding-bottom:20px;display:flex}.review-filter-bar label{color:var(--text-tertiary);letter-spacing:.06em;flex:0 0 min(260px,38%);gap:6px;font-size:9px;font-weight:800;display:grid}.review-filter-bar select,.decision-entry-form input,.decision-entry-form select,.decision-entry-form textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--surface-alt);font:inherit;border-radius:10px}.review-filter-bar select{height:38px;padding:0 11px}.performance-range-tabs{border:1px solid var(--border);background:var(--surface-alt);border-radius:12px;grid-template-columns:repeat(6,minmax(55px,1fr));gap:4px;padding:4px;display:grid}.performance-range-tabs button,.calendar-mode button{min-height:30px;color:var(--text-tertiary);font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:5px 9px;font-size:10px;font-weight:700}.performance-range-tabs button.active,.calendar-mode button.active{color:#fff;background:var(--accent)}.review-summary-grid{grid-template-columns:1.55fr repeat(3,1fr);gap:0;padding-top:22px;display:grid}.review-summary-grid article{border-left:1px solid var(--border);min-width:0;min-height:142px;padding:10px 20px}.review-summary-grid article:first-child{border-left:0;padding-left:2px}.review-summary-grid article>span{color:var(--text-secondary);align-items:center;gap:6px;font-size:10px;display:flex}.review-summary-grid article>span svg{width:14px;height:14px;color:var(--accent)}.review-summary-grid article>strong{color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin-top:13px;font-size:clamp(18px,2vw,25px);display:block}.review-summary-grid .review-summary-primary>strong{font-size:clamp(28px,4vw,45px)}.review-summary-grid article>small{color:var(--text-tertiary);margin-top:7px;font-size:9px;line-height:1.5;display:block}.review-up{color:var(--accent)!important}.review-down{color:var(--danger)!important}.review-inline-chart{width:100%;height:44px;color:var(--text-tertiary);margin-top:9px;font-size:9px}.performance-gaps{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:12px 0 0;list-style:none;display:flex}.performance-gaps li{color:var(--warning);background:color-mix(in srgb, var(--warning) 9%, var(--surface));border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:9px;display:inline-flex}.performance-gaps svg{width:12px;height:12px}.review-query-error{color:var(--danger);margin:8px 0 0;font-size:11px}.review-calendar-card,.benchmark-card,.calibration-readonly-card,.decision-journal-card,.monthly-review-card{padding:22px}.calendar-actions{align-items:center;gap:5px;display:flex}.calendar-actions>button{border:1px solid var(--border);width:30px;height:30px;color:var(--text-secondary);background:var(--surface-alt);border-radius:8px;place-items:center;padding:0;display:grid}.calendar-actions>button svg{width:14px;height:14px}.calendar-mode{background:var(--surface-alt);border-radius:9px;padding:3px;display:flex}.return-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:22px;display:grid}.return-calendar-grid>b{color:var(--text-tertiary);text-align:center;padding:3px 0 6px;font-size:8px}.calendar-day{background:var(--surface-alt);border:1px solid #0000;border-radius:9px;align-content:space-between;min-width:0;min-height:56px;padding:7px 5px;display:grid}.calendar-day time{color:var(--text-tertiary);font-size:8px}.calendar-day strong{color:var(--text);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:8px;overflow:hidden}.calendar-day small{color:var(--warning);white-space:nowrap;text-overflow:ellipsis;font-size:6px;overflow:hidden}.calendar-day.up{background:color-mix(in srgb, var(--accent) 9%, var(--surface))}.calendar-day.down{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}.calendar-day.delayed{border-color:color-mix(in srgb, var(--warning) 28%, var(--border))}.calendar-day.empty{background:0 0}.calendar-footnote{color:var(--text-tertiary);margin:14px 0 0;font-size:8px;line-height:1.5}.benchmark-accordion{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:20px;display:grid}.benchmark-accordion label{border:1px solid var(--border);min-width:0;color:var(--text-secondary);background:var(--surface-alt);cursor:pointer;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto auto 1fr;align-items:center;gap:2px 7px;padding:10px;display:grid}.benchmark-accordion label.active{border-color:color-mix(in srgb, var(--accent) 42%, var(--border))}.benchmark-accordion input{accent-color:var(--accent);grid-row:1/3}.benchmark-accordion label>span{border-radius:50%;width:7px;height:7px}.benchmark-accordion strong{white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.benchmark-accordion small{color:var(--text-tertiary);grid-column:2/4;font-size:7px}.benchmark-chart-stage{min-width:0;height:262px;margin-top:14px}.benchmark-empty{height:100%;color:var(--text-tertiary);place-items:center;margin:0;font-size:10px;display:grid}.benchmark-legend{color:var(--text-secondary);flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:8px;display:flex}.benchmark-legend span{align-items:center;gap:5px;display:inline-flex}.benchmark-legend i{border-radius:2px;width:12px;height:2px}.benchmark-ticker{border-top:1px solid var(--border);background:var(--surface-alt);margin:14px -22px -22px;overflow:hidden}.benchmark-ticker>div{width:max-content;animation:36s linear infinite review-ticker;display:flex}.benchmark-ticker span{min-width:210px;color:var(--text-tertiary);letter-spacing:.04em;align-items:center;gap:12px;padding:9px 20px;font-size:8px;display:inline-flex}.benchmark-ticker b{color:var(--text);font-variant-numeric:tabular-nums;font-size:10px}.benchmark-ticker:hover>div,.review-experience.motion-paused .benchmark-ticker>div{animation-play-state:paused}@keyframes review-ticker{to{transform:translate(-50%)}}.calibration-readonly-list{gap:10px;margin-top:18px;display:grid}.calibration-readonly-list article{border-left:3px solid var(--accent);background:var(--surface-alt);border-radius:0 10px 10px 0;gap:5px;padding:13px;display:grid}.calibration-readonly-list span,.calibration-readonly-list small,.calibration-readonly-list p{color:var(--text-tertiary);font-size:9px;line-height:1.55}.calibration-readonly-list strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:21px}.calibration-readonly-list a{width:max-content;color:var(--accent);margin-top:3px;font-size:9px;font-weight:800}.decision-journal-note{border-left:3px solid var(--accent);color:var(--text-secondary);background:var(--surface-alt);margin:14px 0 0;padding:8px 10px;font-size:9px;line-height:1.55}.decision-journal-card .primary-button{flex:none}.decision-entry-form{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;margin-top:16px;padding:18px;position:relative}.decision-form-close{width:30px;height:30px;color:var(--text-secondary);background:var(--surface);border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.decision-form-close svg{width:15px;height:15px}.decision-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:18px;display:grid}.decision-form-grid label{color:var(--text-secondary);gap:6px;font-size:9px;font-weight:700;display:grid}.decision-form-grid input,.decision-form-grid select,.decision-form-grid textarea{resize:vertical;min-height:37px;padding:9px 10px}.decision-form-grid textarea{line-height:1.6}.decision-form-grid .decision-wide{grid-column:1/-1}.decision-empty{color:var(--text-tertiary);margin:22px 0 0;font-size:10px}.decision-timeline{gap:0;margin-top:18px;display:grid}.decision-timeline>article{grid-template-columns:18px 1fr;gap:10px;display:grid}.decision-timeline-mark{justify-content:center;display:flex;position:relative}.decision-timeline-mark:before{background:var(--border);content:"";width:1px;position:absolute;top:10px;bottom:0}.decision-timeline-mark span{z-index:1;border:2px solid var(--surface);background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 1px var(--accent);border-radius:50%;margin-top:8px;position:relative}.decision-timeline-body{padding:0 0 20px}.decision-timeline-body>header{align-items:center;gap:7px;display:flex}.decision-timeline-body time,.decision-timeline-body header small{color:var(--text-tertiary);font-size:8px}.decision-timeline-body header b{color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:3px 6px;font-size:8px}.decision-timeline-body h3{color:var(--text);margin:7px 0 4px;font-size:13px}.decision-timeline-body p{color:var(--text-secondary);margin:0;font-size:10px;line-height:1.65}.decision-tags{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.decision-tags span{border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;padding:3px 6px;font-size:7px}.decision-trade-fact{color:var(--text-tertiary);margin-top:8px;font-size:8px;display:block}.decision-outcomes{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;display:grid}.decision-outcomes span{background:var(--surface-alt);border-radius:8px;padding:7px}.decision-outcomes small{color:var(--text-tertiary);font-size:7px;display:block}.decision-outcomes strong{color:var(--text);margin-top:3px;font-size:9px;display:block}.decision-timeline .text-button{color:var(--accent);font:inherit;background:0 0;border:0;align-items:center;gap:3px;margin-top:8px;font-size:8px;display:inline-flex}.decision-timeline .text-button svg{width:11px;height:11px}.monthly-review-card .review-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.monthly-review-card .review-metrics li{background:var(--surface-alt);border-radius:9px;gap:5px;padding:11px;display:grid}.monthly-review-card .review-metrics span{color:var(--text-tertiary);font-size:8px}.monthly-review-card .review-metrics strong{color:var(--text);text-align:left;font-size:12px}.monthly-review-empty{color:var(--text-secondary);margin:16px 0 0;font-size:10px;line-height:1.7}.monthly-review-card .review-narrative{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}@media (width<=900px){.review-page.review-experience{width:100%;padding:22px 14px 48px}.review-cinematic-header{border-radius:22px;min-height:220px}.review-grid-calendar,.review-grid-chart,.review-grid-calibration,.review-grid-journal{grid-column:1/-1}.review-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-summary-grid article:nth-child(3){border-left:0}.review-filter-bar{flex-direction:column;align-items:stretch}.review-filter-bar label{flex:auto}}@media (width<=600px){.review-cinematic-header{min-height:200px;padding:34px 18px}.review-cinematic-header h1{font-size:36px}.review-cinematic-header>p:not(.eyebrow){font-size:12px}.review-performance-hero,.review-calendar-card,.benchmark-card,.calibration-readonly-card,.decision-journal-card,.monthly-review-card{padding:16px}.review-dense-grid{gap:12px}.performance-range-tabs{grid-template-columns:repeat(3,1fr)}.review-summary-grid{grid-template-columns:1fr 1fr}.review-summary-grid article{min-height:118px;padding:10px 12px}.review-summary-grid article:nth-child(3){border-left:0}.review-summary-grid .review-summary-primary>strong{font-size:27px}.review-inline-chart{height:30px}.review-card-heading{flex-direction:column;align-items:stretch}.review-card-heading>small{text-align:left;max-width:none}.calendar-actions{justify-content:space-between}.calendar-day{min-height:50px;padding:6px 3px}.calendar-day strong{font-size:7px}.benchmark-accordion{grid-template-columns:1fr}.benchmark-chart-stage{height:220px}.benchmark-ticker{margin-bottom:-16px;margin-left:-16px;margin-right:-16px}.decision-journal-card .primary-button{width:100%}.decision-form-grid{grid-template-columns:1fr}.decision-form-grid .decision-wide{grid-column:auto}.monthly-review-card .review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.monthly-review-card .review-narrative{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.benchmark-ticker>div{animation:none}.review-stack-card,.review-chart-reveal{opacity:1!important;transform:none!important}}.holdings-list{padding:16px}.holdings-list-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.holdings-list-head h2{color:var(--green-700);margin:0;font-size:15px;font-weight:800}.holdings-list-head p{color:#888;margin:3px 0 0;font-size:11px}.holdings-count{color:var(--green-700);background:#2e5c3b14;border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700}.holdings-rows{gap:10px;margin:0;padding:0;list-style:none;display:grid}.holdings-row{border-bottom:1px solid #f2f2f2;padding:12px 0}.holdings-row:last-child{border-bottom:0}.holdings-row-main{justify-content:space-between;align-items:center;gap:12px;display:flex}.holdings-row-name{min-width:0}.holdings-row-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.holdings-row-meta{color:#999;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;display:block;overflow:hidden}.holdings-row-value{text-align:right;flex:none}.holdings-row-value strong{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;display:block}.holdings-row-share{color:#aaa;font-size:10px}.holdings-row-sub{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.holdings-row-quote{color:#666;font-variant-numeric:tabular-nums;font-size:11px}.valuation-badge{border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.valuation-badge.live{color:var(--green-700);background:#2e5c3b1a}.valuation-badge.estimated{color:var(--orange);background:#f57c001a}.valuation-badge.low-conf{color:var(--orange);background:#f57c0014}.valuation-badge.stale,.valuation-badge.delayed{color:#8a6d3b;background:#b48c3c1f}.valuation-badge.unavailable{color:#999;background:#0000000d}.holdings-list-empty{text-align:center;color:#999;padding:28px 16px;font-size:12px}.holdings-list-empty svg{color:#ccc;margin:0 auto 8px;display:block}.holdings-list-loading{min-height:80px}.holding-detail{gap:14px;max-width:620px;margin:0 auto;padding:16px;display:grid}.back-button{width:fit-content;margin-bottom:4px}.holding-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.holding-detail-head h1{color:var(--green-700);margin:0;font-size:22px;font-weight:800}.holding-detail-head p{color:#888;margin:3px 0 0;font-size:12px}.holding-detail-actions{flex-wrap:wrap;gap:8px;display:flex}.holding-detail-actions .secondary-button,.holding-detail-actions .danger-button{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.danger-button{color:#c0392b;background:#c0392b0d;border:1px solid #c0392b59}.danger-button:hover{background:#c0392b1f}.holding-overview{flex-wrap:wrap;gap:18px;display:flex}.overview-main{flex:1;min-width:180px}.overview-label{color:#888;margin-bottom:4px;font-size:11px;display:block}.overview-value{color:var(--green-700);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.overview-sub{color:#999;margin-top:4px;font-size:11px;display:block}.overview-metrics{flex:2;grid-template-columns:repeat(3,1fr);gap:14px;min-width:260px;display:grid}.overview-metric{align-content:start;gap:3px;display:grid}.overview-metric span{color:#888;font-size:10px}.overview-metric strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.overview-metric em{color:#aaa;font-size:10px;font-style:normal}.trade-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.trade-row{border-bottom:1px solid #f2f2f2;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.trade-row:last-child{border-bottom:0}.trade-row-main{align-items:center;gap:10px;display:flex}.trade-side{border-radius:99px;padding:2px 10px;font-size:11px;font-weight:700}.trade-side.buy{color:#c0392b;background:#c0392b14}.trade-side.sell{color:var(--green-700);background:#2e5c3b1a}.trade-row-info strong{font-size:13px}.trade-row-info span{font-size:11px;display:block}.trade-row-date{text-align:right}.trade-row-date strong{font-variant-numeric:tabular-nums;font-size:12px;display:block}.trade-row-date span{font-size:10px}.holdings-row.clickable{cursor:pointer;border-radius:8px;padding:12px 8px;transition:background .15s}.holdings-row-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px;display:grid}.holdings-cell{gap:3px;display:grid}.holdings-cell span{color:#999;font-size:10px}.holdings-cell strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;font-weight:700}.holdings-cell .valuation-badge{width:fit-content}.calibration-warning{color:var(--orange);background:#f57c0014;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:11px;line-height:1.5}.field-help{color:#aaa;margin-top:3px;font-size:10px;line-height:1.4;display:block}.holdings-summary{background:linear-gradient(135deg,#2e5c3b0f,#2e5c3b05);border:1px solid #2e5c3b1f;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0;padding:12px;display:grid}.summary-item{gap:2px;display:grid}.summary-item span{color:#999;font-size:10px}.summary-item strong{font-variant-numeric:tabular-nums;font-size:16px;font-weight:800}.summary-item em{color:#aaa;font-size:10px;font-style:normal}.platform-manager{padding:16px 16px 4px}.platform-manager-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.platform-manager-head h2{color:var(--green-700);margin:0;font-size:15px;font-weight:800}.platform-manager-head p{color:#999;margin:3px 0 0;font-size:11px}.platform-chip-value small{color:#999;font-size:10px;font-weight:400;display:block}.platform-strip{flex-wrap:wrap;gap:10px;display:flex}.platform-chip{background:#fff;border:1px solid #eee;border-radius:10px;flex-direction:column;flex:1 1 0;gap:6px;min-width:200px;padding:10px 12px;display:flex}.platform-chip-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.platform-chip-head small{color:#aaa;font-size:10px;display:block}.platform-chip-head strong{color:#333;font-size:13px}.platform-chip-head .profit{font-size:12px;font-weight:700}.platform-chip-value{color:var(--green-700);font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:800}.platform-chip-value small{color:#999;margin-left:6px;font-size:10px;font-weight:400}.platform-chip .investment-actions{flex-wrap:wrap;gap:6px;display:flex}.platform-chip .investment-actions .secondary-button{border-radius:7px;padding:5px 10px;font-size:11px}.profit-calibration-dialog{width:min(780px,100%)}.calibration-safety-note{border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));background:color-mix(in srgb, var(--success) 7%, var(--surface));border-radius:14px;align-items:flex-start;gap:12px;margin:20px 0;padding:14px 16px;display:flex}.calibration-safety-note>svg{width:20px;color:var(--success);flex:none}.calibration-safety-note p{margin:0}.calibration-safety-note strong,.calibration-safety-note span{display:block}.calibration-safety-note strong{color:var(--text);font-size:12px}.calibration-safety-note span{color:var(--text-secondary);margin-top:4px;font-size:10px;line-height:1.6}.calibration-form{border-bottom:1px solid var(--border);padding-bottom:23px}.calibration-preview{background:linear-gradient(135deg, var(--surface-alt), color-mix(in srgb, var(--accent-soft) 55%, var(--surface)));border-radius:16px;grid-template-columns:1fr auto;align-items:end;gap:4px 18px;padding:18px;display:grid}.calibration-preview span{color:var(--text-secondary);font-size:11px;font-weight:700}.calibration-preview strong{color:var(--accent);font-variant-numeric:tabular-nums;grid-row:span 2;font:800 28px JetBrains Mono,Noto Sans SC,sans-serif}.calibration-preview small{color:var(--text-tertiary);font-size:9px}.calibration-history{margin-top:24px}.calibration-history>header{align-items:flex-start;gap:10px;display:flex}.calibration-history>header>svg{width:18px;color:var(--accent)}.calibration-history h3,.calibration-history p{margin:0}.calibration-history h3{font-size:14px}.calibration-history header p{color:var(--text-tertiary);margin-top:3px;font-size:10px}.calibration-history-state{color:var(--text-tertiary);text-align:center;padding:20px 0;font-size:11px}.calibration-history-list{gap:9px;margin-top:14px;display:grid}.calibration-history-list article{border:1px solid var(--border);background:var(--surface-alt);border-radius:14px;padding:14px 15px;position:relative}.calibration-history-list article.current{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface))}.calibration-history-list article>div{align-items:center;gap:7px;display:flex}.calibration-history-list time{color:var(--text-secondary);font-size:10px;font-weight:700}.calibration-history-list b{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:3px 7px;font-size:8px}.calibration-history-list b.muted{color:var(--text-tertiary);background:var(--surface-hover)}.calibration-history-list article>strong{font-variant-numeric:tabular-nums;margin-top:8px;font:700 19px JetBrains Mono,Noto Sans SC,sans-serif;display:block}.calibration-history-list article>p{color:var(--text-secondary);flex-wrap:wrap;gap:14px;margin-top:5px;font-size:9px;display:flex}.calibration-history-list article>small{color:var(--text-tertiary);margin-top:7px;font-size:9px;display:block}.calibration-reverse{color:var(--error);margin-top:9px}.calibration-confirm{z-index:2;border:1px solid color-mix(in srgb, var(--error) 28%, var(--border));background:color-mix(in srgb, var(--surface) 96%, var(--error));border-radius:16px;margin-top:16px;padding:18px;position:sticky;bottom:0;box-shadow:0 16px 45px #26221c29}.calibration-confirm h3{margin:0;font-size:15px}.calibration-confirm>p{color:var(--text-secondary);margin:7px 0 14px;font-size:10px;line-height:1.6}@media (width<=760px){.calibration-preview{grid-template-columns:1fr}.calibration-preview strong{grid-row:auto;font-size:23px}}.risk-alert-banner{color:#c62828;cursor:pointer;background:#fdeaea;border:none;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:700;display:inline-flex}.risk-clear-badge{color:var(--green-700);align-items:center;gap:5px;font-size:12px;font-weight:600;display:inline-flex}.risk-alert-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.risk-alert-list li{background:#fdeaea;border-radius:8px;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.risk-alert-list li strong{color:#b71c1c;font-size:13px}.risk-alert-list li p{color:#888;margin:2px 0 0;font-size:11px}.alert-high{color:#c62828;flex-shrink:0}.alert-mid{color:#ef6c00;flex-shrink:0}.industry-layout{grid-template-columns:140px 1fr;align-items:center;gap:16px;display:grid}.donut-wrap{width:140px;height:140px;position:relative}.donut{width:140px;height:140px}.donut-over{opacity:.55}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center strong{color:#999;font-size:10px;font-weight:500}.donut-center span{color:#333;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.industry-list{flex-direction:column;gap:8px;display:flex}.industry-row{align-items:center;gap:8px;display:flex}.industry-row.over{background:#fff8f0;border-radius:6px;padding:4px 6px}.industry-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.industry-row-body{flex:1}.industry-row-head{justify-content:space-between;margin-bottom:3px;font-size:12px;display:flex}.industry-row-head em{color:#c62828;font-style:normal;font-weight:700}.industry-row-head strong{color:#444}.industry-row-head span{color:#888;font-variant-numeric:tabular-nums}.risk-limit-tag{color:#999;background:#f3f3f3;border-radius:6px;padding:3px 8px;font-size:11px}.risk-row.over{background:#fff8f0;border-radius:8px;padding:6px 8px}.risk-row.over .risk-row-head strong{color:#c62828}.risk-settings-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.risk-settings-grid label{color:#888;flex-direction:column;gap:4px;font-size:11px;display:flex}.risk-settings-grid input,.risk-settings-grid select{color:#333;background:#fff;border:1px solid #ddd;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:700}.plan-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.plan-card{border:1px solid #eee;border-radius:10px;padding:12px}.plan-head{justify-content:space-between;align-items:flex-start;display:flex}.plan-head>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plan-head strong{font-size:14px}.plan-status{color:#fff;background:var(--green-700);border-radius:6px;padding:2px 6px;font-size:10px;font-style:normal}.icon-button{color:#ccc;cursor:pointer;background:0 0;border:none;padding:4px}.icon-button:hover{color:#c62828}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:10px 0;display:grid}.plan-grid div{flex-direction:column;gap:2px;display:flex}.plan-grid span{color:#999;font-size:10px}.plan-grid strong{color:#333;font-variant-numeric:tabular-nums;font-size:13px}.plan-grid .stop-loss{color:#c62828}.plan-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-foot span{color:#888;font-size:11px}.primary-button.small{padding:6px 12px;font-size:12px}.plan-new{width:100%;margin-top:10px}.risk-alert-dialog{max-width:380px}.risk-alert-head{color:#c62828;align-items:center;gap:8px;display:flex}.risk-alert-head h2{margin:0;font-size:18px}.risk-alert-dialog-list{flex-direction:column;gap:10px;margin:14px 0;padding:0;list-style:none;display:flex}.risk-alert-dialog-list li{background:#fdeaea;border-radius:8px;padding:10px 12px}.risk-alert-dialog-list li strong{color:#b71c1c;font-size:13px;display:block}.risk-alert-dialog-list li p{color:#888;margin:3px 0 0;font-size:11px}.risk-suggest{color:#666;margin:0 0 12px;font-size:12px}.risk-alert-ok{width:100%}.platform-chip-cash{color:#666;justify-content:space-between;align-items:baseline;margin:2px 0 8px;font-size:12px;display:flex}.platform-chip-cash small{color:#999;font-size:10px}.net-worth-breakdown{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.breakdown-chip{color:var(--text-secondary);background:var(--surface-alt);border:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px}.breakdown-chip:hover{border-color:var(--border-hover);background:var(--surface-hover)}.net-worth-value,.metrics-row .metric strong,.holdings-row-value strong,.holdings-cell strong,.holdings-row-quote,.holdings-summary strong,.investment-value,.platform-chip-value,.platform-chip-cash,.profit,.review-value,.plan-grid strong,.risk-alert-list li strong,.dialog-card h2,.holdings-count,.current-holding-card .amount,.breakdown-chip{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,Noto Sans SC,monospace}.capital-page,.risk-page,.review-page,.content-page{background:var(--bg)}.capital-card,.dialog-card,.investment-card,.plan-card,.platform-chip{background:var(--surface);border:1px solid var(--border);border-radius:14px;transition:box-shadow .25s,transform .25s;box-shadow:0 1px 3px #26221c0d}.capital-card:hover,.plan-card:hover,.platform-chip:hover{box-shadow:0 6px 20px #26221c14}.net-worth-value{letter-spacing:-.01em;color:var(--text);font-size:44px;font-weight:700;animation:.6s ease-out count-up}@keyframes count-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page-header h1,.capital-header h1,.risk-page h1,.review-page h1{letter-spacing:.02em;color:var(--text);font-family:Noto Serif SC,Songti SC,serif;font-weight:900}.page-header h1{font-size:26px}.holdings-list-head h2,.card-title-row h2,.platform-manager-head h2{color:var(--text);font-family:Noto Serif SC,Songti SC,serif;font-weight:700}.profit-up,.positive{color:var(--up)!important}.profit-down,.negative{color:var(--down)!important}.profit.positive,.profit.negative{color:inherit}.profit-flat{color:var(--text-tertiary)!important}.primary-button{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700;transition:all .2s}.primary-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #b3541e40}.primary-button:active{transform:translateY(0)}.primary-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.secondary-button{background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.secondary-button:hover{border-color:var(--border-hover);background:var(--surface-hover)}.secondary-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.holdings-row.clickable:hover{background:var(--surface-hover)}.holdings-row{border-bottom-color:var(--border)}.type-tag,.est-badge,.risk-limit-tag{background:var(--surface-alt);border-color:var(--border);color:var(--text-tertiary)}input,select,textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;padding:9px 12px;font-size:14px;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b3541e1f}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26221c66}.dialog-card{box-shadow:0 12px 32px #26221c24}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.content-page>*,.capital-page>*{animation:.5s ease-out both fade-up}.content-page>:nth-child(2){animation-delay:80ms}.content-page>:nth-child(3){animation-delay:.16s}.content-page>:nth-child(4){animation-delay:.24s}.capital-page>:nth-child(2){animation-delay:80ms}.capital-page>:nth-child(3){animation-delay:.16s}.capital-page>:nth-child(4){animation-delay:.24s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}}@media (width<=600px){.net-worth-value{font-size:32px}.net-worth-ref{text-align:left;border-top:1px solid var(--border);margin-top:12px;padding-top:10px;position:static}.page-header h1{font-size:22px}.primary-button,.secondary-button{min-height:44px}.holdings-summary{grid-template-columns:1fr}}.holdings-table{margin-top:4px}.holdings-table-head,.holdings-row{grid-template-columns:minmax(170px,2.2fr) repeat(5,minmax(86px,1fr));align-items:center;gap:14px;display:grid}.holdings-table-head{border-bottom:2px solid var(--border);color:var(--text-tertiary);letter-spacing:.04em;padding:10px 16px;font-size:11px;font-weight:500}.holdings-table-head .col-num{text-align:right}.holdings-row{border-bottom:1px solid var(--border);cursor:pointer;padding:12px 16px;transition:background .15s}.holdings-row:hover{background:var(--surface-hover)}.holdings-row .col-name{min-width:0}.holdings-row .row-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.holdings-row .row-meta{color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;display:block;overflow:hidden}.holdings-row .col-num{text-align:right;min-width:0}.holdings-row .col-num strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;display:block}.holdings-row .col-num .row-share{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:10px;display:block}.holdings-row .col-market-value strong{font-size:14px}@media (width<=900px){.holdings-table-head{display:none}.holdings-table-head,.holdings-row{grid-template-columns:1fr 1fr;gap:6px 12px}.holdings-row .col-name{grid-column:1/-1}.holdings-row .col-num{text-align:left}.holdings-row .col-market-value{text-align:right;border-bottom:1px dashed var(--border);grid-column:1/-1;margin-bottom:2px;padding-bottom:6px}}.pnl-analysis{margin:14px 0;padding:20px}.pnl-hero{color:#fff;background:linear-gradient(135deg,#b3541e,#964415);border-radius:12px;gap:2px;margin-bottom:16px;padding:18px 20px;display:grid}.pnl-hero-label{opacity:.85;font-size:12px}.pnl-hero-value{font-family:JetBrains Mono,monospace;font-size:32px;font-weight:700;color:#fff!important}.pnl-hero-value.profit-up,.pnl-hero-value.profit-down{color:#fff!important}.pnl-hero-pct{opacity:.85;font-family:JetBrains Mono,monospace;font-size:12px}.pnl-detail{margin-bottom:14px}.pnl-tabs{gap:8px;margin-bottom:10px;display:flex}.pnl-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s}.pnl-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.pnl-tabs button:hover:not(.active){border-color:var(--border-hover)}.pnl-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pnl-item{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 4px;display:flex}.pnl-item:last-child{border-bottom:0}.pnl-item-name{min-width:0}.pnl-item-name strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.pnl-item-name span{color:var(--text-tertiary);font-size:10px;display:block}.pnl-item-value{text-align:right;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700}.pnl-item-value em{color:var(--text-tertiary);font-size:10px;font-style:normal;font-weight:500;display:block}.pnl-empty{color:var(--text-tertiary);padding:10px 4px;font-size:12px}.pnl-snapshot{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:12px;padding-top:12px;display:grid}.pnl-snapshot-item{gap:3px;display:grid}.pnl-snapshot-item span{color:var(--text-tertiary);font-size:11px}.pnl-snapshot-item strong{font-family:JetBrains Mono,monospace;font-size:15px;font-weight:700}.pnl-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:10px;align-items:center;gap:7px;margin:14px 0 0;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.pnl-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-hover)}.pnl-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pnl-toggle-chevron{transition:transform .2s}.pnl-toggle:hover .pnl-toggle-chevron{transform:translateY(2px)}.pnl-toggle-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:12px;transition:color .2s;display:inline-flex}.pnl-toggle-close:hover{color:var(--accent)}.cash-flow-empty{color:var(--text-tertiary);margin:8px 0 0;font-size:12px;line-height:1.7}.allocation-empty{color:var(--text-tertiary);font-size:12px;list-style:none}:root{--bg:#f4f6f2;--surface:#fff;--surface-alt:#f7f9f5;--surface-hover:#eef3ed;--border:#dce4da;--border-hover:#b8c9bc;--text:#1f2b24;--text-secondary:#526158;--text-tertiary:#7f8e84;--accent:#285943;--accent-hover:#1f4735;--accent-soft:#e4eee7;--bg-rgb:244, 246, 242;--accent-rgb:40, 89, 67;--success:#9f352f;--error:#2f7650;--warning:#c47932;--ink:#1f2b24;--muted:#526158;--paper:#fff;--paper-deep:#eef3ed;--line:#dce4da;--teal:#285943;--teal-bright:#3d755a;--teal-dark:#1f4735;--green-700:#285943;--green-500:#5b8d70;--green-300:#aec9b8;--orange:#c47932;--ring-track:#dce4da}:root[data-theme=dark]{--bg:#111814;--surface:#1a241e;--surface-alt:#162019;--surface-hover:#223027;--border:#314238;--border-hover:#496052;--text:#e9f0eb;--text-secondary:#aebdb3;--text-tertiary:#7f9185;--accent:#6fa184;--accent-hover:#84b395;--accent-soft:#20382a;--ink:#e9f0eb;--muted:#aebdb3;--paper:#1a241e;--paper-deep:#223027;--line:#314238;--teal:#6fa184;--teal-bright:#84b395;--teal-dark:#50785f;--green-700:#84b395;--green-500:#6fa184;--green-300:#50785f;--orange:#d49a60}.capital-page{width:min(1080px,100%);max-width:none;font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}.capital-page h1,.capital-page h2,.capital-page h3{font-family:inherit}.risk-page,.review-page{width:min(860px,100%);max-width:none}.capital-card,.dialog-card,.investment-card,.plan-card,.platform-chip{border-color:var(--border);background:var(--surface)}.primary-button,.primary-action{background:var(--accent)}.primary-button:hover,.primary-action:hover{background:var(--accent-hover)}.pnl-hero{background:linear-gradient(135deg, var(--accent), var(--accent-hover))}.quote-meta{color:var(--text-tertiary);white-space:normal;margin-top:3px;font-size:9px;line-height:1.45;display:block}.quote-meta.estimated{color:var(--warning)}.quote-formal-meta{color:var(--text-tertiary);margin-top:2px;font-size:9px;line-height:1.45;display:block}.overview-source{color:var(--text-tertiary);margin-top:3px;font-size:9px;font-style:normal;line-height:1.4;display:block}.plan-head-actions{flex:none;gap:4px!important;display:inline-flex!important}.plan-head-actions .icon-button:first-child:hover{color:var(--accent)}.trading-plan-dialog{width:min(760px,100%)}.trading-plan-form-grid{margin-top:20px}.review-data-warning{border-left:3px solid var(--warning);color:var(--text-secondary);background:color-mix(in srgb, var(--warning) 9%, var(--surface));margin:14px 0 0;padding:10px 12px;font-size:12px;line-height:1.7}.review-narrative{gap:10px;display:grid}.review-narrative article{border:1px solid var(--border);background:var(--surface-alt);border-radius:10px;padding:12px 14px}.review-narrative h3{color:var(--text);margin:0 0 5px;font-size:14px}.review-narrative p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.7}.offline-banner{z-index:200;border:1px solid color-mix(in srgb, var(--warning) 35%, var(--border));color:#fff;max-width:calc(100vw - 32px);box-shadow:var(--shadow);text-align:center;background:#8a5a28;border-radius:99px;padding:8px 14px;font-size:11px;line-height:1.5;position:fixed;top:12px;left:50%;transform:translate(-50%)}.capital-page>*,.capital-card,.chart-card,.asset-history-panel,.asset-history-scroll{min-width:0;max-width:100%}.capital-header h1{font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif}.capital-header-meta{flex-direction:column;align-items:flex-end;gap:4px}.capital-header-meta time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:10px}.net-worth-breakdown{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:18px;padding-top:14px;display:grid}.net-worth-breakdown div{border-left:1px solid var(--border);min-width:0;padding:0 14px}.net-worth-breakdown div:first-child{border-left:0;padding-left:0}.net-worth-breakdown div:last-child{padding-right:0}.net-worth-breakdown span,.net-worth-breakdown strong{display:block}.net-worth-breakdown span{color:var(--text-tertiary);margin-bottom:5px;font-size:10px}.net-worth-breakdown strong{color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:15px}@media (width>=900px){.capital-page{grid-template-columns:repeat(12,minmax(0,1fr));padding:34px 28px 56px}.capital-page>.capital-header,.capital-page>.net-worth-card,.capital-page>.chart-card,.capital-page>.stats-row,.capital-page>.primary-action,.capital-page>.privacy-note{grid-column:1/-1}.capital-page>.three-columns{grid-column:1/8}.capital-page>.allocation-card{grid-column:8/-1}}@media (width<=900px){.content-page,.capital-page,.risk-page,.review-page{width:100%;padding-left:14px;padding-right:14px}.holdings-row .col-num:before{color:var(--text-tertiary);content:attr(data-label);margin-bottom:3px;font-size:9px;font-weight:500;display:block}.holdings-row .col-market-value{text-align:left;border-bottom:0;grid-column:auto;margin:0;padding:0}.holdings-row .col-num:last-child{grid-column:1/-1}}@media (width<=600px){.capital-shell .mobile-header{display:none}.capital-shell .page-frame{padding-top:0}.capital-page{gap:12px;padding-top:22px}.capital-header{align-items:flex-start}.capital-header h1{letter-spacing:.02em;font-size:22px}.capital-header p{font-size:11px}.capital-header-meta{max-width:42%}.net-worth-card{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px;display:grid}.offline-banner{border-radius:12px;width:calc(100vw - 24px);top:64px}.capital-card,.holdings-list{padding:14px}.net-worth-value{letter-spacing:-.025em;white-space:normal;overflow-wrap:anywhere;font-size:22px}.net-worth-ref{text-align:right;border:0;margin:0;padding:0;position:static}.ref-value{font-size:17px}.ref-note{display:none}.net-worth-breakdown{grid-column:1/-1;margin-top:0;padding-top:9px}.net-worth-breakdown div{padding:0 8px}.net-worth-breakdown strong{font-size:12px;line-height:1.25}.chart-card .asset-history-panel{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;overflow:visible}.chart-card .asset-history-panel:before,.chart-card .asset-history-head{display:none}.chart-card .asset-history-legend{margin-top:8px}.chart-card .asset-history-canvas{width:100%;min-width:0;height:230px}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.stats-row .stat{border-left:1px solid var(--border);min-width:0;padding:0 7px}.stats-row .stat:first-child{border-left:0;padding-left:0}.stats-row .stat:last-child{padding-right:0}.stats-row .stat strong{overflow-wrap:anywhere;font-size:11px}.stats-row .stat span,.stats-row .stat em{font-size:8px;line-height:1.35}.three-columns{grid-template-columns:1fr 1fr}.capital-header{gap:10px}.capital-header-meta{text-align:right;justify-content:flex-end;max-width:44%}.holdings-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 8px}.summary-item strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.summary-item span,.summary-item em{font-size:8.5px}.holdings-row{padding:12px 8px}.industry-layout{grid-template-columns:1fr}.donut-wrap{margin:0 auto}.plan-head,.plan-foot{flex-wrap:wrap;align-items:flex-start}.plan-foot .primary-button{width:100%}.review-metrics li{gap:16px}.review-metrics strong{text-align:right;overflow-wrap:anywhere}}
