:root{color:#17171d;background:#f2f4f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;letter-spacing:0}html{overflow-x:hidden}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:#f2f4f8}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;color:#fff;background:#2f7d73;cursor:pointer}button:hover{background:#25665e}input,select{width:100%;min-height:42px;border:1px solid #dce1ea;border-radius:8px;padding:0 12px;color:#17171d;background:#fff}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-panel{width:min(420px,100%);padding:28px;border:1px solid #d8e1dc;border-radius:8px;background:#fff;box-shadow:0 18px 50px #172d2617}.auth-panel h1{margin:14px 0 20px;font-size:24px}.auth-panel form,.grid-form{display:grid;gap:12px}.auth-panel label{display:grid;gap:6px;font-size:14px;color:#53615c}.form-error,.notice.error{color:#b42318}.app-shell{min-height:100vh;overflow-x:hidden;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;padding:20px 14px;border-right:1px solid #dce1ea;background:#ffffffeb}.brand{display:flex;align-items:center;gap:10px;padding:8px 8px 22px}.brand div{display:grid}.brand span,.topbar p,.compact-list span,.goal-card p{color:#6a7671;font-size:13px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{justify-content:flex-start;width:100%;padding:0 12px;color:#555b66;background:transparent}.sidebar nav button.active{color:#17171d;background:#eceff8}.workspace{min-width:0;overflow-x:hidden;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0}.icon-button{width:42px;padding:0;color:#2f7d73;background:#e7f1ee}.notice{margin-bottom:16px;padding:12px 14px;border:1px solid #d8e1dc;border-radius:8px;background:#fff}.view-stack{min-width:0;overflow-x:hidden;display:grid;gap:16px}.percento-home{display:grid;gap:18px}.percento-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:18px;align-items:stretch}.percento-hero-main{min-height:326px;padding:28px;border:1px solid #dfe4ee;border-radius:8px;background:linear-gradient(160deg,#fffffff0,#f7f9fdf5),radial-gradient(circle at 90% 18%,rgba(143,110,232,.18),transparent 34%);box-shadow:0 20px 56px #181c2814;display:grid;align-content:space-between}.multi-currency-hero{min-width:0;min-height:326px;padding:22px;border:1px solid #dfe4ee;border-radius:8px;background:linear-gradient(160deg,#fffffff5,#f7f9fdfa),radial-gradient(circle at 88% 18%,rgba(19,184,166,.12),transparent 34%);box-shadow:0 20px 56px #181c2814;display:grid;gap:16px}.multi-currency-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.multi-currency-head p{margin:5px 0 0;color:#858b96;font-size:13px}.currency-bucket-grid{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.currency-bucket-card{min-width:0;min-height:118px;padding:14px;overflow:hidden;border:1px solid #e2e6ee;border-radius:8px;background:#fff;display:grid;gap:9px;align-content:space-between}.currency-bucket-card.needs-rate{border-color:#f5b34d;background:#fff9ed}.bucket-card-head{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}.bucket-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center}.bucket-card-head b{min-width:0;overflow:hidden;color:#1d2028;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.bucket-card-head em{max-width:88px;overflow:hidden;padding:3px 7px;border-radius:999px;color:#6f7581;background:#f3f5f8;font-size:11px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.currency-bucket-card strong,.converted-total-card strong{min-width:0;overflow:hidden;color:#17171d;font-size:24px;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}.currency-bucket-card small{min-width:0;overflow:hidden;color:#777f8c;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.bucket-cny .bucket-icon{color:#277055;background:#e7f6ef}.bucket-hkd .bucket-icon{color:#a85e18;background:#fff1de}.bucket-usd .bucket-icon{color:#3365c7;background:#edf3ff}.bucket-gold .bucket-icon{color:#a17400;background:#fff6d7}.converted-total-card{min-width:0;min-height:116px;grid-column:1 / -1;padding:17px;overflow:hidden;border-radius:8px;color:#fff;background:#17171d;display:grid;gap:9px;align-content:center}.converted-total-card span{color:#c8cbd3;font-size:13px;font-weight:800}.converted-total-card strong{color:#fff;font-size:31px}.converted-total-card small{min-width:0;color:#cfd2da;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:700}.converted-total-card i{width:4px;height:4px;border-radius:50%;background:#787d8a}.hero-topline,.panel-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow{display:block;color:#6f7581;font-size:14px;font-weight:700}.hero-topline p,.panel-title-row span{margin:5px 0 0;color:#858b96;font-size:13px}.hero-add-button,.mini-icon-button{width:46px;min-height:46px;padding:0;border-radius:50%;color:#fff;background:#17171d;box-shadow:0 12px 26px #17171d2e}.hero-add-button:hover,.mini-icon-button:hover{background:#2c2d35}.net-worth-amount{display:block;margin:18px 0;max-width:100%;overflow:hidden;font-size:clamp(38px,4.3vw,58px);line-height:.95;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.hero-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hero-stat-row div{min-width:0;padding:14px;border-radius:8px;background:#ffffffb8}.hero-stat-row span,.mini-dashboard-card span{display:block;color:#6f7581;font-size:13px;font-weight:700}.hero-stat-row b{display:block;margin-top:5px;overflow:hidden;color:#17171d;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.asset-stack-card{min-height:326px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px}.asset-rail{overflow:hidden;border-radius:8px;background:#dfe4ee;display:flex;flex-direction:column}.asset-rail i{display:block;flex:1 1 auto}.asset-card-list{display:grid;gap:10px}.percento-asset-card{min-height:58px;padding:12px 14px;border:1px solid #e4e8f0;border-radius:8px;background:#fff;box-shadow:0 12px 28px #181c280d;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px}.empty-stack .percento-asset-card{grid-template-columns:minmax(0,1fr) auto}.asset-dot{width:10px;height:10px;border-radius:50%}.percento-asset-card span:not(.asset-dot),.balance-sheet-list span{color:#7c838e;font-size:12px}.percento-asset-card strong{display:block;margin-top:2px;overflow:hidden;color:#17171d;text-overflow:ellipsis;white-space:nowrap}.percento-asset-card b{color:#17171d;font-size:13px}.percento-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.panel-title-row h2{margin-bottom:0}.asset-treemap{min-height:310px;display:flex;flex-wrap:wrap;gap:10px}.asset-treemap article{position:relative;min-width:172px;min-height:124px;padding:16px;overflow:hidden;border-radius:8px;color:#17171d;display:grid;align-content:space-between}.asset-treemap article:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff38}.asset-treemap article>*{position:relative;z-index:1}.asset-treemap span{color:#17171db8;font-size:13px;font-weight:700}.asset-treemap strong{margin-top:22px;overflow-wrap:anywhere;font-size:clamp(20px,2.1vw,28px);line-height:1.05}.asset-treemap b{justify-self:start;padding:5px 8px;border-radius:999px;color:#17171d;background:#ffffff8f;font-size:12px}.balance-sheet-list{display:grid;gap:4px}.balance-sheet-list article{min-height:62px;padding:10px 0;border-bottom:1px solid #edf0f5;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:12px}.balance-sheet-list article:last-child{border-bottom:0}.balance-sheet-list strong,.balance-sheet-list b{display:block;color:#17171d}.balance-sheet-list b{text-align:right}.balance-sheet-list div:last-child span{display:block;margin-top:3px;text-align:right}.percento-pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mini-dashboard-card{min-height:118px;padding:16px;border:1px solid #e2e6ee;border-radius:8px;background:#fff;display:grid;align-content:space-between;gap:8px}.mini-dashboard-card strong{overflow:hidden;color:#17171d;font-size:22px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.mini-dashboard-card p{margin:0;color:#7c838e;font-size:12px;line-height:1.45}.mini-dashboard-card.warning{border-color:#f1d596;background:#fff8e8}.mini-dashboard-card.critical{border-color:#f0b2b0;background:#fff0ef}.mini-dashboard-card.info{border-color:#c9d6ff;background:#f1f5ff}.percento-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.app-page{min-width:0;overflow-x:hidden;display:grid;gap:16px}.page-slide-in{animation:pageSlide .22s ease both}.page-rise-in{animation:pageRise .22s ease both}@keyframes pageSlide{0%{opacity:0}to{opacity:1}}@keyframes pageRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.page-head-card,.list-panel,.detail-layer,.timeline-day,.risk-score-card,.settings-list{border:1px solid #e2e6ee;border-radius:8px;background:#fff}.page-head-card{min-height:148px;padding:22px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;box-shadow:0 18px 42px #181c280f}.page-kicker{display:block;margin-bottom:6px;color:#858b96;font-size:12px;font-weight:800;text-transform:uppercase}.page-head-card h2,.risk-score-card h2{margin:0;font-size:28px;line-height:1.08}.page-head-card p,.risk-score-card p{max-width:560px;margin:8px 0 0;color:#6f7581;line-height:1.55}.head-actions{display:flex;align-items:center;gap:10px}.round-action{width:48px;min-height:48px;padding:0;border-radius:50%;color:#fff;background:#17171d;box-shadow:0 12px 26px #17171d33}.round-action:hover{background:#2b2c34}.ghost-button,.text-icon-button{min-height:40px;padding:0 12px;color:#17171d;background:#eef1f7}.ghost-button:hover,.text-icon-button:hover,.icon-button.neutral:hover{background:#e1e5ee}.text-icon-button{justify-content:flex-start;width:fit-content;background:transparent}.summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fx-warning-panel{padding:12px;border:1px solid #f3c16b;border-radius:8px;background:#fff8e7;color:#7a4a10;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px}.fx-warning-panel strong,.fx-warning-panel span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fx-warning-panel span{color:#9b6a21;font-size:12px}.group-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.group-card{min-height:118px;padding:14px;border:1px solid #e3e7ef;border-radius:8px;color:#17171d;background:#fff;display:grid;align-content:space-between;justify-items:start;text-align:left}.group-card:hover,.group-card.active{border-color:var(--group-color);background:color-mix(in srgb,var(--group-color) 10%,#ffffff)}.group-card span,.choice-row>span,.selected-template-card>span,.row-icon{width:34px;height:34px;border-radius:50%;color:#fff;background:var(--group-color, #8f6ee8);display:inline-grid;place-items:center}.group-card strong,.group-card b{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-card b{font-size:13px}.list-panel,.detail-layer{padding:18px}.percento-row-list{display:grid;gap:6px}.percento-row{width:100%;min-height:72px;padding:12px 0;border-bottom:1px solid #edf0f5;border-radius:0;color:#17171d;background:transparent;display:grid;grid-template-columns:38px minmax(0,1fr) auto 20px;align-items:center;gap:12px;text-align:left}.percento-row:hover{background:#f7f8fb}.percento-row.static{cursor:default}.percento-row.static:hover{background:transparent}.percento-row:last-child{border-bottom:0}.row-icon{background:#8f6ee8}.row-main,.row-value{min-width:0;display:grid;gap:3px}.row-main strong,.row-value b{overflow:hidden;color:#17171d;text-overflow:ellipsis;white-space:nowrap}.row-main small,.row-value small{overflow:hidden;color:#858b96;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-value{justify-items:end;text-align:right}.row-value.income b{color:#258b59}.row-value.expense b{color:#c6532d}.detail-layer{display:grid;gap:14px}.detail-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.detail-head-card{min-height:120px;box-shadow:none}.detail-head-card>strong{align-self:center;font-size:clamp(24px,4vw,38px);white-space:nowrap}.detail-screen-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f2f4f8}.detail-screen-shell *{min-width:0}.detail-screen-header{position:sticky;top:0;z-index:2;width:min(980px,100%);margin:0 auto;padding:18px 28px 10px;background:#f2f4f8f0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:grid;grid-template-columns:minmax(120px,auto) minmax(0,1fr) minmax(120px,auto);align-items:center;gap:12px}.detail-screen-header>div{display:grid;gap:2px;text-align:center}.detail-screen-header span{color:#858b96;font-size:11px;font-weight:800;text-transform:uppercase}.detail-screen-header strong{overflow:hidden;color:#17171d;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.detail-screen-body{width:min(980px,100%);margin:0 auto;padding:10px 28px 34px;display:grid;gap:14px;overflow-x:hidden}.brokerage-overview{padding:20px;border:1px solid #efe4cf;border-radius:8px;background:linear-gradient(135deg,#fff9ee,#fff 66%);box-shadow:0 18px 40px #50361912;display:grid;gap:16px}.brokerage-total{display:grid;gap:4px}.brokerage-total span,.brokerage-metric-grid span,.brokerage-profit-row span{color:#7c838e;font-weight:700}.brokerage-total strong{overflow:hidden;color:#17171d;font-size:clamp(34px,6vw,48px);line-height:1;text-overflow:ellipsis;white-space:nowrap}.brokerage-total small,.brokerage-metric-grid small,.brokerage-profit-row small{color:#9097a2}.brokerage-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.brokerage-metric-grid article{min-height:92px;padding:14px;border:1px solid #f0e7d7;border-radius:8px;background:#ffffffbd;display:grid;align-content:space-between;gap:6px}.brokerage-metric-grid strong{overflow:hidden;color:#17171d;font-size:22px;text-overflow:ellipsis;white-space:nowrap}.brokerage-profit-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.brokerage-profit-row>div{min-height:88px;padding:14px;border-top:1px solid #f0e7d7;display:grid;align-content:center;gap:4px}.brokerage-profit-row strong{color:#17171d;font-size:24px}.brokerage-profit-row strong.loss,.profit-loss{color:#18a957}.brokerage-profit-row strong.gain,.profit-gain{color:#d94444}.brokerage-actions{display:flex;flex-wrap:wrap;gap:8px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:24px;background:#14161c57;display:grid;align-items:end}.bottom-sheet{position:relative;z-index:101;width:min(920px,100%);max-height:min(86vh,820px);margin:0 auto;overflow:auto;overscroll-behavior:contain;padding:18px;border:1px solid #e2e6ee;border-radius:8px;background:#fff;box-shadow:0 26px 90px #0e101647}.sheet-header{position:sticky;top:0;z-index:1;margin:-18px -18px 14px;padding:16px 18px 12px;border-bottom:1px solid #edf0f5;background:#fffffff5;display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-header h2{margin:0;font-size:20px}.icon-button.neutral{color:#17171d;background:#eef1f7}.wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.wizard-steps span{padding:9px 10px;border-radius:8px;color:#858b96;background:#f2f4f8;font-size:12px;font-weight:800;text-align:center}.wizard-steps span.active,.wizard-steps span.done{color:#17171d;background:#e8ecf7}.wizard-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:14px}.wizard-grid h3{margin:0 0 10px;font-size:16px}.choice-list,.form-stack,.info-list{display:grid;gap:10px}.choice-row{width:100%;min-height:68px;padding:12px;border:1px solid #e4e8f0;border-radius:8px;color:#17171d;background:#fff;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:12px;text-align:left}.choice-row:hover,.choice-row.active{border-color:var(--group-color, #8f6ee8);background:color-mix(in srgb,var(--group-color, #8f6ee8) 9%,#ffffff)}.choice-row strong,.selected-template-card strong{display:block;color:#17171d}.choice-row small,.selected-template-card small{color:#858b96;font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;color:#59616d;font-size:13px}.selected-template-card{padding:14px;border:1px solid color-mix(in srgb,var(--group-color) 52%,#ffffff);border-radius:8px;background:color-mix(in srgb,var(--group-color) 10%,#ffffff);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px}.asset-detail-sheet{display:grid;gap:14px}.danger-zone{padding-top:14px;border-top:1px solid #edf0f5;display:grid;gap:8px}.danger-button{color:#fff;background:#d94848}.danger-button:hover{background:#b42318}.sheet-amount{padding:18px;border-radius:8px;background:#f2f4f8;color:#17171d;font-size:clamp(30px,7vw,52px);font-weight:850}.sheet-subamount{margin:-6px 2px 0;color:#858b96;font-size:13px}.sheet-amount.compact{font-size:16px;font-weight:700;display:grid;gap:6px}.sheet-amount.compact span{color:#858b96;font-size:13px}.sheet-amount.compact strong{color:#17171d;font-size:clamp(28px,7vw,42px)}.detail-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.info-list p,.settings-list article{margin:0;padding:12px 0;border-bottom:1px solid #edf0f5;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.info-list p:last-child,.settings-list article:last-child{border-bottom:0}.info-list span{color:#858b96}.segmented-control{padding:4px;border:1px solid #e2e6ee;border-radius:8px;background:#fff;display:inline-grid;grid-auto-flow:column;justify-content:start;gap:4px}.segmented-control button{min-height:36px;padding:0 14px;color:#59616d;background:transparent}.segmented-control button.active,.segmented-control button:hover{color:#17171d;background:#eef1f7}.timeline-panel,.plan-grid,.risk-rule-grid{display:grid;gap:12px}.timeline-day{padding:16px}.timeline-day header{margin-bottom:8px;display:flex;justify-content:space-between;gap:12px}.timeline-day header span{display:block;margin-top:3px;color:#858b96;font-size:12px}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.plan-card{min-height:170px;padding:16px;border:1px solid #e2e6ee;border-radius:8px;background:#fff;display:grid;align-content:space-between;gap:12px}.plan-card.warning{border-color:#f1d596;background:#fff8e8}.plan-card.over{border-color:#f0b2b0;background:#fff0ef}.plan-card h3{margin:4px 0 0}.plan-card span,.plan-card p{margin:0;color:#858b96;font-size:13px}.risk-score-card{min-height:190px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px}.risk-score-card strong{width:118px;aspect-ratio:1;border-radius:50%;color:#17171d;background:#edf1ff;display:grid;place-items:center;font-size:42px}.risk-score-card.warning strong{background:#fff0c8}.risk-score-card.critical strong{background:#ffe0df}.risk-rule-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.risk-rule-grid article{min-height:118px;padding:14px;border:1px solid #e2e6ee;border-radius:8px;background:#fff;display:grid;align-content:space-between;gap:8px}.risk-rule-grid article svg{color:#8f6ee8}.risk-rule-grid article span{color:#858b96;font-size:12px;line-height:1.45}.settings-list{padding:6px 18px}.settings-list article{grid-template-columns:38px minmax(0,1fr) auto;align-items:center}.settings-list small{display:block;margin-top:4px;color:#858b96}.warning-row .row-icon{color:#7a4a10;background:#fff0c7}.fx-rate-form{margin-top:14px;display:grid;grid-template-columns:minmax(86px,.7fr) minmax(120px,1fr) minmax(138px,1fr) auto;gap:10px}.fx-rate-form input{min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric,.panel,.goal-card{border:1px solid #e2e6ee;border-radius:8px;background:#fff}.metric{min-height:112px;padding:18px;display:grid;align-content:space-between}.metric span{color:#53615c}.metric strong{font-size:clamp(22px,3vw,32px);line-height:1.1}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-toolbar h2{margin:0 0 4px;font-size:18px}.section-toolbar p{margin:0;color:#53615c}.checkbox-row{display:flex;align-items:center;gap:8px;color:#1c2723}.checkbox-row input{width:auto}.panel{padding:18px}.panel h2{margin:0 0 14px;font-size:18px;display:flex;align-items:center;gap:8px}.allocation{display:grid;gap:14px}.allocation>div{display:grid;grid-template-columns:1fr auto;gap:8px}.bar{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:#e7ece9}.bar i{display:block;height:100%;border-radius:inherit;background:#f0b94b}.bar.warning i{background:#f0b94b}.bar.over i{background:#d95f59}.dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.visual-panel{min-height:260px}.donut-layout{display:grid;grid-template-columns:132px minmax(0,1fr);gap:18px;align-items:center}.donut{width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;top:28px;right:28px;bottom:28px;left:28px;border-radius:50%;background:#fff}.donut svg{position:relative;z-index:1;color:#2f7d73}.chart-legend{display:grid;gap:9px}.chart-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0}.chart-legend i{width:10px;height:10px;border-radius:50%}.chart-legend span,.chart-legend b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-heat{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}.calendar-heat div{min-height:52px;padding:8px;border-radius:8px;color:#fff;background:#2f63c7;display:grid;align-content:space-between}.calendar-heat span{font-size:12px}.calendar-heat b{font-size:11px;white-space:nowrap}.compact-list{display:grid;gap:10px}.compact-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 0;border-bottom:1px solid #edf2ef}.compact-list article:last-child{border-bottom:0}.compact-list div{display:grid;gap:3px}.asset-value{justify-items:end}.asset-value span,.quote-error{color:#53615c;font-size:12px}.quote-error{color:#b42318}.grid-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end}.asset-container-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.asset-container-card{border:1px solid #d8e1dc;border-radius:8px;background:#fff;padding:16px;display:grid;gap:12px}.asset-container-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.asset-container-card h3{margin:0;font-size:17px}.asset-container-card p{margin:4px 0 0;color:#6a7671;font-size:13px}.insight-list{display:grid;gap:10px}.insight-list article{padding:12px;border-radius:8px;border:1px solid #d8e1dc;background:#f7faf8}.insight-list article.warning{border-color:#eed49c;background:#fff8e7}.insight-list article.critical{border-color:#efb4ad;background:#fff0ee}.insight-list article.info{border-color:#b9d0ff;background:#eff5ff}.insight-list strong{display:block;margin-bottom:5px}.insight-list p,.insight-list span{margin:0;color:#53615c;font-size:13px;line-height:1.45}.insight-list span{display:block;margin-top:6px;color:#18211f}.risk-hero{display:flex;align-items:center;justify-content:space-between;gap:16px}.risk-hero p{margin:0;color:#53615c}.table-panel{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:640px}th,td{padding:12px 10px;border-bottom:1px solid #edf2ef;text-align:left;white-space:nowrap}th{color:#53615c;font-size:13px;font-weight:650}.goal-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.goal-card{padding:16px;display:grid;gap:12px}.goal-card h3{margin:0}.goal-card p{margin:4px 0 0}.status-panel{display:flex;align-items:center;justify-content:space-between;gap:14px}code{display:block;overflow-x:auto;padding:12px;border-radius:8px;color:#173b35;background:#edf5f2}.empty{color:#6a7671}@media(max-width:860px){.app-shell{grid-template-columns:1fr;padding-bottom:74px}.sidebar{position:fixed;inset:auto 0 0;z-index:5;height:auto;padding:8px max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-top:1px solid #d8e1dc;border-right:0}.brand{display:none}.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.sidebar nav button{min-height:54px;padding:4px 2px;justify-content:center;display:grid;place-items:center;gap:2px;font-size:11px}.workspace{padding:18px 14px}.metric-grid,.dashboard-metrics,.dashboard-grid,.split,.percento-hero,.percento-overview-grid,.percento-pulse-grid,.percento-detail-grid,.summary-strip,.brokerage-metric-grid,.brokerage-profit-row,.wizard-grid,.form-grid,.detail-stat-grid,.risk-rule-grid{grid-template-columns:1fr}.page-head-card,.risk-score-card{min-height:0;padding:18px;display:grid}.page-head-card h2,.risk-score-card h2{font-size:24px}.head-actions{justify-content:space-between}.group-board{grid-template-columns:repeat(2,minmax(0,1fr))}.group-card{min-height:104px}.percento-row{grid-template-columns:38px minmax(0,1fr) auto}.percento-row>svg{display:none}.row-value{max-width:128px}.detail-header{align-items:stretch;display:grid;grid-template-columns:1fr}.detail-screen-header{padding:14px 14px 8px;grid-template-columns:72px minmax(0,1fr) 72px}.detail-screen-header .ghost-button{width:72px;padding:0;font-size:0}.detail-screen-header .ghost-button svg{flex:0 0 auto}.detail-screen-header .text-icon-button{width:72px;padding:0;justify-content:flex-start}.detail-screen-body{padding:8px 14px max(34px,env(safe-area-inset-bottom))}.detail-head-card>strong{font-size:28px}.brokerage-overview{padding:16px}.brokerage-total strong{font-size:clamp(31px,9vw,40px)}.brokerage-actions{display:grid;grid-template-columns:1fr}.sheet-backdrop{padding:10px}.bottom-sheet{max-height:88vh;padding:16px}.sheet-header{margin:-16px -16px 12px;padding:14px 16px 10px}.wizard-steps{gap:5px}.choice-row,.selected-template-card{grid-template-columns:38px minmax(0,1fr) 18px}.settings-list article{grid-template-columns:38px minmax(0,1fr)}.settings-list article button{grid-column:1 / -1}.fx-warning-panel,.fx-rate-form{grid-template-columns:1fr}.fx-warning-panel .ghost-button{width:100%}.topbar h1{font-size:24px}.percento-hero-main{min-height:288px;padding:22px}.net-worth-amount{font-size:clamp(33px,9.4vw,40px);white-space:nowrap}.hero-stat-row{grid-template-columns:1fr}.asset-stack-card{min-height:0;grid-template-columns:24px minmax(0,1fr)}.percento-asset-card,.balance-sheet-list article{min-width:0}.asset-treemap{min-height:260px}.asset-treemap article{min-width:min(100%,148px);min-height:112px}.donut-layout{grid-template-columns:1fr}.donut{margin:0 auto}}.alpha-shell{display:grid;gap:16px;min-width:0}.alpha-titlebar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;padding:20px;border:1px solid #dfe4ee;border-radius:8px;background:#fff;box-shadow:0 14px 34px #181c280f}.alpha-titlebar h2{margin:2px 0 4px;font-size:28px;letter-spacing:0}.alpha-titlebar p,.alpha-panel-head span,.alpha-question p,.alpha-metric small,.alpha-position-row span,.alpha-detail-hero small,.alpha-log-list span,.alpha-audit-list span,.alpha-form-note{margin:0;color:#737b87;font-size:13px}.alpha-title-actions,.alpha-inline-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.alpha-tabs{display:grid;grid-template-columns:repeat(11,minmax(82px,1fr));gap:6px;padding:6px;border:1px solid #dde3ec;border-radius:8px;background:#fff;overflow-x:auto}.alpha-tabs button{min-width:0;min-height:42px;padding:0 10px;color:#56606b;background:transparent;white-space:nowrap}.alpha-tabs button.active{color:#17171d;background:#edf2f7}.alpha-grid,.alpha-two-col{display:grid;gap:16px;min-width:0}.alpha-two-col{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start}.alpha-positions-layout{grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr)}.alpha-hero,.alpha-panel,.alpha-question,.alpha-metric{min-width:0;border:1px solid #dfe4ee;border-radius:8px;background:#fff;box-shadow:0 14px 34px #181c280f}.alpha-hero{display:flex;justify-content:space-between;gap:18px;padding:24px;background:#151922;color:#fff}.alpha-hero-main{min-width:0}.alpha-hero-main span,.alpha-hero-main p{color:#ffffffb8}.alpha-hero-main h3{margin:8px 0;font-size:clamp(34px,5vw,56px);letter-spacing:0}.alpha-hero-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.alpha-hero .ghost-button{color:#fff;background:#ffffff21}.alpha-metric-grid,.alpha-question-grid,.alpha-index-grid,.alpha-price-grid,.alpha-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.alpha-metric,.alpha-question{padding:16px}.alpha-metric strong{display:block;margin:7px 0 5px;font-size:24px;letter-spacing:0}.alpha-question{min-height:142px;border-left:4px solid #9aa4b2}.alpha-question strong{display:block;margin:8px 0;font-size:18px}.alpha-panel{padding:18px}.alpha-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.alpha-panel-head.compact{margin-bottom:8px}.alpha-panel-head h3,.alpha-panel h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:18px}.alpha-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alpha-index{display:grid;gap:8px;padding:12px;border-radius:8px;background:#f6f8fb}.alpha-index strong{font-size:28px}.alpha-index i{display:block;height:5px;border-radius:999px;background:currentColor}.alpha-position-mini{display:grid;gap:14px}.alpha-position-mini strong{display:block;margin-top:3px;font-size:22px}.alpha-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.alpha-position-list,.alpha-alert-list,.alpha-log-list,.alpha-audit-list,.alpha-table-list{display:grid;gap:10px}.alpha-position-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;border:1px solid #e2e7ef;border-radius:8px;background:#fbfcfe;cursor:pointer}.alpha-position-row.active{border-color:#2f7d73;background:#eef8f5}.alpha-position-row strong,.alpha-position-value b{display:block}.alpha-position-value{text-align:right}.alpha-row-actions{display:flex;align-items:center;gap:4px}.danger-icon{color:#c24136;background:#fff0ee}.alpha-stock-detail{display:grid;gap:14px}.alpha-detail-hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.alpha-detail-hero>div{min-width:0;padding:16px;border-radius:8px;background:#f6f8fb}.alpha-detail-hero strong{display:block;margin:8px 0 4px;font-size:28px}.alpha-score-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;padding:16px;border-radius:8px;background:#f6f8fb}.alpha-score-card>div:first-child strong{display:block;margin-top:4px;font-size:46px}.alpha-score-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}.alpha-score-breakdown p,.info-list p{display:flex;justify-content:space-between;gap:12px;margin:0}.alpha-panel-sub{display:grid;gap:10px;padding-top:4px}.alpha-recommendation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.alpha-bullets{min-width:0;padding:13px;border-radius:8px;background:#f6f8fb}.alpha-bullets ul{margin:8px 0 0;padding-left:18px}.alpha-bullets li{margin:5px 0;color:#4c5563;font-size:13px;line-height:1.45}.alpha-select-row{justify-content:space-between;color:#17171d;background:#f6f8fb}.alpha-select-row.active{color:#fff;background:#2f7d73}.committee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.committee-grid article,.committee-chair{padding:14px;border-radius:8px;background:#f6f8fb}.committee-grid p,.briefing-card p,.alpha-log-list p,.alpha-audit-list p{color:#4c5563;line-height:1.55}.committee-chair{grid-column:1 / -1;border:1px solid #cddad7;background:#eef8f5}.committee-chair span,.briefing-card span{color:#2f7d73;font-weight:700}.briefing-card{display:grid;gap:8px;padding:16px;border-radius:8px;background:#f6f8fb}.briefing-card h3{font-size:24px}.alpha-alert,.alpha-log-list article,.alpha-audit-list article,.alpha-table-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #e2e7ef;border-radius:8px;background:#fbfcfe}.alpha-alert p,.alpha-log-list p,.alpha-audit-list p,.alpha-table-list p{grid-column:1 / -1;margin:0}.alpha-table-list article>span{color:#737b87;font-size:13px;text-align:right}.alpha-soft-warning{border-color:#f4d38c;background:#fff9e8}.alpha-soft-danger{border-color:#f2b8ad;background:#fff5f2}.alpha-risk-banner{margin-bottom:12px;padding:14px;border:1px solid #f2b8ad;border-radius:8px;color:#b42318;background:#fff5f2;font-weight:800;line-height:1.45}.alpha-data-quality{margin-top:12px;padding:14px;border-radius:8px;background:#f6f8fb}.alpha-data-quality b{text-align:right}.alpha-alert select{width:116px}.alpha-alert-high,.alpha-alert-extreme{border-color:#f2b8ad;background:#fff5f2}.alpha-alert-medium{border-color:#f4d38c;background:#fff9e8}.alpha-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.alpha-form-note{margin-top:10px}.alpha-discipline-list{display:grid;gap:10px;margin:12px 0}.alpha-discipline-list p{display:flex;align-items:flex-start;gap:8px;margin:0;padding:12px;border-radius:8px;color:#4c5563;background:#f6f8fb;line-height:1.5}.alpha-tone-good{border-color:#b9ded4;color:#1e6f62}.alpha-tone-watch{border-color:#c9d8f0;color:#3567a8}.alpha-tone-warn{border-color:#f2d093;color:#9a5b00}.alpha-tone-danger{border-color:#f2b8ad;color:#b42318}.alpha-tone-neutral{border-color:#dfe4ee;color:#56606b}.alpha-metric-total{border-top:4px solid #2f7d73}.alpha-metric-stock{border-top:4px solid #f17a45}.alpha-metric-cash{border-top:4px solid #3567a8}.alpha-metric-today{border-top:4px solid #6f5fd6}@media(max-width:980px){.alpha-tabs{grid-template-columns:repeat(4,minmax(96px,1fr))}.alpha-two-col,.alpha-positions-layout,.alpha-metric-grid,.alpha-question-grid,.alpha-recommendation-grid,.alpha-summary-strip{grid-template-columns:1fr}.alpha-price-grid,.alpha-mini-grid,.alpha-score-breakdown,.committee-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.alpha-titlebar,.alpha-hero,.alpha-panel-head,.alpha-position-row,.alpha-alert,.alpha-log-list article,.alpha-audit-list article,.alpha-table-list article{display:grid;grid-template-columns:1fr}.alpha-title-actions,.alpha-hero-actions,.alpha-inline-actions,.alpha-row-actions{width:100%}.alpha-title-actions button,.alpha-hero-actions button,.alpha-inline-actions button{flex:1 1 auto}.alpha-tabs{grid-template-columns:repeat(4,minmax(76px,1fr))}.alpha-tabs button{display:grid;gap:2px;min-height:50px;font-size:12px}.alpha-position-value{text-align:left}.alpha-detail-hero,.alpha-price-grid,.alpha-mini-grid,.alpha-score-card,.alpha-score-breakdown,.committee-grid,.alpha-index-grid{grid-template-columns:1fr}.alpha-hero-main h3{font-size:38px}}
