/* Final UI system: this layer intentionally normalizes legacy component styles. */
:root{
  --ink:#17211d;
  --muted:#5f6e67;
  --line:#dce3df;
  --bg:#f4f6f5;
  --panel:#fff;
  --surface-subtle:#f7f9f8;
  --blue:#2f6fa3;
  --gold:#a87518;
  --red:#b53a3a;
  --radius-sm:4px;
  --radius-md:6px;
  --radius-lg:8px;
  --shadow-sm:0 1px 2px rgba(18,40,31,.04);
  --shadow-md:0 10px 28px rgba(18,40,31,.09);
  --shadow-lg:0 24px 64px rgba(13,35,27,.16);
  --ease:cubic-bezier(.2,.7,.2,1);
}

body{font-size:14px;line-height:1.5;background:var(--bg)}
html{scrollbar-gutter:stable}body{min-width:320px}
.app-shell{grid-template-columns:316px minmax(0,1fr)}
.sidebar{padding:24px 20px;background:color-mix(in srgb,var(--panel) 82%,var(--bg));box-shadow:none}
main{width:100%;max-width:1480px;justify-self:center;padding:32px 36px 48px}
@media(min-width:761px){.sidebar{position:sticky;top:0;height:100vh;overscroll-behavior:contain}}

h1,h2,h3,h4{font-weight:680!important}
.brand h1{font-size:21px}.topbar h2{font-size:28px}.topbar h2::after,.section-heading h3::after{display:none}
.eyebrow{font-size:10px;letter-spacing:1.2px;color:color-mix(in srgb,var(--green) 82%,var(--ink))}
.subtitle,.section-heading p,.muted,.hint,.side-copy{color:var(--muted)}

.brand{margin-bottom:20px}.brand-mark{width:40px;height:40px;border-radius:var(--radius-lg);box-shadow:none}
.nav-tabs{gap:4px;padding:4px;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-subtle);box-shadow:none}
.nav-tab{min-height:52px;border-radius:var(--radius-md);font-weight:600}.nav-tab.active{box-shadow:var(--shadow-sm)}
.side-panel{padding:18px;border-radius:var(--radius-lg);border-color:var(--line);box-shadow:none}

.topbar{min-height:68px;margin-bottom:20px}.page-tabs{position:sticky;top:0;z-index:12;gap:2px;margin:0 0 24px;padding:0;border-radius:0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px)}
.page-tabs button{min-height:44px;padding:10px 14px;font-size:13px;font-weight:550;transition:color 160ms var(--ease),background 160ms var(--ease),border-color 160ms var(--ease)}
.page-tabs button.active{font-weight:680;background:transparent}
.page-tabs button[aria-current="page"]{color:var(--green);border-bottom-color:var(--green)}

label,legend{font-size:12px;font-weight:600;margin-bottom:14px}
input,select,textarea{min-height:40px;margin-top:6px;padding:9px 11px;border-radius:var(--radius-md);border-color:var(--line);font-size:13px;font-weight:450;box-shadow:none;transition:border-color 160ms var(--ease),box-shadow 160ms var(--ease),background 160ms var(--ease)}
textarea{min-height:auto}.form-grid{gap:12px}.segmented{padding:3px;border-radius:var(--radius-md)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}
input:disabled,select:disabled,textarea:disabled,button:disabled{cursor:not-allowed;opacity:.56}
input:read-only{background:var(--surface-subtle)}
.segmented button,.view-switch button{min-height:32px;border-radius:var(--radius-sm)}

.primary-btn,.secondary-btn,.danger-btn{min-height:40px;padding:9px 14px;border-radius:var(--radius-md);font-weight:650;box-shadow:none;transition:background 140ms var(--ease),border-color 140ms var(--ease),transform 120ms var(--ease)}
.primary-btn:hover,.secondary-btn:hover{transform:none;box-shadow:none}.primary-btn:active,.secondary-btn:active,.danger-btn:active{transform:scale(.98);box-shadow:none}
.icon-btn{display:inline-grid;place-items:center;flex:0 0 32px;width:32px;height:32px;padding:0;border-radius:var(--radius-md);line-height:1}
.icon-btn:focus-visible,.nav-tab:focus-visible,.page-tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--green) 22%,transparent);outline-offset:2px}
.compact{min-height:36px;padding:7px 12px}.top-actions{gap:8px}
.top-actions .secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.btn-icon{display:inline-grid;place-items:center;width:16px;height:16px;line-height:1;font-size:16px}.btn-label{white-space:nowrap}

.metric-grid{gap:12px;margin-bottom:20px}.metric{min-height:124px;padding:18px;border-radius:var(--radius-lg);border-color:var(--line);box-shadow:none;transition:border-color 180ms var(--ease),background 180ms var(--ease)}
.metric::after{width:3px}.metric:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--metric-accent,var(--green)) 35%,var(--line))}
.metric.featured{box-shadow:none}.metric strong{font-size:25px;font-weight:700}.metric span{font-size:12px;font-weight:600}.metric small{font-size:11px;line-height:1.4}

.overview-banner{min-height:150px;padding:24px 28px;margin-bottom:16px;border-radius:var(--radius-lg);box-shadow:none}
.overview-banner::after{display:none}.overview-banner h2{font-size:25px}.overview-total{min-width:250px;padding:14px 16px;border-radius:var(--radius-md);box-shadow:none}.overview-total strong{font-size:31px}
.overview-grid,.content-grid,.gold-layout,.insurance-grid,.analytics-grid,.history-grid{gap:16px}

