/* Shared workspace components; the classic interface keeps its original layout. */
[data-appearance="bento"] {
  --bento-panel:#1b2a30;
  --bento-panel-soft:rgba(28,45,51,.82);
  --bento-stroke:rgba(151,204,210,.24);
  --bento-highlight:rgba(86,237,197,.12);
}
[data-appearance="bento"] main > header { margin-bottom:24px; }
[data-appearance="bento"] #content { min-width:0; }
[data-appearance="bento"] .section-heading { gap:14px; flex-wrap:wrap; margin-top:28px; }
[data-appearance="bento"] .section-heading h2 { display:flex; align-items:center; gap:10px; font-size:17px; min-width:0; }
[data-appearance="bento"] .bento-section-icon { display:inline-flex; flex:0 0 auto; color:var(--bento-cyan); }
[data-appearance="bento"] .bento-section-icon svg { width:18px; height:18px; }
[data-appearance="bento"] .filters { gap:10px; padding:14px 0; border-bottom:1px solid var(--bento-stroke); margin:0 0 22px; }
[data-appearance="bento"] .filters input, [data-appearance="bento"] .filters select { min-height:42px; }
[data-appearance="bento"] .filters > label { margin-bottom:0; }
[data-appearance="bento"] .filters .helper { color:#afc2c9; }
[data-appearance="bento"] button { min-height:40px; border-radius:6px; transition:background .15s,border-color .15s; }
[data-appearance="bento"] button:not(.primary):not(.text-button):not(.overview-account-card):not(.operation-account-card):not(.monthly-group-card):not(.nav-scroll) { background:#b3dce60b; box-shadow:inset 0 1px #ffffff08; }
[data-appearance="bento"] button[aria-pressed="true"] { color:#91ffe0; border-color:#56edc55c; background:#56edc51c; }
[data-appearance="bento"] :is(input,select,textarea) { border-radius:6px; box-shadow:inset 0 2px 5px #0002; }
[data-appearance="bento"] input[type="checkbox"], [data-appearance="bento"] input[type="radio"] { accent-color:var(--bento-mint); }
[data-appearance="bento"] .empty { padding:28px 18px; border:1px dashed var(--bento-stroke); border-radius:8px; background:#b3dce604; }
[data-appearance="bento"] .empty svg { color:#72c9ca; }
[data-appearance="bento"] .count { background:#63c8ed18; color:#b8e8fc; border:1px solid #63c8ed24; }

/* View-level facts are derived from the same filtered data as the workspace. */
[data-appearance="bento"] .bento-indicators { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:0 0 26px; }
[data-appearance="bento"] .bento-indicators > div { position:relative; min-width:0; padding:18px 18px 18px 64px; background:linear-gradient(120deg,#21423980,#1b2a30); border:1px solid #56edc542; border-radius:8px; }
[data-appearance="bento"] .bento-indicators > div:nth-child(2) { background:linear-gradient(120deg,#293c5480,#1b2a30); border-color:#63c8ed50; }
[data-appearance="bento"] .bento-indicators > div:nth-child(3) { background:linear-gradient(120deg,#453c2880,#1b2a30); border-color:#eaca8350; }
[data-appearance="bento"] .bento-indicators dt { color:#bfd0d5; font-size:12px; line-height:1.5; }
[data-appearance="bento"] .bento-indicators dd { margin:8px 0 0; font-size:24px; font-weight:650; overflow-wrap:anywhere; }
[data-appearance="bento"] .bento-indicator-icon { position:absolute; top:20px; left:16px; display:grid; place-items:center; width:34px; height:34px; color:var(--bento-mint); background:#56edc514; border:1px solid #56edc52b; border-radius:8px; }
[data-appearance="bento"] .bento-indicators > div:nth-child(2) .bento-indicator-icon { color:var(--bento-cyan); background:#63c8ed14; border-color:#63c8ed2b; }
[data-appearance="bento"] .bento-indicators > div:nth-child(3) .bento-indicator-icon { color:var(--bento-gold); background:#eaca8314; border-color:#eaca832b; }

/* Tables are framed tools with distinct headings, totals and scroll boundaries. */
[data-appearance="bento"] .bento-table-surface { max-width:100%; overflow:auto; border:1px solid var(--bento-stroke); border-radius:8px; background:var(--bento-panel-soft); box-shadow:0 5px 18px #0002,inset 0 1px #ffffff08; scrollbar-width:thin; scrollbar-color:#6a939c70 #142229; }
[data-appearance="bento"] .bento-table-surface:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
[data-appearance="bento"] .bento-table-surface table { font-size:13px; border-collapse:separate; border-spacing:0; }
[data-appearance="bento"] .bento-table-surface th { position:sticky; top:0; z-index:2; background:#263d45; color:#b8dce6; font-size:11px; font-weight:650; }
[data-appearance="bento"] .bento-table-surface :is(th,td) { padding:13px 12px; border-bottom:1px solid #a6d5d91a; }
[data-appearance="bento"] .bento-table-surface td { background:#18292f; }
[data-appearance="bento"] .bento-table-surface tbody tr:not(.annual-row-highlighted):nth-child(even) > td:not(.annual-high):not(.annual-low):not(.annual-goal-over):not(.annual-goal-under) { background:#1b2d34; }
[data-appearance="bento"] .bento-table-surface tbody tr:not(.annual-row-highlighted):hover > td:not(.annual-high):not(.annual-low):not(.annual-goal-over):not(.annual-goal-under) { background:#244048; }
[data-appearance="bento"] .bento-table-surface tfoot td, [data-appearance="bento"] .bento-table-surface tfoot th { background:#22473e; color:#d4fff0; border-bottom:0; border-top:1px solid #56edc53b; font-weight:650; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) td.annual-high { color:#ffb4c7; background:#542e40; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) td.annual-low { color:#a0f4ce; background:#214b3b; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) td.annual-goal-over { color:#ffb4c7; background:#542e40; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) td.annual-goal-under { color:#a0f4ce; background:#214b3b; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) tr.annual-row-highlighted > td { box-shadow:inset 0 2px #7ee4ef,inset 0 -2px #7ee4ef; }
[data-appearance="bento"] :is(.annual-budget-table,.overview-annual) tr.annual-row-highlighted > td:not(.annual-high):not(.annual-low):not(.annual-goal-over):not(.annual-goal-under) { background:#23515a; }
[data-appearance="bento"] [data-view="budget"] > .bento-table-surface, [data-appearance="bento"] .overview-section > .bento-table-surface { max-height:680px; }
[data-appearance="bento"] .annual-budget-table :is(th,td):nth-child(1) { position:sticky; left:0; z-index:1; min-width:58px; width:58px; background:#1f343b; }
[data-appearance="bento"] .annual-budget-table :is(th,td):nth-child(2) { position:sticky; left:58px; z-index:1; min-width:180px; width:180px; background:#1f343b; box-shadow:3px 0 8px #0002; }
[data-appearance="bento"] .annual-budget-table thead :is(th:nth-child(1),th:nth-child(2)) { z-index:4; background:#2a434c; }
[data-appearance="bento"] .annual-budget-table tbody tr:not(.annual-row-highlighted):nth-child(even) > td:nth-child(-n+2) { background:#223b43; }
[data-appearance="bento"] .annual-goal-input { background:#0e2229; border-color:#63c8ed50; font-weight:600; min-height:36px; }
[data-appearance="bento"] .bento-table-surface .annual-budget-table :is(td,th) { padding:8px 10px; }
[data-appearance="bento"] .annual-budget-table .annual-drag-handle { min-height:32px; }
[data-appearance="bento"] .annual-drag-handle { color:#95cbd6; background:transparent!important; border-color:transparent; box-shadow:none!important; }
[data-appearance="bento"] .overview-annual :is(th,td):first-child { position:sticky; left:0; z-index:1; background:#1f343b; box-shadow:3px 0 8px #0002; }
[data-appearance="bento"] .overview-annual thead th:first-child { z-index:3; background:#2a434c; }
[data-appearance="bento"] .overview-annual .overview-subtotal td { border-top:1px solid #63c8ed5c; background:#23434a; color:#c5f5ff; }

/* Daily review and operations use the same transaction component. */
[data-appearance="bento"] .stats { gap:14px; padding:0; border:0; }
[data-appearance="bento"] .stat { padding:20px; border-radius:8px; border-color:#63c8ed45; background:linear-gradient(120deg,#203d4780,#1b2a30); box-shadow:var(--surface-shadow); }
[data-appearance="bento"] .stat:nth-child(2) { border-color:#f394ac45; background:linear-gradient(120deg,#45303b80,#1b2a30); }
[data-appearance="bento"] .stat:nth-child(3) { border-color:#56edc545; background:linear-gradient(120deg,#25443880,#1b2a30); }
[data-appearance="bento"] .stat:nth-child(4) { border-color:#eaca8345; background:linear-gradient(120deg,#453e2b80,#1b2a30); }
[data-appearance="bento"] .stat-label svg { width:22px; height:22px; color:var(--bento-cyan); }
[data-appearance="bento"] .stat-value { margin:18px 0 10px; color:#f4fcff; }
[data-appearance="bento"] .bento-daily-sections { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:26px; align-items:start; }
[data-appearance="bento"] .bento-daily-sections > section { min-width:0; }
[data-appearance="bento"] .drafts { grid-template-columns:1fr; gap:12px; }
[data-appearance="bento"] .draft-card { padding:18px; background:#223238; border-color:var(--bento-stroke); }
[data-appearance="bento"] .operation-accounts { grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr)); gap:12px; }
[data-appearance="bento"] .operation-account-card { padding:16px; }
[data-appearance="bento"] .operation-account-heading { min-height:52px; }
[data-appearance="bento"] .operation-account-footer { margin-top:12px; padding-top:12px; }
[data-appearance="bento"] .account-transactions { background:transparent; border:0; }
[data-appearance="bento"] .account-transactions > .section-heading { background:transparent; padding:0 0 16px; margin:0 0 14px; border-bottom:1px solid var(--bento-stroke); }
[data-appearance="bento"] .transaction-row { padding:16px; margin:10px 0; background:var(--bento-panel-soft); border:1px solid var(--bento-stroke); border-radius:8px; gap:14px; }
[data-appearance="bento"] .account-transactions .transaction-row { margin:10px 0; border-bottom:1px solid var(--bento-stroke); }
[data-appearance="bento"] .transaction-row:hover { border-color:#8bcbd561; }
[data-appearance="bento"] .row-title { font-size:14px; line-height:1.55; }
[data-appearance="bento"] .transaction-row > .amount { color:var(--bento-rose); font-size:17px; }
[data-appearance="bento"] .transaction-row > .amount.green { color:var(--bento-mint); }
[data-appearance="bento"] .transaction-icon { width:42px; height:42px; border-radius:8px; }
[data-appearance="bento"] .tag { border:1px solid #56edc52b; padding:4px 8px; font-size:11px; }
[data-appearance="bento"] .tag.pending { border-color:#eaca833b; }
[data-appearance="bento"] .operation-summary { gap:20px; padding:18px 0; border-color:var(--bento-stroke); margin-bottom:18px; }
[data-appearance="bento"] .operation-summary > div { padding:12px 16px; background:#21363c; border-left:2px solid #63c8ed77; min-width:120px; }
[data-appearance="bento"] .operation-summary strong { font-size:20px; }
[data-appearance="bento"] .movement-table td.amount { color:var(--bento-rose); }
[data-appearance="bento"] .movement-table td.amount.green { color:var(--bento-mint); }

/* Connected banks and savings sources are distinct, actionable tiles. */
[data-appearance="bento"] .bank-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr)); gap:12px; }
[data-appearance="bento"] .bank-card { padding:18px; background:#1d3038; border-top:2px solid #63c8ed77; }
[data-appearance="bento"] .bank-card:nth-child(2n) { border-top-color:#56edc577; background:#1d3331; }
[data-appearance="bento"] .bank-card:nth-child(3n) { border-top-color:#bd9ee677; background:#302d3d; }
[data-appearance="bento"] .bank-card button { background:#ffffff0c; border-color:#ffffff25; }
[data-appearance="bento"] .config-status { padding:12px 0 18px; color:#b0d6dd; }
[data-appearance="bento"] .bento-linked-accounts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:14px; }
[data-appearance="bento"] .account-line { position:relative; padding:18px; border:1px solid var(--bento-stroke); border-radius:8px; background:linear-gradient(120deg,#233c4380,#1b2a30); grid-template-columns:minmax(0,1fr); }
[data-appearance="bento"] .account-line > div { padding-left:44px; min-width:0; }
[data-appearance="bento"] .account-line > strong { font-size:25px; padding-top:14px; border-top:1px solid var(--line); }
[data-appearance="bento"] .bento-account-emblem, [data-appearance="bento"] .bento-source-emblem { position:absolute; top:18px; left:16px; display:grid; place-items:center; width:34px; height:34px; border:1px solid #63c8ed3b; border-radius:8px; color:var(--bento-cyan); background:#63c8ed14; }
[data-appearance="bento"] .account-line p { font-size:11px; line-height:1.7; }
[data-appearance="bento"] .account-line button { min-height:32px; font-size:11px; }
[data-appearance="bento"] .savings-total { position:relative; padding:24px 26px; margin:0 0 28px; border:1px solid #eaca8355; border-left:4px solid var(--bento-gold); border-radius:8px; background:linear-gradient(120deg,#443d2780,#1b2a30); }
[data-appearance="bento"] .savings-total > strong { font-size:36px; margin-bottom:0; color:#fff4d7; }
[data-appearance="bento"] .bento-savings-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
[data-appearance="bento"] .savings-section { min-width:0; }
[data-appearance="bento"] .savings-section > .section-heading { align-items:start; flex-direction:column; gap:8px; min-height:66px; margin:0 0 14px; }
[data-appearance="bento"] .savings-section > .section-heading > strong { color:var(--bento-gold); font-size:19px; }
[data-appearance="bento"] .savings-row { position:relative; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:16px; margin:0 0 12px; border:1px solid var(--bento-stroke); border-radius:8px; background:var(--bento-panel-soft); }
[data-appearance="bento"] .savings-row > div:first-child { grid-column:1/-1; padding-left:44px; min-height:40px; }
[data-appearance="bento"] .savings-row .helper { font-size:11px; margin-top:8px; line-height:1.6; }
[data-appearance="bento"] .savings-value { grid-column:1; grid-row:2; text-align:left; align-self:center; font-size:23px; overflow-wrap:anywhere; }
[data-appearance="bento"] .savings-actions { grid-column:2; grid-row:2; }
[data-appearance="bento"] .savings-actions .icon-button { width:32px; min-height:32px; height:32px; padding:6px; }

/* Category workspaces and monthly reference tools. */
[data-appearance="bento"] .domain-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr)); gap:8px; }
[data-appearance="bento"] .domain-row { grid-template-columns:minmax(0,1fr) auto; gap:5px 8px; padding:9px 10px; background:var(--bento-panel-soft); border:1px solid var(--bento-stroke); border-radius:6px; }
[data-appearance="bento"] .domain-row > button { padding:0; font-size:13px; color:#d8f5fb; min-height:28px; gap:6px; }
[data-appearance="bento"] .domain-row > button svg { color:var(--bento-cyan); }
[data-appearance="bento"] .domain-row > span { font-size:11px; }
[data-appearance="bento"] .domain-amounts { grid-column:1/-1; border-top:1px solid var(--line); padding-top:5px; width:100%; gap:3px 8px; }
[data-appearance="bento"] .domain-amounts span { font-size:10px; }
[data-appearance="bento"] .domain-amounts strong { font-size:13px; }
[data-appearance="bento"] .classification-rules { margin-top:20px; border-block:1px solid var(--bento-stroke); }
[data-appearance="bento"] .classification-rules > summary { font-size:13px; font-weight:600; padding:10px 0; color:#c1e7ec; }
[data-appearance="bento"] .classification-rules .count { margin-left:6px; font-size:10px; }
[data-appearance="bento"] .classification-rules .empty { padding:12px; border:0; }
[data-appearance="bento"] .classification-rules .empty svg { display:none; }
[data-appearance="bento"] .rule-row { padding:5px 8px; margin:0; border:0; border-bottom:1px solid var(--bento-stroke); border-radius:0; background:transparent; font-size:12px; gap:8px; }
[data-appearance="bento"] .rule-row p { font-size:11px; margin:2px 0 0; }
[data-appearance="bento"] .rule-row .icon-button { width:28px; height:28px; min-height:28px; padding:5px; }
[data-appearance="bento"] .monthly-plan-grid { gap:12px; }
[data-appearance="bento"] .monthly-group-card { min-height:140px; padding:18px; }
[data-appearance="bento"] .monthly-group-card[data-month-open="fixed"] { background:linear-gradient(120deg,#21445780,#1b2a30); }
[data-appearance="bento"] .monthly-group-card[data-month-open="subscriptions"] { background:linear-gradient(120deg,#3b315180,#1b2a30); }
[data-appearance="bento"] .monthly-group-card[data-month-open="variable"] { background:linear-gradient(120deg,#453b2780,#1b2a30); }
[data-appearance="bento"] .monthly-group-card[data-month-open="housing"] { background:linear-gradient(120deg,#47313c80,#1b2a30); }
[data-appearance="bento"] .monthly-card-totals { margin-top:16px; }
[data-appearance="bento"] .monthly-card-share { margin-top:12px; }
[data-appearance="bento"] .monthly-section { margin-top:18px; }
[data-appearance="bento"] .monthly-row-actions .icon-button { background:#63c8ed12; border-color:#63c8ed33; color:#a8ddec; }
[data-appearance="bento"] .bento-table-surface .month-start-table :is(th,td) { padding:4px 8px; }
[data-appearance="bento"] .bento-table-surface .month-start-table th { position:static; }
[data-appearance="bento"] .month-start-table .icon-button { min-height:28px; }
[data-appearance="bento"] .month-start-summary td { font-size:16px; }
[data-appearance="bento"] .month-start-summary th { font-size:12px; }
[data-appearance="bento"] .month-start-summary tr:nth-child(4) > *, [data-appearance="bento"] .month-start-summary tr:last-child > * { background:#214a3e; color:#b7ffe6; }

/* Portfolio, investment journal and groceries share the workspace grammar. */
[data-appearance="bento"] .portfolio-evolution { padding-top:4px; }
[data-appearance="bento"] .portfolio-chart-controls .field > label { font-size:11px; }
[data-appearance="bento"] .portfolio-chart-heading { flex-wrap:wrap; gap:10px 16px; min-height:94px; }
[data-appearance="bento"] .portfolio-chart-heading > div:first-child { flex:1 1 150px; }
[data-appearance="bento"] .portfolio-chart-heading h3 { font-size:13px; color:#c4d6d9; }
[data-appearance="bento"] .portfolio-chart-heading #portfolio-chart-current { font-size:28px; }
[data-appearance="bento"] .portfolio-chart-heading #portfolio-chart-point { order:3; max-width:none; flex:1 1 100%; min-height:18px; text-align:left; font-size:11px; color:#c4d6d9; }
[data-appearance="bento"] .portfolio-chart-range { display:flex; gap:12px; margin:0; padding-top:3px; }
[data-appearance="bento"] .portfolio-chart-range > div { border-left:1px solid var(--line); padding-left:10px; }
[data-appearance="bento"] .portfolio-chart-range dt { font-size:10px; color:var(--muted); margin-bottom:7px; }
[data-appearance="bento"] .portfolio-chart-range dd { margin:0; font-size:12px; font-weight:600; overflow-wrap:anywhere; }
[data-appearance="bento"] .portfolio-chart-surface { border:1px solid #8bc9c815; background:#0b1b2055; border-radius:6px; padding:5px; height:280px; }
[data-appearance="bento"] #portfolio-chart-caption { font-size:10px; line-height:1.5; }
[data-appearance="bento"] .market-view-tabs, [data-appearance="bento"] .lab-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:5px; margin-bottom:20px; border:1px solid var(--bento-stroke); border-radius:8px; width:fit-content; max-width:100%; background:#112229; }
[data-appearance="bento"] .lab-tabs button { border:1px solid transparent; background:transparent; }
[data-appearance="bento"] .lab-tabs button[aria-pressed="true"] { background:#56edc51a; border-color:#56edc53b; }
[data-appearance="bento"] .lab-primary { gap:14px; padding:0; border:0; margin:20px 0; }
[data-appearance="bento"] .lab-primary > .lab-metric { padding:20px; border:1px solid #63c8ed45; border-radius:8px; background:#20353d; }
[data-appearance="bento"] .lab-primary > .lab-metric:nth-child(2n) { border-color:#56edc545; background:#203b34; }
[data-appearance="bento"] .lab-primary dd { margin-top:16px; font-size:25px; }
[data-appearance="bento"] .lab-layout-groups { gap:24px; border-color:var(--bento-stroke); }
[data-appearance="bento"] .lab-metric-group h3 { display:flex; align-items:center; gap:10px; color:#b8eafa; }
[data-appearance="bento"] .lab-metric-group .lab-metric { padding-bottom:12px; border-bottom:1px solid var(--line); }
[data-appearance="bento"] .lab-sheet-results > div { padding:14px 20px; border-left:3px solid #eaca8388; background:#3b382640; }
[data-appearance="bento"] .grocery-estimate { padding:22px; background:linear-gradient(120deg,#214b3e80,#1b2a30); border:1px solid #56edc54a; border-radius:8px; }
[data-appearance="bento"] .grocery-estimate > strong { color:#a3ffe2; font-size:30px; }
[data-appearance="bento"] .grocery-list { display:grid; grid-template-columns:minmax(0,1fr); gap:0; margin-top:14px; border:1px solid var(--bento-stroke); border-radius:8px; overflow:hidden; background:var(--bento-panel-soft); }
[data-appearance="bento"] .grocery-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px,140px) minmax(140px,200px) 32px; gap:10px; padding:6px 10px; border:0; border-bottom:1px solid var(--bento-stroke); border-radius:0; background:transparent; font-size:12px; }
[data-appearance="bento"] .grocery-list .grocery-row:last-child { border-bottom:0; }
[data-appearance="bento"] .grocery-list .grocery-row:nth-child(even) { background:#ffffff03; }
[data-appearance="bento"] .grocery-row:hover { background:#63c8ed0a; }
[data-appearance="bento"] .grocery-check { grid-column:1; grid-row:1; margin:0; padding:0; border:0; gap:8px; }
[data-appearance="bento"] .grocery-check input { accent-color:var(--green); }
[data-appearance="bento"] .grocery-price { grid-column:2; grid-row:1; min-width:0; text-align:right; }
[data-appearance="bento"] .grocery-price > strong { font-size:13px; color:#d8fff2; }
[data-appearance="bento"] .grocery-row small { font-size:10px; line-height:1.4; }
[data-appearance="bento"] .grocery-frequency { grid-column:3; grid-row:1; border:0; padding:0; }
[data-appearance="bento"] .grocery-row > button { grid-column:4; grid-row:1; width:28px; height:28px; min-height:28px; padding:5px; }
[data-appearance="bento"] .grocery-checked { border-color:#56edc52b; background:#56edc50a; }
[data-appearance="bento"] .grocery-history { border:1px solid var(--bento-stroke); border-radius:8px; padding:16px; margin:12px 0; background:#1d3036; }
[data-appearance="bento"] .grocery-history summary { color:#c1e7ec; }
[data-appearance="bento"] .receipt-preview { gap:20px; padding:20px 0; }
[data-appearance="bento"] .receipt-preview-media { border:1px solid var(--bento-stroke); border-radius:8px; background:#102229; }
[data-appearance="bento"] .receipt-review-item { padding:16px; border:1px solid var(--bento-stroke); border-radius:8px; margin:12px 0; background:#1d3036; }
[data-appearance="bento"] details > summary { cursor:pointer; padding-block:6px; }
[data-appearance="bento"] progress { accent-color:var(--green); }

/* The same controls and visual hierarchy also apply to modal and auth flows. */
[data-appearance="bento"] dialog { padding:24px; border:1px solid #8ac9d464; border-radius:8px; box-shadow:0 24px 90px #000a,inset 0 1px #ffffff0d; }
[data-appearance="bento"] .dialog-heading { padding-bottom:16px; border-bottom:1px solid var(--bento-stroke); }
[data-appearance="bento"] .dialog-heading h2 { font-size:19px; }
[data-appearance="bento"] dialog .field > label, [data-appearance="bento"] dialog .receipt-metadata label { color:#bfd2da; }
[data-appearance="bento"] dialog :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { min-height:44px; }
[data-appearance="bento"] .form-actions { padding-top:18px; border-top:1px solid var(--line); }
[data-appearance="bento"] .form-error { color:#ffb9cd; }
[data-appearance="bento"] .dialog-summary { padding:16px; border:1px solid #63c8ed33; border-left:3px solid #63c8ed; border-radius:6px; }
[data-appearance="bento"] .account-link-pair { padding:16px; border:1px solid var(--bento-stroke); border-radius:8px; margin-bottom:12px; background:#1c3036; }
[data-appearance="bento"] .auth-page { min-height:100vh; padding:48px 20px; }
[data-appearance="bento"] .auth-page .auth-main { width:min(100%,480px); margin:0 auto; padding:28px; border:1px solid var(--bento-stroke); border-radius:8px; background:var(--bento-panel-soft); box-shadow:var(--surface-shadow); }
[data-appearance="bento"] .auth-main .brand { color:#dcfff6; }
[data-appearance="bento"] .auth-main h1 { margin-top:28px; }
[data-appearance="bento"] .auth-main h2 { color:#b6e7f2; }

@media(max-width:1100px) {
  [data-appearance="bento"] .bento-daily-sections { grid-template-columns:1fr; }
  [data-appearance="bento"] .bento-savings-groups { grid-template-columns:1fr; }
  [data-appearance="bento"] .savings-section { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:12px; }
  [data-appearance="bento"] .savings-section > .section-heading { grid-column:1/-1; min-height:0; }
  [data-appearance="bento"] .lab-primary { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:640px) {
  [data-appearance="bento"] .bento-indicators { grid-template-columns:1fr; gap:10px; margin-bottom:20px; }
  [data-appearance="bento"] .bento-indicators > div { padding:16px 16px 16px 64px; }
  [data-appearance="bento"] .bento-indicators dd { font-size:23px; margin-top:4px; }
  [data-appearance="bento"] .bento-table-surface :is(th,td) { padding:11px 10px; }
  [data-appearance="bento"] .bento-table-surface .monthly-table tbody td { padding:0; background:transparent!important; }
  [data-appearance="bento"] .bento-table-surface .monthly-table tbody tr { padding:14px; margin:0; border-bottom:1px solid var(--line); }
  [data-appearance="bento"] .bento-table-surface .monthly-table tfoot td { padding:12px 14px; }
  [data-appearance="bento"] .bento-table-surface .monthly-table th { position:static; }
  [data-appearance="bento"] .bento-table-surface .month-start-table :is(th,td) { padding:4px 8px; }
  [data-appearance="bento"] .transaction-row { padding:14px; gap:10px; }
  [data-appearance="bento"] .account-transactions .transaction-row { margin:10px 0; }
  [data-appearance="bento"] .operation-summary > div { flex:1 1 100px; padding:12px; min-width:0; }
  [data-appearance="bento"] .operation-summary strong { font-size:18px; overflow-wrap:anywhere; }
  [data-appearance="bento"] .movement-table tbody { display:grid; gap:12px; padding:12px; }
  [data-appearance="bento"] .movement-table tr { background:#1d323a; border-color:#63c8ed3b; }
  [data-appearance="bento"] .bento-table-surface .movement-table td { padding:0; border:0; background:transparent!important; }
  [data-appearance="bento"] .stat { padding:18px; }
  [data-appearance="bento"] .savings-total { padding:20px; }
  [data-appearance="bento"] .savings-total > strong { font-size:31px; }
  [data-appearance="bento"] .lab-primary { gap:10px; }
  [data-appearance="bento"] .lab-primary > .lab-metric { padding:16px; }
  [data-appearance="bento"] .lab-primary dd { font-size:20px; }
  [data-appearance="bento"] .grocery-estimate { padding:18px; align-items:start; gap:12px; }
  [data-appearance="bento"] .grocery-estimate > strong { font-size:25px; }
  [data-appearance="bento"] .grocery-row { grid-template-columns:minmax(0,1fr) 90px 28px; padding:6px 8px; gap:3px 8px; }
  [data-appearance="bento"] .grocery-row > button { grid-column:3; }
  [data-appearance="bento"] .grocery-frequency { grid-column:1/3; grid-row:2; display:flex; flex-wrap:wrap; gap:4px 8px; padding-left:28px; font-size:10px; }
  [data-appearance="bento"] .section-heading h2 { font-size:16px; }
  [data-appearance="bento"] dialog { padding:18px; }
  [data-appearance="bento"] .auth-page { padding:24px 16px; }
  [data-appearance="bento"] .auth-page .auth-main { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { [data-appearance="bento"] button { transition:none; } }
