:root{
  --font-ui:"Segoe UI Variable Text","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
  --font-display:"Segoe UI Variable Display","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
  --font-number:Bahnschrift,"Segoe UI Variable Display","Microsoft YaHei UI",sans-serif;
  --surface-raised:#ffffff;
  --surface-subtle:#f7faf8;
  --shadow-sm:0 2px 5px rgba(20,45,35,.05),0 1px 1px rgba(20,45,35,.04);
  --shadow-md:0 10px 24px rgba(20,45,35,.08),0 2px 5px rgba(20,45,35,.05);
  --shadow-lg:0 22px 48px rgba(20,45,35,.12),0 5px 12px rgba(20,45,35,.06);
}

body{font-family:var(--font-ui);font-size:14px;line-height:1.5;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--font-ui)}
h1,h2,h3,h4,.record-amount,.metric strong,.overview-total strong,.gold-quote strong,.bank-summary-values strong,.bank-total strong{font-family:var(--font-display);font-variation-settings:"wght" 680;letter-spacing:0}
.metric strong,.overview-total strong,.gold-quote strong,.record-amount,.gold-cell strong,.overview-cell strong,.annual-stat strong,.activity-value strong{font-family:var(--font-number);font-variant-numeric:tabular-nums lining-nums;letter-spacing:0}
.brand h1{font-size:22px;font-weight:760;line-height:1.18}.brand p{font-size:12px;font-weight:500}.brand-mark{border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 22px color-mix(in srgb,var(--green) 26%,transparent),inset 0 1px 0 rgba(255,255,255,.22)}
.sidebar{box-shadow:8px 0 28px rgba(23,50,40,.045);position:relative;z-index:2}.nav-tabs{border:1px solid color-mix(in srgb,var(--line) 75%,transparent);box-shadow:inset 0 1px 2px rgba(25,48,39,.04)}.nav-tab{font-weight:600}.nav-tab.active{font-weight:750;box-shadow:var(--shadow-sm)}
.side-panel{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb,var(--line) 88%,var(--green) 12%)}.panel-title h2{font-size:18px;font-weight:750}.panel-title h3{font-size:14px;font-weight:720}
label,legend{font-weight:630;color:color-mix(in srgb,var(--ink) 72%,var(--muted))}input,select,textarea{font-weight:520;box-shadow:inset 0 1px 2px rgba(20,45,35,.035);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line))}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 13%,transparent),inset 0 1px 2px rgba(20,45,35,.03)}
.primary-btn,.secondary-btn,.danger-btn{font-weight:680;box-shadow:var(--shadow-sm);transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.primary-btn:hover,.secondary-btn:hover{transform:translateY(-1px);box-shadow:0 7px 15px rgba(20,45,35,.1)}.primary-btn:active,.secondary-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}button:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 24%,transparent);outline-offset:2px}
main{background:var(--bg)}.topbar{padding-bottom:4px}.topbar h2{position:relative;font-size:30px;font-weight:780;line-height:1.12}.topbar h2::after{content:"";display:block;width:36px;height:3px;margin-top:9px;background:var(--green);border-radius:2px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px}.subtitle{font-weight:500}
.page-tabs{padding:0 4px;background:color-mix(in srgb,var(--panel) 72%,transparent);border-radius:7px 7px 0 0}.page-tabs button{font-weight:620;transition:color .15s ease,background .15s ease}.page-tabs button:hover{color:var(--ink);background:color-mix(in srgb,var(--green-soft) 60%,transparent)}.page-tabs button.active{font-weight:760;background:color-mix(in srgb,var(--green-soft) 45%,transparent)}
.metric{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--line) 84%,var(--metric-accent,var(--green)) 16%);box-shadow:var(--shadow-md);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.metric::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--metric-accent,var(--green))}.metric:nth-child(2){--metric-accent:#3479b8}.metric:nth-child(3){--metric-accent:#d19a2b}.metric:nth-child(4){--metric-accent:#8a5ea6}.metric:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--metric-accent,var(--green)) 38%,var(--line))}.metric.featured{--metric-accent:rgba(255,255,255,.78);box-shadow:0 16px 34px color-mix(in srgb,var(--green) 26%,transparent)}.metric.featured::after{width:5px}.metric span{font-weight:650}.metric strong{font-size:26px;font-weight:760;line-height:1.1}.metric small{font-weight:500}
.overview-banner{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 72%,#fff);box-shadow:0 18px 38px color-mix(in srgb,var(--green) 25%,transparent),inset 0 1px 0 rgba(255,255,255,.18)}.overview-banner::after{content:"";position:absolute;right:-52px;top:-82px;width:180px;height:180px;border:38px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}.overview-banner h2{font-size:26px;font-weight:780}.overview-total{position:relative;z-index:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 20px rgba(0,0,0,.08)}.overview-total strong{font-size:32px}
.records-section,.insight-panel{border-color:color-mix(in srgb,var(--line) 90%,var(--green) 10%);box-shadow:var(--shadow-md)}.section-heading h3{font-size:17px;font-weight:760;position:relative}.section-heading h3::after{content:"";display:block;width:24px;height:2px;background:color-mix(in srgb,var(--green) 76%,transparent);margin-top:6px;border-radius:2px}.section-heading p{font-weight:500}
.toolbar{padding:10px;background:var(--surface-subtle);border:1px solid var(--line);border-radius:7px;box-shadow:inset 0 1px 2px rgba(20,45,35,.03)}.toolbar input,.toolbar select{background:var(--panel)}
.bank-summary-card{background:var(--panel);box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease}.bank-summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.bank-logo{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bank-color) 18%,transparent);font-weight:800}.bank-summary-head h4,.bank-title h4{font-weight:740}.bank-summary-values strong{font-size:16px}
.bank-group-header{border:1px solid var(--line);border-left:5px solid var(--bank-color);box-shadow:var(--shadow-sm);background:color-mix(in srgb,var(--bank-color) 4%,var(--panel))}.record-card{background:var(--panel);box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.record-card:hover{transform:translateX(2px);box-shadow:var(--shadow-md)}.record-head h4{font-size:15px;font-weight:750}.record-bank-label{font-weight:720}.record-amount{font-size:22px}.record-profit{font-weight:650}.record-meta strong{font-family:var(--font-number);font-size:13px;font-weight:680}.progress{box-shadow:inset 0 1px 2px rgba(20,45,35,.08)}
.gold-hero{border-color:color-mix(in srgb,#d7a928 30%,var(--line));box-shadow:0 14px 30px rgba(128,91,14,.09),0 2px 5px rgba(20,45,35,.04)}.gold-hero h2{font-size:25px;font-weight:780}.gold-quote strong{font-size:28px;font-weight:760;color:#a36d00}.gold-item{transition:background .15s ease}.gold-item:hover{background:color-mix(in srgb,#d7a928 5%,transparent)}
.allocation-ring{box-shadow:0 12px 28px rgba(20,45,35,.12),inset 0 0 0 1px rgba(255,255,255,.28)}.allocation-ring::after{box-shadow:inset 0 2px 7px rgba(20,45,35,.08)}.summary-row{background:var(--panel);box-shadow:var(--shadow-sm);transition:transform .15s ease}.summary-row:hover{transform:translateX(2px)}.summary-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 13%,transparent)}
.activity-item,.trash-item,.overview-item,.maturity-row{transition:background .14s ease}.activity-item:hover,.trash-item:hover,.overview-item:hover,.maturity-row:hover{background:color-mix(in srgb,var(--green-soft) 48%,transparent)}.activity-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 13%,transparent)}
.risk-item{background:var(--panel);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.risk-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.risk-item h4{font-weight:730}.annual-stat{box-shadow:var(--shadow-sm)}.annual-stat strong{font-size:18px}.maturity-bar{box-shadow:0 3px 8px color-mix(in srgb,var(--green) 22%,transparent)}
.analytics-toolbar h2{font-size:26px;font-weight:780}.lock-card{border-color:color-mix(in srgb,var(--line) 78%,var(--green) 22%);box-shadow:0 30px 80px rgba(13,35,27,.2),0 8px 20px rgba(13,35,27,.1)}.lock-brand h2{font-size:23px;font-weight:780}
.toast{font-weight:650;box-shadow:0 16px 34px rgba(13,35,27,.22);border:1px solid rgba(255,255,255,.12)}
html[data-theme="dark"]{--surface-raised:var(--panel);--surface-subtle:#151f1a;--shadow-sm:0 2px 6px rgba(0,0,0,.18);--shadow-md:0 10px 26px rgba(0,0,0,.24);--shadow-lg:0 22px 50px rgba(0,0,0,.32)}
html[data-theme="dark"] .toolbar,html[data-theme="dark"] .bank-group-header{background:var(--surface-subtle)}html[data-theme="dark"] .record-card,html[data-theme="dark"] .bank-summary-card,html[data-theme="dark"] .summary-row,html[data-theme="dark"] .risk-item{background:var(--panel)}html[data-theme="dark"] .lock-button{background:var(--panel);color:var(--ink)}html[data-theme="dark"] .page-tabs{background:color-mix(in srgb,var(--panel) 80%,transparent)}
@media(max-width:760px){.topbar h2{font-size:25px}.metric strong{font-size:21px}.overview-banner h2{font-size:23px}.overview-total strong{font-size:27px}.record-card:hover{transform:none}.records-section,.insight-panel,.metric{box-shadow:var(--shadow-sm)}}
.bank-summary{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.bank-summary-card{position:relative;overflow:hidden;padding:15px 16px;border-left-width:5px;cursor:pointer}.bank-summary-card::after{content:"";position:absolute;right:-28px;top:-35px;width:92px;height:92px;border:18px solid color-mix(in srgb,var(--bank-color) 7%,transparent);border-radius:50%;pointer-events:none}.bank-summary-card.bank-primary{grid-column:span 2;background:color-mix(in srgb,var(--bank-color) 5%,var(--panel));box-shadow:0 15px 32px color-mix(in srgb,var(--bank-color) 13%,transparent),var(--shadow-sm)}.bank-summary-card.focused{border-color:var(--bank-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--bank-color) 18%,transparent),var(--shadow-md);transform:translateY(-2px)}.bank-summary-head{position:relative;z-index:1}.bank-summary-head h4{font-size:14px}.bank-summary-values{position:relative;z-index:1}.bank-summary-values strong{font-family:var(--font-number);font-size:20px;font-weight:760}.bank-summary-values small{font-size:11px;font-weight:650}.bank-share{margin-top:12px;position:relative;z-index:1}.bank-share-label{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:600;margin-bottom:5px}.bank-share-track{height:6px;background:color-mix(in srgb,var(--line) 72%,transparent);border-radius:4px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(20,45,35,.08)}.bank-share-track i{display:block;height:100%;width:var(--share);background:var(--bank-color);border-radius:4px;box-shadow:0 0 8px color-mix(in srgb,var(--bank-color) 28%,transparent)}.bank-chart-block{margin:4px 0 18px;padding:16px 17px 12px;border:1px solid color-mix(in srgb,var(--line) 82%,var(--green) 18%);border-radius:7px;background:var(--panel);box-shadow:var(--shadow-md)}.bank-chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.bank-chart-heading h3{font-size:16px;font-weight:760;margin:0}.bank-chart-heading p{font-size:11px;color:var(--muted);margin-top:4px}.bank-chart-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.bank-chart-legend{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.bank-legend-item{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;white-space:nowrap}.bank-legend-item i{display:block;width:16px;height:3px;border-radius:2px;background:var(--legend-color)}.bank-chart-wrap{position:relative;height:245px;min-height:245px}.bank-chart-wrap canvas{display:block;width:100%;height:100%}.bank-chart-wrap .chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:12px}.records{margin-top:2px}html[data-theme="dark"] .bank-summary-card.bank-primary,html[data-theme="dark"] .bank-chart-block{background:var(--panel)}
@media(max-width:760px){.bank-summary-card.bank-primary{grid-column:span 2}.bank-chart-heading{display:block}.bank-chart-actions{justify-content:space-between;margin-top:10px}.bank-chart-legend{justify-content:flex-start}.bank-chart-wrap{height:215px;min-height:215px}}
@media(max-width:430px){.bank-summary-card.bank-primary{grid-column:span 1}.bank-chart-block{padding:14px 12px}.bank-chart-wrap{height:200px;min-height:200px}}
.bank-summary-section{margin-bottom:16px;padding:16px;border:1px solid color-mix(in srgb,var(--green) 20%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--green-soft) 62%,var(--panel));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),var(--shadow-sm)}.bank-summary-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}.bank-summary-title h3{font-size:17px;font-weight:770;margin:2px 0 0}.bank-summary-title>span{color:var(--muted);font-size:10px;font-weight:600}.bank-summary{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-auto-rows:1fr;gap:10px;margin:0}.bank-summary-card,.bank-summary-card.bank-primary{grid-column:span 1;display:flex;flex-direction:column;justify-content:space-between;min-height:158px;height:100%;background:var(--panel);box-shadow:var(--shadow-sm)}.bank-summary-card.bank-primary{border-top:2px solid var(--bank-color)}html[data-theme="dark"] .bank-summary-section{background:color-mix(in srgb,var(--green-soft) 38%,var(--bg));box-shadow:inset 0 1px 0 rgba(255,255,255,.04),var(--shadow-sm)}
@media(max-width:760px){.bank-summary-card.bank-primary{grid-column:span 1}.bank-summary-section{padding:13px}.bank-summary-title{align-items:flex-start}}
.bank-summary-section{background:color-mix(in srgb,var(--green-soft) 72%,var(--panel));border-color:color-mix(in srgb,var(--green) 28%,var(--line));box-shadow:inset 0 1px 0 rgba(255,255,255,.68),0 10px 24px rgba(20,45,35,.07)}.bank-summary-title{padding:2px 3px 1px}.bank-summary-title h3{font-size:18px}.bank-summary-card,.bank-summary-card.bank-primary{background:color-mix(in srgb,var(--bank-color) 9%,var(--panel));border-color:color-mix(in srgb,var(--bank-color) 32%,var(--line));border-left:6px solid var(--bank-color);border-top:1px solid color-mix(in srgb,var(--bank-color) 32%,var(--line));box-shadow:0 8px 20px color-mix(in srgb,var(--bank-color) 11%,transparent),inset 0 1px 0 rgba(255,255,255,.62)}.bank-summary-card:hover{background:color-mix(in srgb,var(--bank-color) 13%,var(--panel));border-color:color-mix(in srgb,var(--bank-color) 55%,var(--line));box-shadow:0 13px 27px color-mix(in srgb,var(--bank-color) 17%,transparent)}.bank-summary-card::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--bank-color);opacity:.8}.bank-summary-head h4{color:color-mix(in srgb,var(--bank-color) 82%,var(--ink));font-size:15px}.bank-summary-card .bank-logo{background:color-mix(in srgb,var(--bank-color) 18%,var(--panel));color:color-mix(in srgb,var(--bank-color) 88%,var(--ink));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bank-color) 34%,transparent)}.bank-summary-values strong{color:color-mix(in srgb,var(--bank-color) 84%,var(--ink));font-size:21px}.bank-summary-values small{color:color-mix(in srgb,var(--bank-color) 84%,var(--green-dark))}.bank-share-label strong{color:color-mix(in srgb,var(--bank-color) 84%,var(--ink))}html[data-theme="dark"] .bank-summary-section{background:color-mix(in srgb,var(--green-soft) 35%,var(--bg))}html[data-theme="dark"] .bank-summary-card,html[data-theme="dark"] .bank-summary-card.bank-primary{background:color-mix(in srgb,var(--bank-color) 14%,var(--panel));box-shadow:0 8px 22px rgba(0,0,0,.23)}html[data-theme="dark"] .bank-summary-card:hover{background:color-mix(in srgb,var(--bank-color) 20%,var(--panel))}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