.records-section,.insight-panel{padding:20px;border-radius:var(--radius-lg);border-color:var(--line);box-shadow:none}
.section-heading{margin-bottom:16px}.section-heading h3{font-size:16px}.section-heading p{font-size:12px}
.toolbar{gap:8px;padding:8px;margin-bottom:16px;border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:none}
.table-view,.overview-table,.maturity-table{scrollbar-width:thin;overscroll-behavior-x:contain}

.record-card,.summary-row,.risk-item,.policy-item,.coverage-cell{box-shadow:none!important}
.record-card{border-radius:var(--radius-md);transition:border-color 160ms var(--ease),background 160ms var(--ease)}
.record-card:hover{transform:none;background:var(--surface-subtle);box-shadow:none}.record-head h4{font-weight:650!important}.record-meta span,.timeline-item p,.overview-cell span,.gold-cell span,.activity-item p,.trash-item p,.risk-item p,.policy-item p,.policy-cell span{font-size:11px}
.badge,.asset-type,.policy-badge{font-size:10px;font-weight:650;border-radius:var(--radius-sm)}
.empty-state{padding:48px 20px;border-radius:var(--radius-lg);background:var(--surface-subtle)}
.empty-state h3{font-size:15px}.empty-state p{max-width:460px;margin-inline:auto;line-height:1.6}

.bank-summary-section{padding:18px;margin-bottom:18px;border:1px solid color-mix(in srgb,var(--green) 16%,var(--line));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--green) 4%,var(--panel));box-shadow:none}
.bank-summary-title{align-items:center;margin-bottom:14px;padding:0}.bank-summary-title h3{font-size:17px}.bank-summary-title>span{font-size:11px}
.bank-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.bank-summary-card,.bank-summary-card.bank-primary{min-height:142px;padding:14px 15px;border:1px solid var(--line);border-left:4px solid var(--bank-color);border-top:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel);box-shadow:none}
.bank-summary-card::before,.bank-summary-card::after{display:none}.bank-summary-card:hover{transform:none;background:color-mix(in srgb,var(--bank-color) 3%,var(--panel));border-color:color-mix(in srgb,var(--bank-color) 34%,var(--line));box-shadow:none}
.bank-summary-card.focused{transform:none;background:color-mix(in srgb,var(--bank-color) 5%,var(--panel));border-color:var(--bank-color);box-shadow:0 0 0 2px color-mix(in srgb,var(--bank-color) 12%,transparent)}
.bank-summary-card .bank-logo{background:color-mix(in srgb,var(--bank-color) 10%,var(--panel));box-shadow:none}.bank-summary-head h4{font-size:14px;color:var(--ink)}
.bank-summary-values strong{font-size:20px;color:var(--ink)}.bank-summary-values small{font-size:11px;color:var(--muted)}.bank-share-track i{box-shadow:none}

.allocation-ring{box-shadow:none}.allocation-ring::after{box-shadow:none}.summary-row{border-radius:var(--radius-md);transition:background 150ms var(--ease)}.summary-row:hover{transform:none;background:var(--surface-subtle)}
.gold-hero,.insurance-hero{padding:20px 22px;margin-bottom:16px;border-radius:var(--radius-lg);box-shadow:none}.gold-hero h2,.insurance-hero h2{font-size:23px}.gold-quote strong{font-size:26px;color:var(--gold)}
.gold-item:hover{background:color-mix(in srgb,var(--gold) 4%,transparent)}
.gold-form-panel form,.insurance-form-panel form{display:grid;align-content:start}.gold-form-panel fieldset,.insurance-form-panel fieldset{padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-subtle)}

.coverage-matrix{gap:10px}.coverage-cell{padding:14px;border-radius:var(--radius-md);background:var(--panel)}.coverage-cell.gap{opacity:1;background:var(--surface-subtle)}.coverage-cell small{font-size:11px}.coverage-cell span{font-size:17px;font-weight:680}
.policy-list{gap:0}.policy-item{border-width:0 0 1px 3px;border-radius:0;background:var(--panel);padding:14px 12px}.policy-item:hover{background:var(--surface-subtle)}.policy-badge{font-size:10px}.ocr-notice,.recognition-head span{font-size:11px}

.risk-item{padding:12px;border-radius:var(--radius-md);transition:background 150ms var(--ease)}.risk-item:hover{transform:none;background:var(--surface-subtle)}.risk-item h4{font-weight:650!important}.risk-item p{line-height:1.55}
.annual-summary{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.annual-stat{padding:14px;border-radius:var(--radius-md);background:var(--surface-subtle);box-shadow:none}.annual-stat span,.annual-stat small{font-size:11px}

.modal-backdrop{background:rgba(13,30,24,.48);animation:backdrop-in 180ms var(--ease)}.modal{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:modal-in 220ms var(--ease)}
.modal-actions{flex-wrap:wrap}.modal-actions>button{min-width:88px}
.toast{border-radius:var(--radius-md);box-shadow:var(--shadow-md)}
.lock-screen::before{display:none}.lock-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.password-field{position:relative;display:block}.password-field input{padding-right:58px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-42%);min-height:28px;padding:3px 7px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--green);font:inherit;font-size:11px;font-weight:650;cursor:pointer}.password-toggle:hover{background:var(--green-soft)}.password-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--green) 25%,transparent);outline-offset:1px}

.overview-page:not(.hidden),.gold-page:not(.hidden),.insurance-page:not(.hidden),.history-page:not(.hidden),.analytics-page:not(.hidden),.deposit-page:not(.hidden){animation:page-in 220ms var(--ease)}
@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes modal-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}

