/* Refined Compass dashboard layout */
.app-layout{background:linear-gradient(180deg,#f7f9fd,#f2f5fb)}
.sidebar{width:264px;padding:34px 20px;background:linear-gradient(180deg,#071a3b,#0d2c60)}
.sidebar .brand{color:#f5f8ff;padding:0 10px}.sidebar nav{margin-top:64px;gap:10px}.sidebar nav a{padding:15px 16px;border-radius:13px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#2859c7;color:#fff;box-shadow:0 8px 24px rgba(40,89,199,.35)}
main{margin-left:264px;padding:0 6vw 72px;max-width:1720px}.topbar{height:124px;margin-bottom:48px}.topbar h2{font-size:20px}.welcome-row{margin-bottom:34px}.welcome-row h1{font-size:42px;line-height:1.18}.metrics-grid{gap:18px}.metric{min-height:166px;border-radius:20px;padding:27px;box-shadow:0 10px 35px rgba(16,43,92,.045)}.metric strong{font-size:34px}
.ai-briefing{padding:30px;border-radius:22px;box-shadow:0 14px 38px rgba(40,65,130,.06)}.overview-grid{gap:24px}.panel{border-radius:20px;padding:28px;box-shadow:0 10px 30px rgba(16,43,92,.04)}
.toss-ai-recommendation{margin:24px 0;background:linear-gradient(135deg,#eef1ff,#fafbff);border:1px solid #d9e1ff;box-shadow:0 16px 40px rgba(40,89,199,.1)}.toss-ai-recommendation .panel-head{align-items:center}.toss-ai-recommendation .panel-head h3{font-size:22px;color:#102b5c}.toss-ai-recommendation .badge{background:#dce6ff;color:#2859c7}.ai-recommendation-copy{font-size:16px;line-height:1.75;color:#344363;margin:8px 0 22px}.ai-recommendation-copy strong{color:#173d86}.ai-recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ai-recommendation-grid>div{padding:15px 16px;border:1px solid #dce4fa;border-radius:13px;background:rgba(255,255,255,.72)}.ai-recommendation-grid span,.ai-recommendation-grid strong{display:block}.ai-recommendation-grid span{font-size:11px;color:#7a86a2;margin-bottom:6px}.ai-recommendation-grid strong{font-size:14px;color:#102b5c}.toss-ai-recommendation small{display:block;margin-top:18px;color:#7a86a2;font-size:11px}.goal-row,.item-card{border-radius:16px}.section-head h1{font-size:38px}
@media(max-width:760px){main{margin-left:0;padding:0 20px 45px}.welcome-row h1{font-size:30px}.ai-recommendation-grid{grid-template-columns:1fr}.metric{min-height:135px}}
.reference-dashboard-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin:22px 0}.reference-dashboard-grid .panel{min-height:190px}.reference-ai{background:linear-gradient(135deg,#f0efff,#faf9ff);border-color:#e2dcff}.reference-ai h3{max-width:310px;font-size:21px;line-height:1.45;color:#102b5c}.reference-ai p:not(.eyebrow){color:#54617b;line-height:1.65}.reference-chart{color:#fff;background:linear-gradient(145deg,#071a3b,#173d86);border:0;overflow:hidden;position:relative}.reference-chart .eyebrow,.reference-chart small{color:#aec4f2}.reference-chart h3{margin:0 0 8px;font-size:14px}.reference-chart>strong{font:700 30px 'DM Sans',sans-serif}.sparkline{height:70px;margin:12px -4px 0;background:linear-gradient(160deg,transparent 45%,#65d6c0 46% 48%,transparent 49%);border-bottom:2px solid rgba(101,214,192,.8);border-radius:50% 40% 0 0;transform:skewY(-5deg)}
@media(max-width:760px){.reference-dashboard-grid{grid-template-columns:1fr}}
/* Login: navy product-led composition */
#auth-view{grid-template-columns:1.08fr .92fr;background:#f7f8fc}
#auth-view .brand-panel{background:radial-gradient(circle at 82% 28%,rgba(61,111,219,.35),transparent 24%),linear-gradient(145deg,#061735 0%,#0b2554 58%,#153e86 100%);padding:56px 8vw}
#auth-view .brand-panel:before{content:'✦';position:absolute;right:18%;top:23%;font-size:76px;color:rgba(185,242,138,.65);text-shadow:0 0 35px rgba(117,164,255,.6)}
#auth-view .brand-panel:after{border-color:rgba(108,156,255,.2);box-shadow:0 0 0 80px rgba(108,156,255,.08),0 0 0 160px rgba(108,156,255,.04)}
#auth-view .brand-panel{background-image:radial-gradient(circle at 9% 86%,transparent 0 120px,rgba(75,122,245,.55) 121px 123px,transparent 124px 185px,rgba(75,122,245,.3) 186px 188px,transparent 189px 270px,rgba(75,122,245,.18) 271px 273px,transparent 274px),radial-gradient(circle at 9% 86%,rgba(53,94,207,.18),transparent 30%),linear-gradient(145deg,#061735 0%,#0b2554 58%,#153e86 100%)}
#auth-view .brand-mark{background:#b9f28a;color:#0b2554}.hero-copy{max-width:720px}.hero-copy h1{font-size:clamp(58px,6.2vw,104px);font-weight:800;line-height:1.02;letter-spacing:-.09em}.hero-copy h1 em{color:#9cebd8}.hero-copy>p:last-child{font-size:17px;color:#d5e1f8}.hero-preview{display:grid;gap:5px;margin-top:34px;padding:20px 22px;width:min(390px,100%);border:1px solid rgba(157,190,255,.3);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.hero-preview span{font-size:11px;letter-spacing:.12em;color:#a8c7ff}.hero-preview strong{font-size:18px}.hero-preview small{color:#a9c2ec}
#auth-view .auth-panel{background:#f7f8fc;padding:56px 7vw}#auth-view .auth-card{width:min(500px,100%);padding:46px;border-radius:30px;background:rgba(255,255,255,.88);box-shadow:0 25px 80px rgba(9,34,79,.15)}#auth-view .auth-card h2{font-size:34px;color:#102b5c}#auth-view .auth-card .primary{background:linear-gradient(135deg,#2859c7,#3d6fe0);box-shadow:0 12px 26px rgba(40,89,199,.3)}#auth-view .auth-card input{padding:16px;border-radius:14px}
#auth-view .hero-copy h1{font-size:clamp(58px,6.2vw,104px)}
#auth-view .hero-copy h1:after,#auth-view .auth-lead:after{content:none}
#auth-view .auth-lead{font-size:16px;line-height:1.8;color:#6f7890}

/* Dashboard is rendered from HTML and application state; no runtime style injection. */
#page-overview .metrics-grid,#page-overview .ai-briefing,#page-overview .toss-ai-recommendation{display:none}
#page-overview .welcome-row{margin-bottom:28px}
#page-overview .reference-dashboard-grid{grid-template-columns:1.08fr .92fr;margin:0 0 20px}
#page-overview .reference-dashboard-grid .panel{min-height:205px;padding:26px}
#page-overview .reference-ai h3{max-width:none;margin:16px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-overview .reference-ai{display:flex;flex-direction:column;align-items:stretch}
#page-overview .reference-ai .button{align-self:flex-start;margin-top:16px}
.insight-lines{display:grid;gap:8px;margin-top:14px}
.insight-line{display:grid;grid-template-columns:30px minmax(76px,auto) 1fr;align-items:start;gap:10px;padding:10px 12px;border:1px solid #e4e8f3;border-radius:12px;background:rgba(255,255,255,.72);color:#26385d}
.insight-line>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#e8edff;color:#2859c7;font:700 10px 'DM Sans',sans-serif;letter-spacing:.04em}
.insight-line>strong{padding-top:3px;color:#173367;font-size:13px;white-space:nowrap}
.insight-line>p{margin:0!important;padding-top:2px;color:#54617b!important;font-size:13px;line-height:1.55!important;word-break:keep-all}
.explanation-card .insight-lines{margin:20px 0}.explanation-card .insight-line{background:#f7f8fc}
#page-overview .reference-chart .sparkline{height:82px;margin-top:18px;border:0;border-radius:0;transform:none;background:none}
#page-overview .reference-chart .sparkline svg{display:block;width:100%;height:100%;overflow:visible}
.sparkline-empty{display:grid;place-items:center;height:100%;color:#aec4f2;font-size:11px}
#page-overview .overview-grid{grid-template-columns:1.08fr .92fr;gap:18px}
#page-overview .overview-grid .panel{min-height:300px;padding:28px 30px}
#page-overview .overview-grid>.panel:last-child{display:flex;min-width:0;flex-direction:column}
#page-overview #dashboard-goals{gap:14px;margin-top:20px}
#page-overview #dashboard-goals .goal-row{padding:18px 20px;background:#fff;border:1px solid #e8ecf5;box-shadow:0 5px 16px rgba(16,43,92,.04)}
#page-overview #dashboard-goals .progress-track{height:9px;background:#edf1f7}
#page-overview #dashboard-goals .progress-track i{background:linear-gradient(90deg,#2859c7,#6f8ff0)}
#page-overview #asset-composition{position:relative;display:flex;min-height:190px;padding-left:194px;flex:0 0 auto;flex-direction:column;gap:8px;margin:20px 0 20px;overflow:visible}
#page-overview #asset-composition:before{content:"";position:absolute;left:0;top:0;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,#fff 0 55%,transparent 56%),var(--portfolio-gradient,conic-gradient(#dce4f5 0 100%));box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
#page-overview #asset-composition .composition-item{display:flex;width:100%;height:38px;min-height:38px;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:#f7f9fd;font-size:12px}
#page-overview #asset-composition .composition-item .bar{display:none}
#page-overview #asset-composition .composition-item>span:first-child{display:flex;align-items:center;gap:8px}
#page-overview #asset-composition .composition-item>span:first-child:before{content:"";width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--composition-color,#2859c7)}
#page-overview #asset-composition .composition-item strong{font-size:13px;color:#102b5c}
.portfolio-center{position:absolute;left:39px;top:58px;width:92px;text-align:center;z-index:2;color:#6b7894}
.portfolio-center span,.portfolio-center strong{display:block}.portfolio-center span{font-size:10px}.portfolio-center strong{margin-top:3px;font-size:11px;color:#102b5c;white-space:nowrap}
#page-overview .trade-insight{display:grid;min-width:0;align-content:start;gap:8px;margin-top:auto;padding:18px 18px 17px;border-radius:12px;background:#f4f1ff;color:#26385d;line-height:1.55}
#page-overview .trade-insight span,#page-overview .trade-insight strong,#page-overview .trade-insight small{display:block}
#page-overview .trade-insight span{margin:0;font-size:11px;color:#2859c7}#page-overview .trade-insight strong{font-size:13px}#page-overview .trade-insight small{margin-top:2px;font-size:10px;color:#7a86a2}
.currency-line{margin:-10px 0 14px;color:#2859c7;font:600 12px 'DM Sans',sans-serif}

@media(max-width:760px){
  #page-overview .reference-dashboard-grid,#page-overview .overview-grid{grid-template-columns:1fr}
  #page-overview .reference-ai h3{white-space:normal;overflow:visible;text-overflow:clip}
  #page-overview #asset-composition{padding:185px 0 0}
  #page-overview #asset-composition:before{left:50%;transform:translateX(-50%)}
}
@media(max-width:640px){.insight-line{grid-template-columns:28px 1fr}.insight-line>p{grid-column:2}.insight-line>strong{white-space:normal}}

/* Menu information architecture */
#page-overview .reference-chart{display:flex;min-height:100%;flex-direction:column}
#page-overview .reference-chart>strong{margin-bottom:12px}
#page-overview .reference-chart .sparkline{height:128px;margin-top:auto;margin-bottom:10px}
#page-overview .reference-chart small{margin-top:0}

.asset-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.asset-summary-card{display:flex;min-height:142px;padding:24px 26px;flex-direction:column;justify-content:center;border:1px solid #e1e6f0;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,43,92,.04)}
.asset-summary-card span{font-size:12px;color:#71809b}.asset-summary-card strong{margin:12px 0 7px;color:#0d234c;font:700 clamp(23px,2.3vw,34px) 'DM Sans',sans-serif}.asset-summary-card small{color:#8290a8}.comparison-up{color:#169b87!important}.comparison-down{color:#df5964!important}.comparison-neutral{color:#8290a8!important}
.asset-summary-card.featured{border:0;color:#fff;background:linear-gradient(145deg,#071a3b,#173d86)}.asset-summary-card.featured span,.asset-summary-card.featured small{color:#b9c9e8}.asset-summary-card.featured strong{color:#fff}
.asset-ledger-panel{padding:0;overflow:hidden}.asset-tabs{display:flex;gap:26px;padding:0 24px;border-bottom:1px solid #e6eaf2}.asset-tabs button{padding:18px 2px 14px;border:0;border-bottom:3px solid transparent;background:none;color:#7b879d;font-weight:700;cursor:pointer}.asset-tabs button.active{border-color:#2b60d3;color:#2057ce}
.asset-ledger{display:grid}.asset-ledger-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,.55fr) auto;align-items:center;gap:24px;padding:20px 24px;border-bottom:1px solid #edf0f6}.asset-ledger-row:last-child{border-bottom:0}.asset-identity{display:flex;align-items:center;gap:14px}.asset-type-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;background:#eef3ff;color:#2859c7;font-weight:800}.asset-identity h3{margin:5px 0 2px;font-size:16px}.asset-identity .meta-line{margin:0}.asset-value{text-align:right}.asset-value strong{display:block;color:#102b5c;font:700 18px 'DM Sans',sans-serif}.asset-value .currency-line{margin:5px 0 0}.asset-ledger-row .card-actions{justify-content:flex-end;margin:0}
.trend-panel{margin-top:20px}

.goal-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px}.goal-journey-list{display:grid;gap:16px}.goal-journey-card{padding:24px}.goal-card-main{display:flex;gap:18px}.goal-icon{display:grid;width:46px;height:46px;flex:0 0 46px;place-items:center;border-radius:50%;background:#f0edff;color:#315fd2;font-size:20px}.goal-card-content{min-width:0;flex:1}.goal-card-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.goal-card-heading h3{margin:10px 0 4px}.goal-amounts{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:14px}.goal-amounts span{color:#7b879d;font-size:11px}.goal-amounts strong{display:block;margin-top:5px;color:#102b5c;font-size:16px;white-space:nowrap}.goal-journey-card .progress-track{height:9px;margin-top:20px}.goal-saving-plan{display:flex;gap:22px;margin-top:14px;padding:12px 14px;border-radius:12px;background:#f7f8fc;color:#70809c;font-size:12px}.goal-saving-plan strong{color:#173367}.goal-journey-card .next-action{margin:14px 0 0;padding:13px 15px;border-radius:12px;background:#f5f1ff;color:#435374}.goal-actions-panel{position:sticky;top:100px;padding:24px}.goal-actions-panel h3{margin:7px 0 18px}.goal-actions-panel>a{display:block;margin-top:18px;color:#2458cb;font-weight:700}.goal-next-actions{display:grid;gap:10px}.goal-next-actions article{display:flex;gap:10px;padding:13px;border-radius:13px;background:#f6f3ff}.goal-next-actions article>span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;background:#fff;color:#2859c7;font:700 10px 'DM Sans',sans-serif}.goal-next-actions strong{font-size:12px}.goal-next-actions p{margin:4px 0 0;color:#6d7a94;font-size:11px;line-height:1.5}

.cashflow-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.cashflow-metrics article{min-height:130px;padding:22px;border:1px solid #e2e7f0;border-radius:18px;background:#fff}.cashflow-metrics span,.cashflow-metrics small{display:block}.cashflow-metrics span{font-size:12px;color:#63728d}.cashflow-metrics strong{display:block;margin:14px 0 9px;color:#173367;font:700 clamp(20px,2vw,28px) 'DM Sans',sans-serif}.cashflow-metrics small{color:#8995aa;font-size:11px;font-weight:700}.cashflow-metrics .expense strong{color:#e45862}.cashflow-metrics .saving strong{color:#28a998}.cashflow-metrics .capacity strong{color:#2859c7}
.cashflow-visuals{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:20px}.cashflow-visuals>.panel{min-height:330px}.cashflow-chart{display:flex;height:235px;flex-direction:column}.cashflow-legend{display:flex;justify-content:flex-end;gap:18px;color:#71809a;font-size:11px}.cashflow-legend span,.expense-legend span{display:flex;align-items:center;gap:7px}.cashflow-legend span:before,.expense-legend span:before{content:"";width:8px;height:8px;border-radius:50%;background:#2859c7}.cashflow-legend .expense:before{background:#ff9a72}.cashflow-legend .saving:before{background:#63c5b8}.cashflow-bars{display:flex;height:190px;align-items:end;justify-content:space-around;gap:14px;padding:24px 10px 0;border-bottom:1px solid #e5e9f1}.cashflow-bar-group{display:flex;height:100%;min-width:44px;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;color:#7a879e;font-size:10px}.cashflow-bar-stack{display:flex;width:100%;height:155px;align-items:end;justify-content:center;gap:3px}.cashflow-bar-stack i{display:block;width:9px;min-height:2px;border-radius:5px 5px 1px 1px;background:#2859c7}.cashflow-bar-stack i.expense{background:#ff9a72}.cashflow-bar-stack i.saving{background:#63c5b8}
.expense-composition{display:grid;min-height:230px;grid-template-columns:170px minmax(140px,1fr);align-items:center;gap:28px}.expense-donut{display:grid;width:170px;height:170px;place-items:center;border-radius:50%;background:radial-gradient(circle,#fff 0 57%,transparent 58%),var(--expense-gradient)}.expense-donut>span{text-align:center;color:#7c89a0;font-size:11px}.expense-donut strong{display:block;margin-top:5px;color:#102b5c;font-size:13px}.expense-legend{display:grid;gap:12px}.expense-legend>div{display:flex;justify-content:space-between;padding:12px;border-radius:11px;background:#f7f8fc;color:#173367}.expense-legend .variable:before{background:#63c5b8}.cashflow-table-panel{margin-top:0}

@media(max-width:1100px){.asset-ledger-row{grid-template-columns:minmax(220px,1fr) minmax(170px,.7fr)}.asset-ledger-row .card-actions{grid-column:1/-1}.goal-workspace,.cashflow-visuals{grid-template-columns:1fr}.goal-actions-panel{position:static}.cashflow-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){#page-overview .reference-chart .sparkline{height:100px}.asset-summary-grid{grid-template-columns:1fr}.asset-ledger-row{grid-template-columns:1fr}.asset-value{text-align:left}.asset-ledger-row .card-actions{grid-column:auto;justify-content:flex-start}.goal-card-heading{display:grid}.goal-amounts{grid-template-columns:repeat(2,1fr)}.goal-saving-plan{display:grid;gap:7px}.cashflow-metrics{grid-template-columns:1fr}.expense-composition{grid-template-columns:1fr;justify-items:center}.expense-legend{width:100%}}
@media(max-width:520px){.goal-card-main{display:grid}.goal-amounts{grid-template-columns:1fr}.cashflow-bars{gap:6px;padding-inline:0}.cashflow-bar-group{min-width:32px}}

/* Keep the mobile top bar readable: actions live below the title instead of
   shrinking into narrow vertical buttons. */
@media(max-width:760px){
  .topbar{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"menu heading" "actions actions";height:auto;min-height:0;padding:16px 0;gap:10px 12px;align-items:center}
  #menu-button{grid-area:menu;width:38px;height:38px;padding:0;border:1px solid #dfe6f3;border-radius:11px;background:#fff;color:#2859c7;font-size:19px;line-height:1}
  .topbar>div:not(.top-actions){grid-area:heading;min-width:0}
  .topbar>div:not(.top-actions) .eyebrow{margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar h2{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px}
  .top-actions{grid-area:actions;width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:7px;align-items:stretch}
  .top-actions .sync-state{display:none}
  .top-actions .button{width:100%;min-width:0;min-height:38px;padding:8px 9px;font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:none}
  .top-actions .household-select{display:none}
}
@media(max-width:420px){.top-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}

.trade-insight-grounds{display:grid;grid-template-columns:1fr;gap:6px;margin:4px 0}.trade-insight-grounds:empty{display:none}.trade-insight-grounds p{display:grid!important;grid-template-columns:25px minmax(0,1fr);gap:8px;align-items:start;margin:0;padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.65);color:#5f6f8d;font-size:10px;line-height:1.45}.trade-insight-grounds p span{display:grid!important;width:22px;height:22px;place-items:center;margin:0!important;border-radius:7px;background:#e5eaff;color:#2859c7;font:700 9px 'DM Sans',sans-serif}.trade-insight .button{width:auto;justify-self:start;margin-top:3px}.trade-insight .button+small{margin-top:4px!important}
#settings-modal{width:min(680px,calc(100% - 30px));max-height:calc(100dvh - 32px);overflow:hidden}.settings-card{width:100%;max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto}.investment-profile-form{display:grid;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.investment-profile-form label{min-width:0;margin:0}.investment-profile-form label:nth-of-type(2),.investment-profile-form label:nth-of-type(6),.investment-profile-form .button{grid-column:1/-1}.investment-profile-form small{display:block;margin-top:6px;color:#8290a8;font-size:10px;line-height:1.45}.settings-divider{height:1px;margin:28px 0;background:#e4e8f0}.settings-card>h3{margin:8px 0}.settings-card>.button{margin-top:9px}
@media(max-width:600px){#settings-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.settings-card{max-height:calc(100dvh - 20px);padding:26px 20px}.investment-profile-form{grid-template-columns:1fr}.investment-profile-form label,.investment-profile-form label:nth-of-type(2),.investment-profile-form label:nth-of-type(6),.investment-profile-form .button{grid-column:auto}}

.section-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
#bank-salad-import-modal{width:min(680px,calc(100% - 30px));max-height:calc(100dvh - 32px);overflow:hidden}.bank-salad-import-card{width:100%;max-height:calc(100dvh - 32px);overflow-x:hidden;overflow-y:auto;gap:16px}.bank-salad-import-card h2{margin-bottom:0}.bank-salad-import-card .import-description{margin:0 0 4px;padding:13px 15px;border-radius:12px;background:#f5f7fd;color:#66748f}.file-picker small{color:#8591a6;font-size:10px;line-height:1.55}.bank-salad-preview{display:grid;gap:14px;padding:18px;border:1px solid #dce4f5;border-radius:16px;background:#f8faff}.bank-salad-preview-head{display:flex;align-items:end;justify-content:space-between;gap:12px}.bank-salad-preview-head div span,.bank-salad-preview-head div strong{display:block}.bank-salad-preview-head div span{margin-bottom:3px;color:#2859c7;font-size:11px;font-weight:700}.bank-salad-preview-head div strong{color:#102b5c;font-size:20px}.bank-salad-preview-head small{color:#7c89a0;font-size:10px;text-align:right}.bank-salad-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bank-salad-summary-grid>div{min-width:0;padding:11px 12px;border-radius:11px;background:#fff;border:1px solid #e4e9f3}.bank-salad-summary-grid span,.bank-salad-summary-grid strong{display:block}.bank-salad-summary-grid span{margin-bottom:5px;color:#7d899e;font-size:9px}.bank-salad-summary-grid strong{overflow:hidden;color:#173367;font-size:13px;text-overflow:ellipsis}.bank-salad-summary-grid .capacity{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;background:#edf9f6;border-color:#d3eee8}.bank-salad-summary-grid .capacity span{margin:0;color:#278b7d}.bank-salad-summary-grid .capacity strong{color:#148b7b;font-size:17px}.bank-salad-summary-grid .capacity.negative{background:#fff2f2;border-color:#f4d7d8}.bank-salad-summary-grid .capacity.negative span,.bank-salad-summary-grid .capacity.negative strong{color:#d84c58}.bank-salad-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.bank-salad-categories>span{grid-column:1/-1;color:#67758f;font-size:10px;font-weight:700}.bank-salad-categories>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;border-radius:9px;background:#fff;color:#53617a;font-size:10px}.bank-salad-categories i{width:7px;height:7px;border-radius:50%;background:hsl(calc(215deg + var(--category-index)*24deg) 65% 58%)}.bank-salad-categories strong{overflow:hidden;color:#253b65;text-overflow:ellipsis;white-space:nowrap}.bank-salad-categories div span{white-space:nowrap}.bank-salad-apply-block{display:grid;gap:9px;padding-top:2px}.bank-salad-apply-block p{margin:0;color:#7c89a0;font-size:10px;text-align:center}
@media(max-width:760px){.section-head .section-actions{align-self:stretch;display:grid;grid-template-columns:1fr}.bank-salad-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-salad-categories{grid-template-columns:1fr}.bank-salad-preview-head{align-items:start;flex-direction:column}.bank-salad-preview-head small{text-align:left}}
@media(max-width:480px){#bank-salad-import-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.bank-salad-import-card{max-height:calc(100dvh - 20px);padding:26px 20px}.bank-salad-summary-grid{grid-template-columns:1fr}.bank-salad-summary-grid .capacity{grid-column:auto}.bank-salad-categories>div{grid-template-columns:auto minmax(0,1fr)}.bank-salad-categories div span{grid-column:2;white-space:normal}}

#notification-button.has-unread{border-color:#8ca9f0;background:#edf3ff;color:#174daf}.notification-card{max-height:min(760px,calc(100dvh - 32px));overflow-y:auto}.notification-head{display:flex;align-items:start;justify-content:space-between;gap:20px}.notification-head h2{margin-bottom:18px}.notification-list{display:grid;gap:12px}.notification-item{padding:17px 18px;border:1px solid #e3e8f2;border-radius:15px;background:#fff}.notification-item.unread{border-color:#b9caf4;background:#f5f7ff;box-shadow:inset 3px 0 #2b60d3}.notification-item>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.notification-item span{color:#2859c7;font-size:10px;font-weight:800}.notification-item time{color:#8995aa;font-size:10px}.notification-item h3{margin:9px 0 6px;font-size:14px}.notification-item p{margin:0;color:#62708b;font-size:12px;line-height:1.65;white-space:pre-wrap}.notification-item .button{margin-top:12px;font-size:10px}
@media(max-width:520px){.notification-head{display:block}.notification-head .button{margin:-8px 0 16px}.notification-item>div{align-items:start;flex-direction:column;gap:3px}}

.integration-status{display:flex;align-items:center;gap:8px;margin:10px 0 12px;color:#7c89a0;font-size:12px}.integration-status:before{content:"";width:9px;height:9px;border-radius:50%;background:#aeb7c7}.integration-status.connected{color:#178f7e}.integration-status.connected:before{background:#45bea9;box-shadow:0 0 0 4px rgba(69,190,169,.14)}
#slack-webhook-form{display:grid;gap:16px;margin-top:20px}.consent-check{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:10px;padding:14px;border:1px solid #dbe3f2;border-radius:12px;background:#f7f9fd;color:#54617b;font-size:11px;line-height:1.6}.consent-check input{width:17px;height:17px;margin:2px 0 0;padding:0}.slack-security-note{margin-top:14px;padding:12px 14px;border-radius:11px;background:#fff7e8;color:#7d6945!important}.slack-security-note:before{content:"!";display:inline-grid;width:18px;height:18px;margin-right:7px;place-items:center;border-radius:50%;background:#f4c76b;color:#fff;font-weight:800}

.recurring-expense-panel{margin:0 0 20px}.recurring-expense-panel .panel-head{align-items:start}.recurring-expense-panel .panel-head p:not(.eyebrow){max-width:680px;margin:7px 0 0;color:#7b879d;font-size:11px;line-height:1.55}.recurring-expense-list{display:grid;gap:10px}.recurring-expense-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(165px,.45fr) auto;align-items:center;gap:18px;padding:15px 17px;border:1px solid #e7ebf3;border-radius:15px;background:#fafbfe}.recurring-expense-main{display:flex;align-items:center;gap:12px;min-width:0}.recurring-expense-main>div{min-width:0}.recurring-expense-main strong,.recurring-expense-main small,.recurring-expense-amount strong,.recurring-expense-amount small{display:block}.recurring-expense-main strong{overflow:hidden;color:#153064;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.recurring-expense-main small,.recurring-expense-amount small{margin-top:4px;color:#8290a8;font-size:10px}.recurring-confidence{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:#eef2f8;color:#68758d;font-size:9px;font-weight:800}.recurring-confidence.high{background:#e9f8f4;color:#178f7e}.recurring-confidence.medium{background:#fff6df;color:#9a7624}.recurring-expense-amount{text-align:right}.recurring-expense-amount strong{color:#173367;font-size:12px}.recurring-expense-actions{display:flex;padding:3px;border-radius:10px;background:#edf1f8}.recurring-expense-actions button{padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#74819a;font:700 10px inherit;cursor:pointer;white-space:nowrap}.recurring-expense-actions button.active{background:#fff;color:#2458cb;box-shadow:0 2px 8px rgba(16,43,92,.09)}.recurring-expense-actions button.reset{color:#64738f}.recurring-expense-actions button:disabled{opacity:.5;cursor:wait}
@media(max-width:900px){.recurring-expense-row{grid-template-columns:1fr auto}.recurring-expense-actions{grid-column:1/-1;justify-self:start}}
@media(max-width:560px){.recurring-expense-row{grid-template-columns:1fr}.recurring-expense-amount{text-align:left}.recurring-expense-actions{grid-column:auto}.recurring-expense-panel .panel-head{display:grid}.recurring-expense-panel .panel-head>.badge{justify-self:start}}

.household-select{width:auto;min-width:145px;padding:9px 30px 9px 12px;border-radius:10px;border-color:#dfe6f3;background:#fff;color:#173367;font-size:11px;font-weight:700}.household-card{gap:14px}.household-card h2{margin-bottom:2px}.household-members{display:grid;gap:8px}.household-current{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:12px;background:#edf3ff;color:#173367}.household-current strong{font-size:13px}.household-current span,.household-member small,.household-invite small{color:#74819a;font-size:10px}.household-member{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid #e4e9f3;border-radius:11px;font-size:12px}.household-invite{display:grid;gap:9px;padding:13px;border-radius:12px;background:#f7f8fc}.household-invite p{margin:0;color:#66748f;font-size:11px;line-height:1.5}.household-invite code{overflow:auto;padding:11px;border-radius:8px;background:#fff;color:#173367;font-size:11px;white-space:nowrap}.household-form{display:grid;gap:10px}.household-form+.household-form{margin-top:12px}
@media(max-width:760px){.top-actions{gap:8px}.household-select{display:none}.top-actions #household-manage-button{padding-inline:10px;font-size:11px}}
.household-member{align-items:center}.household-member>div:first-child{display:grid;gap:3px;min-width:0}.household-member>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.household-member-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.household-member-actions .button{padding:7px 9px;font-size:10px}

#transaction-ledger-modal{width:min(1160px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:hidden}.transaction-ledger-card{width:100%;max-height:calc(100dvh - 32px);overflow:auto}.transaction-ledger-card h2{margin-bottom:6px}.transaction-ledger-controls{display:flex;align-items:end;gap:10px;margin:20px 0 12px}.transaction-ledger-controls label{margin:0}.transaction-ledger-controls input{min-width:150px}.transaction-ledger-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;background:#f5f7fd;color:#66748f;font-size:11px}.transaction-ledger-summary>div{display:grid;gap:4px}.transaction-ledger-summary>div:last-child{text-align:right}.transaction-ledger-summary strong{color:#173367;font-size:13px}.transaction-ledger-summary .review{color:#c06b27;font-weight:800}.transaction-ledger-list{margin-top:12px;max-height:calc(100dvh - 330px);overflow:auto}.transaction-ledger-list table{min-width:850px}.transaction-ledger-list td{vertical-align:middle}.transaction-ledger-list td strong,.transaction-ledger-list td small{display:block}.transaction-ledger-list td strong{color:#173367;font-size:12px}.transaction-ledger-list td small{margin-top:4px;color:#8793a8;font-size:10px}.transaction-ledger-list tr.excluded{opacity:.62}.transaction-amount{color:#178f7e!important;font-weight:800}.transaction-amount.expense{color:#d75762!important}.transaction-edit-card{width:min(500px,100%)}.transaction-edit-card label{display:grid;gap:8px;margin-top:16px}.transaction-edit-description{margin:14px 0 2px;padding:12px 14px;border-radius:11px;background:#f6f8fc;color:#52617d;font-size:12px}.transaction-edit-card .consent-check{margin-top:18px}
@media(max-width:640px){#transaction-ledger-modal{width:calc(100% - 18px);max-height:calc(100dvh - 18px)}.transaction-ledger-card{max-height:calc(100dvh - 18px);padding:24px 18px}.transaction-ledger-controls{align-items:stretch;flex-direction:column}.transaction-ledger-controls .button{width:100%}.transaction-ledger-summary{align-items:start;flex-direction:column}.transaction-ledger-list{max-height:calc(100dvh - 380px)}}