html[data-theme="dark"]{--ink:#edf3f0;--muted:#a7b5ae;--line:#34423b;--bg:#111714;--panel:#1a221e;--surface-subtle:#202a25;--blue:#6fa9d5;--gold:#d8af55;--red:#f07a76}
html[data-theme="dark"] .sidebar{background:#151d19}
html[data-theme="dark"] .bank-summary-section{background:color-mix(in srgb,var(--green) 5%,var(--panel))}
html[data-theme="dark"] .bank-summary-card,html[data-theme="dark"] .bank-summary-card.bank-primary{background:var(--panel);box-shadow:none}
html[data-theme="dark"] .bank-summary-card:hover{background:color-mix(in srgb,var(--bank-color) 6%,var(--panel))}
html[data-theme="dark"] .coverage-cell,html[data-theme="dark"] .policy-item{background:var(--panel)}

@media(max-width:1100px){.app-shell{grid-template-columns:296px minmax(0,1fr)}main{padding:26px 24px 40px}}
@media(max-width:760px){main{max-width:none;padding:18px 14px 34px}.topbar{min-height:58px}.topbar h2{font-size:24px}.top-actions .secondary-btn{width:36px;min-width:36px;padding:0;font-size:13px}.top-actions .btn-label{display:none}.page-tabs{margin-bottom:18px}.page-tabs button{min-height:42px;padding:9px 12px}.metric{min-height:108px;padding:14px}.records-section,.insight-panel{padding:16px}.overview-banner{min-height:0;padding:20px}.bank-summary-section{padding:14px}.bank-summary{grid-template-columns:1fr 1fr}.bank-summary-card,.bank-summary-card.bank-primary{min-height:132px}}
@media(max-width:430px){.bank-summary{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.metric{min-height:100px}.metric strong{font-size:21px}.metric small{white-space:normal}.top-actions{gap:5px}.topbar .subtitle{max-width:180px}.page-tabs button{padding-inline:11px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions>button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Secure entry experience */
.lock-screen{
  --lock-green:#315f52;
  --lock-green-hover:#274e43;
  --lock-green-soft:#edf3f0;
  --lock-ink:#1d2925;
  --lock-muted:#69766f;
  --lock-line:#d9e1dd;
  background:#f7f9f8;
  color:var(--lock-ink);
  padding:32px 20px;
}
.lock-card{
  width:min(420px,100%);
  padding:34px;
  border:1px solid rgba(49,95,82,.13);
  border-radius:8px;
  background:rgba(255,255,255,.98);
  box-shadow:0 24px 64px rgba(24,48,40,.11),0 4px 14px rgba(24,48,40,.05);
  animation:lock-card-in 260ms var(--ease);
}
.lock-brand{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin:0 0 30px;
  padding:0;
  border:0;
}
.lock-card .brand-mark{
  position:relative;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:8px;
  background:var(--lock-green);
  color:#fff;
  font-family:var(--font-number);
  font-size:23px;
  font-weight:650;
  line-height:1;
  box-shadow:0 8px 20px rgba(49,95,82,.18),inset 0 1px 0 rgba(255,255,255,.22);
}
.lock-card .brand-mark::after{
  content:"";
  position:absolute;
  right:7px;
  bottom:7px;
  width:5px;
  height:5px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:50%;
}
.lock-brand h2{font-size:21px!important;font-weight:700!important;line-height:1.25;color:var(--lock-ink)}
.lock-brand p{margin-top:4px;color:var(--lock-muted);font-size:12px;font-weight:500}
.lock-card>div>h3{margin:0 0 7px;font-size:18px;font-weight:680!important;color:var(--lock-ink)}
.lock-copy{margin:0 0 24px;color:var(--lock-muted);font-size:13px;line-height:1.65}
.lock-card form{display:grid;gap:2px}
.lock-card label{margin-bottom:14px;color:#46534d;font-size:12px;font-weight:600}
.lock-card input{
  height:44px;
  margin-top:7px;
  border:1px solid var(--lock-line);
  border-radius:8px;
  background:#fbfcfc;
  color:var(--lock-ink);
  box-shadow:inset 0 1px 2px rgba(24,48,40,.025);
  transition:border-color 160ms var(--ease),box-shadow 160ms var(--ease),background 160ms var(--ease);
}
.lock-card input:hover{border-color:#b8c7c0;background:#fff}
.lock-card input:focus{border-color:var(--lock-green);background:#fff;box-shadow:0 0 0 3px rgba(49,95,82,.11)}
.lock-card input::placeholder{color:#98a39e}
.lock-card .password-toggle{right:8px;color:var(--lock-green);border-radius:8px}
.lock-card .password-toggle:hover{background:var(--lock-green-soft)}
.lock-card .primary-btn{
  height:44px;
  margin-top:2px;
  border:1px solid #294f44;
  border-radius:8px;
  background:linear-gradient(180deg,#386a5c 0%,#315f52 100%);
  color:#fff;
  font-size:13px;
  font-weight:680;
  box-shadow:0 7px 16px rgba(49,95,82,.18),inset 0 1px 0 rgba(255,255,255,.18);
  transition:background 150ms var(--ease),box-shadow 150ms var(--ease),transform 120ms var(--ease);
}
.lock-card .primary-btn:hover{background:linear-gradient(180deg,#315f52 0%,#294f44 100%);box-shadow:0 9px 20px rgba(49,95,82,.22),inset 0 1px 0 rgba(255,255,255,.14)}
.lock-card .primary-btn:active{transform:translateY(1px);box-shadow:0 4px 10px rgba(49,95,82,.16)}
.form-error{min-height:18px;margin:-2px 0 8px;color:#a63d3d;font-size:11px;line-height:1.5}
.lock-foot{margin:24px 0 0;color:#87928d;font-size:11px;line-height:1.5;text-align:center}
@keyframes lock-card-in{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:520px){.lock-screen{padding:20px 14px}.lock-card{padding:28px 22px}.lock-brand{margin-bottom:27px}.lock-card .brand-mark{width:46px;height:46px}.lock-copy{margin-bottom:21px}}
@media(max-width:360px){.lock-card{padding:24px 18px}.lock-brand{grid-template-columns:44px 1fr;gap:12px}.lock-card .brand-mark{width:44px;height:44px}.lock-brand h2{font-size:19px!important}}
@media(prefers-reduced-motion:reduce){.lock-card{animation:none!important}.lock-card .primary-btn,.lock-card input{transition:none!important}}

/* Mist-purple product theme */
:root{
  --fog-purple:#726b85;
  --fog-purple-deep:#5d576e;
  --fog-purple-soft:#f0eef4;
  --gold:#9b7a35;
  --red:#a24e55;
  --ink:#25242a;
  --muted:#6f7078;
  --line:#e2e1e6;
  --bg:#f7f7f9;
  --panel:#fefeff;
  --surface-subtle:#f4f4f6;
  --shadow-sm:0 2px 8px rgba(37,32,49,.045);
  --shadow-md:0 12px 30px rgba(37,32,49,.065);
}
body,main{background:var(--bg)}
.sidebar{background:#fafafd;border-color:var(--line)}
.eyebrow,.text-btn,.profit-positive,.record-profit{color:var(--green)!important}
.profit-negative,.stale-quote{color:var(--red)!important}
.subtitle,.section-heading p,.metric small,.hint,.side-copy,.market-disclaimer{color:color-mix(in srgb,var(--muted) 82%,transparent)}

.records-section,.insight-panel,.metric,.side-panel,.gold-hero,.insurance-hero{
  border-color:color-mix(in srgb,var(--line) 72%,transparent);
  background:linear-gradient(150deg,#fff 0%,#fdfdfe 100%);
  box-shadow:var(--shadow-sm);
}
.records-section,.insight-panel{padding:22px}.metric{box-shadow:var(--shadow-sm)}
.metric:hover{border-color:color-mix(in srgb,var(--green) 24%,var(--line));box-shadow:0 6px 18px rgba(37,32,49,.055)}
.metric.featured{background:linear-gradient(145deg,var(--fog-purple-deep),var(--fog-purple));border-color:transparent}
.metric:nth-child(1),.metric:nth-child(2),.metric:nth-child(3),.metric:nth-child(4){--metric-accent:var(--green)}
.metric.featured span,.metric.featured small{color:rgba(255,255,255,.72)}
.page-tabs{border-color:var(--line);background:color-mix(in srgb,var(--bg) 95%,transparent)}
.page-tabs button.active{color:var(--green);border-bottom-color:var(--green)}

input,select,textarea{
  border-color:#dedde3;
  background:#fdfdfe;
  box-shadow:0 1px 2px rgba(37,32,49,.025);
}
input:hover,select:hover,textarea:hover{border-color:#c8c4d0}
input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}
.segmented,.view-switch,.nav-tabs{background:#f0f0f3;border-color:#e2e1e6}
.segmented button.active,.view-switch button.active,.primary-btn{background:linear-gradient(180deg,color-mix(in srgb,var(--green) 90%,#fff),var(--green));box-shadow:0 5px 12px color-mix(in srgb,var(--green) 15%,transparent)}
.secondary-btn{background:#f5f5f7;border-color:#dedde3}.secondary-btn:hover{background:#eeeef2;border-color:#cbc8d2}

.bank-summary-section{background:#f3f2f6;border:0;box-shadow:none}.bank-summary-card,.bank-summary-card.bank-primary{border:0;border-left:3px solid var(--bank-color);background:linear-gradient(150deg,#fff,#faf9fc);box-shadow:var(--shadow-sm)}
.bank-summary-card:hover{border-color:var(--bank-color);background:#fff;box-shadow:0 7px 18px rgba(37,32,49,.06)}
.bank-summary-card .bank-logo{background:var(--fog-purple-soft);color:var(--bank-color)}
.bank-summary-values strong,.bank-summary-head h4{color:var(--ink)}
.bank-group-header{border:0;border-left:3px solid var(--bank-color);background:#f4f3f6;box-shadow:none}
.record-card{border-color:transparent;border-left:3px solid var(--bank-color);background:#fdfdfe}

/* Gold page hierarchy */
.gold-hero{
  grid-template-columns:minmax(190px,1fr) minmax(230px,.8fr) auto;
  gap:24px;
  padding:22px 24px;
  border:0;
  background:linear-gradient(135deg,#fff 0%,#faf9fc 58%,#f7f4ec 100%);
  box-shadow:var(--shadow-md);
}
.gold-hero h2{font-size:22px}.gold-quote{padding:2px 0 2px 24px;border-left:1px solid #e5e1d7}
.gold-quote span{font-size:11px}.gold-quote strong{font-size:30px;line-height:1.15;color:var(--gold)}.gold-quote small{opacity:.72}
.quote-actions{justify-content:flex-end}.refresh-setting{font-size:11px}.refresh-setting select{min-height:36px}
.gold-metrics .metric{min-height:132px}
.gold-metrics .metric.featured{background:linear-gradient(145deg,#756e87,#686177)}
.gold-metrics .metric:nth-child(3){border-color:color-mix(in srgb,var(--green) 30%,var(--line));background:linear-gradient(145deg,#fff,#f5f3f8)}
.gold-metrics .metric:nth-child(3)::after{background:var(--green)}
.gold-metrics .metric strong{font-size:27px}.gold-metrics .metric:nth-child(3) strong{font-size:29px}
.gold-layout{grid-template-columns:340px minmax(0,1fr);gap:18px;align-items:start}
.gold-form-panel{background:linear-gradient(155deg,#fff,#faf9fc)}
.gold-holdings{gap:8px}.gold-item{padding:14px 15px;border:0;border-radius:8px;background:#f7f7f9;transition:background 150ms var(--ease),box-shadow 150ms var(--ease)}
.gold-item:hover{background:#fff;box-shadow:var(--shadow-sm)}
.gold-empty,.gold-page .empty-state{min-height:280px;display:grid;place-content:center;border:0;background:linear-gradient(145deg,#fafafd,#f5f4f7);box-shadow:inset 0 0 0 1px rgba(114,107,133,.06)}
.gold-page .empty-icon{width:44px;height:44px;background:var(--fog-purple-soft);color:var(--fog-purple);box-shadow:none}
.gold-page .empty-state h3{font-weight:650!important}.gold-page .empty-state p{color:var(--muted);opacity:.76}
.valuation-hint,.interest-options{background:var(--fog-purple-soft)}
.policy-item{--policy-color:var(--green)!important}.coverage-cell{--coverage-color:var(--green)!important}.insurance-hero{border-left-color:var(--green);background:linear-gradient(150deg,#fff,#faf9fc)}

/* Login follows the same mist-purple language. */
.lock-screen{--lock-green:#6d667f;--lock-green-hover:#5d576e;--lock-green-soft:#f0eef4;--lock-ink:#29272e;--lock-muted:#73727a;--lock-line:#dedde3;background:#f7f7f9}
.lock-card{border-color:rgba(114,107,133,.1);background:linear-gradient(150deg,#fff,#fbfafd);box-shadow:0 24px 64px rgba(37,32,49,.105),0 4px 14px rgba(37,32,49,.045)}
.lock-card .brand-mark{background:linear-gradient(145deg,#7a738d,#676175);box-shadow:0 8px 20px rgba(74,67,91,.16),inset 0 1px 0 rgba(255,255,255,.22)}
.lock-card .primary-btn{border-color:#5a546a;background:linear-gradient(180deg,#787187,#696276);box-shadow:0 7px 16px rgba(74,67,91,.17),inset 0 1px 0 rgba(255,255,255,.18)}
.lock-card .primary-btn:hover{background:linear-gradient(180deg,#6d667f,#5f596e);box-shadow:0 9px 20px rgba(74,67,91,.2),inset 0 1px 0 rgba(255,255,255,.14)}

html[data-theme="dark"]{--ink:#efedf2;--muted:#aaa7b1;--line:#393740;--bg:#17161a;--panel:#211f25;--surface-subtle:#29272e;--fog-purple-soft:#302d38;--gold:#c2a25f;--red:#df7a82}
html[data-theme="dark"] body,html[data-theme="dark"] main{background:var(--bg)}
html[data-theme="dark"] .sidebar{background:#1c1a20}
html[data-theme="dark"] .records-section,html[data-theme="dark"] .insight-panel,html[data-theme="dark"] .metric,html[data-theme="dark"] .gold-hero{background:linear-gradient(150deg,#232127,#1f1d23);border-color:var(--line)}
html[data-theme="dark"] .metric.featured{background:linear-gradient(145deg,#6d667f,#5b5569);border-color:transparent}
html[data-theme="dark"] .gold-item,html[data-theme="dark"] .bank-group-header{background:#29272e}
html[data-theme="dark"] .bank-summary-section{background:#242229}
html[data-theme="dark"] .bank-summary-card,html[data-theme="dark"] .bank-summary-card.bank-primary{background:linear-gradient(150deg,#29272e,#252329)}
html[data-theme="dark"] .lock-screen{background:#17161a}html[data-theme="dark"] .lock-card{background:linear-gradient(150deg,#252329,#201e24);border-color:#393740}html[data-theme="dark"] .lock-brand h2,html[data-theme="dark"] .lock-card>div>h3{color:#efedf2}html[data-theme="dark"] .lock-brand p,html[data-theme="dark"] .lock-copy,html[data-theme="dark"] .lock-foot{color:#aaa7b1}html[data-theme="dark"] .lock-card label{color:#c3c0c8}html[data-theme="dark"] .lock-card input{background:#1b1a1e;color:#efedf2;border-color:#423f49}

@media(max-width:1000px){.gold-hero{grid-template-columns:1fr auto}.quote-actions{grid-column:1/-1;justify-content:flex-start}.gold-layout{grid-template-columns:1fr}}
@media(max-width:600px){.gold-hero{grid-template-columns:1fr;gap:18px}.gold-quote{padding:0;border:0}.gold-quote strong{font-size:27px}.quote-actions{grid-column:auto;justify-content:flex-start}.gold-metrics .metric strong,.gold-metrics .metric:nth-child(3) strong{font-size:23px}}

/* Lavender-white correction: remove the visible gray cast. */
:root{
  --ink:#2c2534;
  --muted:#766d7e;
  --line:#e8e0ee;
  --bg:#faf8fc;
  --panel:#fff;
  --surface-subtle:#f6f1f9;
  --fog-purple-soft:#f2ecf6;
}
body,main{background:#faf8fc}.sidebar{background:#fdfbfe;border-color:#ebe3f0}
.page-tabs{background:color-mix(in srgb,#faf8fc 95%,transparent);border-color:#e8e0ee}
.records-section,.insight-panel,.metric,.side-panel{background:linear-gradient(150deg,#fff,#fdfbff);border-color:#ebe4f0}
.toolbar,.segmented,.view-switch,.nav-tabs{background:#f5eff8;border-color:#e8dfee}
input,select,textarea{background:#fff;border-color:#e4dbea;color:var(--ink)}
input:hover,select:hover,textarea:hover{border-color:#d1c2db}
.secondary-btn{background:#f7f2fa;border-color:#e3d9e9}.secondary-btn:hover{background:#f1e9f5;border-color:#d6c8df}
.bank-summary-section{background:#f5eff8}.bank-group-header{background:#f6f1f9}.gold-item{background:#f8f3fa}
.gold-hero{background:linear-gradient(135deg,#fff 0%,#fbf7fd 62%,#faf6ed 100%)}
.gold-metrics .metric:nth-child(3){background:linear-gradient(145deg,#fff,#f6f0f9)}
.gold-empty,.gold-page .empty-state{background:linear-gradient(145deg,#fdfbff,#f5eff8)}
.lock-screen{background:#faf8fc}.lock-card{background:linear-gradient(150deg,#fff,#fcf9fe);border-color:#e8dfee}
html[data-theme="dark"]{--ink:#f5eff8;--muted:#bbb0c3;--line:#43384b;--bg:#1d1722;--panel:#281f2e;--surface-subtle:#32263a;--fog-purple-soft:#382b41}
html[data-theme="dark"] body,html[data-theme="dark"] main,html[data-theme="dark"] .lock-screen{background:#1d1722}
html[data-theme="dark"] .sidebar{background:#241b2a}
html[data-theme="dark"] .records-section,html[data-theme="dark"] .insight-panel,html[data-theme="dark"] .metric,html[data-theme="dark"] .gold-hero{background:linear-gradient(150deg,#2b2231,#251c2b);border-color:#43384b}
html[data-theme="dark"] .gold-item,html[data-theme="dark"] .bank-group-header{background:#32263a}

/* Core financial values must remain chromatic, never neutral gray. */
.overview-banner{
  background:linear-gradient(145deg,#75628f 0%,#65547b 100%);
  border-color:transparent;
  color:#fff;
}
.overview-banner .eyebrow,.overview-banner p:not(.eyebrow),.overview-total span,.overview-total small{color:rgba(255,255,255,.76)!important}
.overview-total{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18)}
.overview-metrics .metric.featured,.deposit-page.metric-grid .metric.featured,.insurance-metrics .metric.featured,.history-metrics .metric.featured,.analytics-metrics .metric.featured{
  background:linear-gradient(145deg,#75628f 0%,#65547b 100%);
  border-color:transparent;
  color:#fff;
}
.overview-metrics .metric.featured span,.overview-metrics .metric.featured small,.deposit-page.metric-grid .metric.featured span,.deposit-page.metric-grid .metric.featured small,.insurance-metrics .metric.featured span,.insurance-metrics .metric.featured small,.history-metrics .metric.featured span,.history-metrics .metric.featured small,.analytics-metrics .metric.featured span,.analytics-metrics .metric.featured small{color:rgba(255,255,255,.76)}
.gold-metrics .metric.featured{
  background:linear-gradient(145deg,#ad8c48 0%,#927233 100%);
  border-color:transparent;
  color:#fff;
}
.gold-metrics .metric.featured span,.gold-metrics .metric.featured small{color:rgba(255,255,255,.8)}
.gold-quote{background:#fbf6e9;border:1px solid #eadfbe;border-radius:8px;padding:12px 16px}
.gold-quote strong{color:#8c6b29}
html[data-theme="dark"] .overview-banner,html[data-theme="dark"] .overview-metrics .metric.featured,html[data-theme="dark"] .deposit-page.metric-grid .metric.featured,html[data-theme="dark"] .insurance-metrics .metric.featured,html[data-theme="dark"] .history-metrics .metric.featured,html[data-theme="dark"] .analytics-metrics .metric.featured{background:linear-gradient(145deg,#77658e,#5f506f)}
html[data-theme="dark"] .gold-metrics .metric.featured{background:linear-gradient(145deg,#a4874b,#80662f)}
html[data-theme="dark"] .gold-quote{background:#302817;border-color:#5a4a29}

/* Clear purple correction: intentionally avoid gray-looking purple. */
:root{
  --fog-purple:#7954a6;
  --fog-purple-deep:#67428d;
  --fog-purple-soft:#efe4f8;
  --ink:#30203d;
  --muted:#765f83;
  --line:#e6d5f1;
  --bg:#faf5ff;
  --panel:#fff;
  --surface-subtle:#f4eafb;
}
body,main{background:#faf5ff}.sidebar{background:#fdf9ff;border-color:#eadcf3}
.page-tabs{background:color-mix(in srgb,#faf5ff 95%,transparent);border-color:#e6d5f1}
.records-section,.insight-panel,.metric,.side-panel,.insurance-hero{background:linear-gradient(150deg,#fff,#fcf7ff);border-color:#eadcf3}
.toolbar,.segmented,.view-switch,.nav-tabs{background:#f1e5f9;border-color:#e4d1ef}
input,select,textarea{background:#fff;border-color:#e3d1ef;color:#30203d}
input:hover,select:hover,textarea:hover{border-color:#cdb2dd}
.secondary-btn{background:#f5eafb;border-color:#e1cdec;color:#3b2848}.secondary-btn:hover{background:#ecdaf7;border-color:#d4b8e4}
.bank-summary-section{background:#f0e4f8}.bank-group-header{background:#f3e9fa}.gold-item{background:#f7edfc}
.overview-banner,.overview-metrics .metric.featured,.deposit-page.metric-grid .metric.featured,.insurance-metrics .metric.featured,.history-metrics .metric.featured,.analytics-metrics .metric.featured{background:linear-gradient(145deg,#8058ad,#6c4695)}
.gold-metrics .metric:nth-child(3){background:linear-gradient(145deg,#fff,#f0e2f8);border-color:#d8bee7}
.gold-empty,.gold-page .empty-state{background:linear-gradient(145deg,#fefaff,#f1e5f9)}
.lock-screen{--lock-green:#7954a6;--lock-green-hover:#67428d;--lock-green-soft:#efe4f8;--lock-ink:#30203d;--lock-muted:#765f83;--lock-line:#e3d1ef;background:#faf5ff}
.lock-card{background:linear-gradient(150deg,#fff,#fcf7ff);border-color:#e6d5f1}.lock-card .brand-mark{background:linear-gradient(145deg,#875fb2,#704a98)}
.lock-card .primary-btn{border-color:#67428d;background:linear-gradient(180deg,#825bad,#704a98)}.lock-card .primary-btn:hover{background:linear-gradient(180deg,#7650a1,#633e89)}
html[data-theme="dark"]{--ink:#fbf3ff;--muted:#c5add2;--line:#553b64;--bg:#211328;--panel:#2e1937;--surface-subtle:#3a2045;--fog-purple-soft:#432650}
html[data-theme="dark"] body,html[data-theme="dark"] main,html[data-theme="dark"] .lock-screen{background:#211328}
html[data-theme="dark"] .sidebar{background:#291631}
html[data-theme="dark"] .records-section,html[data-theme="dark"] .insight-panel,html[data-theme="dark"] .metric,html[data-theme="dark"] .gold-hero{background:linear-gradient(150deg,#341d3e,#2b1734);border-color:#553b64}
html[data-theme="dark"] .gold-item,html[data-theme="dark"] .bank-group-header{background:#3a2045}

/* User-controlled theme and canvas colors. */
:root{
  --ink:#1d2925;
  --muted:#68766f;
  --line:color-mix(in srgb,var(--green) 12%,#dfe7e3);
  --bg:var(--app-bg,#f7fbfa);
  --panel:#fff;
  --surface-subtle:color-mix(in srgb,var(--green) 5%,#fff);
  --green-soft:color-mix(in srgb,var(--green) 10%,#fff);
}
body,main{background:var(--app-bg,#f7fbfa)}
.sidebar{background:color-mix(in srgb,var(--app-bg,#f7fbfa) 56%,#fff);border-color:var(--line)}
.page-tabs{background:color-mix(in srgb,var(--app-bg,#f7fbfa) 94%,transparent);border-color:var(--line)}
.records-section,.insight-panel,.metric,.side-panel,.insurance-hero{background:linear-gradient(150deg,#fff,color-mix(in srgb,var(--app-bg,#f7fbfa) 46%,#fff));border-color:var(--line)}
.toolbar,.segmented,.view-switch,.nav-tabs,.bank-summary-section,.bank-group-header{background:color-mix(in srgb,var(--green) 6%,#fff);border-color:var(--line)}
input,select,textarea{background:#fff;border-color:color-mix(in srgb,var(--green) 14%,#dfe5e2);color:var(--ink)}
input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--green) 38%,#dfe5e2)}
.secondary-btn{background:color-mix(in srgb,var(--green) 6%,#fff);border-color:color-mix(in srgb,var(--green) 15%,#dfe5e2);color:var(--ink)}
.secondary-btn:hover{background:color-mix(in srgb,var(--green) 11%,#fff);border-color:color-mix(in srgb,var(--green) 28%,#dfe5e2)}
.overview-banner,.overview-metrics .metric.featured,.deposit-page.metric-grid .metric.featured,.insurance-metrics .metric.featured,.history-metrics .metric.featured,.analytics-metrics .metric.featured{background:linear-gradient(145deg,color-mix(in srgb,var(--green) 90%,#fff),color-mix(in srgb,var(--green) 86%,#000))}
.gold-metrics .metric:nth-child(3){background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--green) 9%,#fff));border-color:color-mix(in srgb,var(--green) 24%,var(--line))}
.gold-empty,.gold-page .empty-state,.gold-item{background:color-mix(in srgb,var(--green) 5%,#fff)}
.lock-screen{--lock-green:var(--green);--lock-green-hover:color-mix(in srgb,var(--green) 84%,#000);--lock-green-soft:color-mix(in srgb,var(--green) 10%,#fff);--lock-ink:var(--ink);--lock-muted:var(--muted);--lock-line:var(--line);background:var(--app-bg,#f7fbfa)}
.lock-card{background:linear-gradient(150deg,#fff,color-mix(in srgb,var(--app-bg,#f7fbfa) 42%,#fff));border-color:var(--line)}
.lock-card .brand-mark{background:linear-gradient(145deg,color-mix(in srgb,var(--green) 88%,#fff),color-mix(in srgb,var(--green) 88%,#000))}
.lock-card .primary-btn{border-color:color-mix(in srgb,var(--green) 82%,#000);background:linear-gradient(180deg,color-mix(in srgb,var(--green) 90%,#fff),color-mix(in srgb,var(--green) 90%,#000))}.lock-card .primary-btn:hover{background:linear-gradient(180deg,var(--green),color-mix(in srgb,var(--green) 82%,#000))}
.background-swatches>button{box-shadow:0 0 0 1px #ccd8d2}.background-swatches>button.active{box-shadow:0 0 0 2px var(--green)}
html[data-theme="dark"]{--app-bg:#171b1a;--ink:#eef4f1;--muted:#a8b5af;--line:#384640;--panel:#1d2622;--surface-subtle:#26322c}
html[data-theme="dark"] body,html[data-theme="dark"] main,html[data-theme="dark"] .lock-screen{background:#171b1a}
html[data-theme="dark"] .sidebar{background:#1b2420}
html[data-theme="dark"] .records-section,html[data-theme="dark"] .insight-panel,html[data-theme="dark"] .metric,html[data-theme="dark"] .gold-hero{background:linear-gradient(150deg,#202a25,#1c2420);border-color:#384640}

/* Cloud sync and mobile installation */
.cloud-sync-block{margin-top:18px}.cloud-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:8px;background:var(--surface-subtle);color:var(--muted);font-size:10px;font-weight:650}.cloud-status.configured{background:#fff5d9;color:#8a641f}.cloud-status.connected{background:var(--green-soft);color:var(--green)}.cloud-status.error{background:#fff0ef;color:var(--red)}
.cloud-sync-block .button-stack{margin-bottom:0}.cloud-sync-block .text-btn{justify-self:center;padding:6px}.cloud-modal{width:min(470px,100%)}.cloud-modal textarea{resize:none}.cloud-modal .modal-copy{margin-bottom:18px}
.lock-cloud-restore{width:100%;margin-top:10px}#cloudConfigModal,#cloudLoginModal{z-index:110}
@media(max-width:520px){.cloud-modal{padding:20px}.cloud-modal .modal-actions{grid-template-columns:1fr 1fr}}

/* Purpose-built mobile workspace */
@media(max-width:760px){
  body{overscroll-behavior-y:none}
  main{padding:14px 12px calc(92px + env(safe-area-inset-bottom));overflow-x:hidden}
  .topbar{min-height:54px;margin-bottom:12px;align-items:center;gap:10px}
  .topbar>div:nth-child(2){min-width:0;flex:1}.topbar .eyebrow,.topbar .subtitle{display:none}.topbar h2{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{gap:6px}.top-actions .secondary-btn,.top-actions .icon-btn,.topbar>.icon-btn{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;min-height:40px;padding:0;border-radius:8px}.top-actions .btn-label{display:none}.top-actions .btn-icon{font-size:18px}.lock-button{background:var(--panel)}
  .page-tabs{position:fixed;inset:auto 0 0;z-index:35;display:flex;gap:0;margin:0;padding:6px 6px calc(6px + env(safe-area-inset-bottom));overflow-x:auto;background:color-mix(in srgb,var(--panel) 96%,transparent);border:0;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(24,55,44,.09);backdrop-filter:blur(16px);scrollbar-width:none}
  .page-tabs::-webkit-scrollbar{display:none}.page-tabs button{flex:1 0 74px;min-height:48px;padding:7px 5px;border:0!important;border-radius:7px;font-size:11px;line-height:1.25;white-space:normal}.page-tabs button.active{background:var(--green-soft);color:var(--green)}
  .overview-banner{display:grid;gap:14px;margin-bottom:10px;padding:18px;border-radius:8px}.overview-banner h2{font-size:18px}.overview-banner>div:first-child>p:not(.eyebrow){display:none}.overview-total{min-width:0;margin:0;padding:0;border:0;background:transparent;text-align:left}.overview-total span{font-size:10px}.overview-total strong{font-size:30px;margin:3px 0}.overview-total small{font-size:10px}
  .metric-grid,.overview-metrics,.gold-metrics,.insurance-metrics,.history-metrics,.analytics-metrics{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(154px,72vw);grid-template-columns:none;gap:9px;margin-right:-12px;padding-right:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.metric-grid::-webkit-scrollbar{display:none}.metric-grid .metric{min-height:112px;padding:14px;scroll-snap-align:start}.metric-grid .metric strong{font-size:21px}.metric-grid .metric small{white-space:normal;line-height:1.45}
  .overview-grid{gap:10px}.records-section,.insight-panel{padding:14px;border-radius:8px}.overview-list-panel{margin-bottom:10px}.allocation-wrap{min-height:0;gap:18px;padding:6px 0}.allocation-ring{width:142px;height:142px}.allocation-ring::after{width:92px;height:92px}
  .overview-item{grid-template-columns:58px minmax(0,1fr) auto;gap:9px;padding:12px 2px}.overview-item h4{font-size:12px}.summary-row{grid-template-columns:38px minmax(0,1fr) auto;padding:10px;gap:9px}
  .gold-hero,.insurance-hero{padding:16px;margin-bottom:10px}.gold-hero h2,.insurance-hero h2{font-size:19px}.gold-quote strong{font-size:24px}.quote-actions{display:grid;grid-template-columns:1fr 1fr}.quote-actions button{width:100%}
  .gold-layout,.insurance-layout,.history-grid,.analytics-grid{gap:10px}.gold-item{padding:13px 2px}.bank-summary{grid-template-columns:1fr;gap:7px}.bank-summary-card{padding:12px}.bank-group-header{grid-template-columns:minmax(0,1fr) auto}.cards-view .record-card{padding:14px}
  .sidebar{padding:18px 14px calc(24px + env(safe-area-inset-bottom));background:var(--panel)}.sidebar .brand{margin-bottom:14px}.side-panel{padding:15px}.nav-tabs{position:sticky;top:0;z-index:2}
  .lock-screen{padding:14px}.lock-card{width:100%;padding:24px 20px}.lock-brand{padding-bottom:17px;margin-bottom:18px}.lock-brand h2{font-size:20px}.lock-card input{min-height:46px}.lock-card .primary-btn,.lock-card .secondary-btn{min-height:46px}
  .modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:88vh;overflow:auto;border-radius:8px 8px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}
}
.brand-mark.logo-image{overflow:hidden;background:transparent!important;box-shadow:0 7px 18px rgba(61,39,111,.2)!important}.brand-mark.logo-image img{display:block;width:100%;height:100%;object-fit:contain}.lock-card .brand-mark.logo-image{background:transparent!important}
