/* Voltura adaptation of the Uiverse design system and supplied component CSS.
   Native controls and financial calculations are shared with the other themes. */
:root[data-appearance="voltura"] {
  --green:#d3f23f; --muted:#a2aa9e; --line:#323839;
  --surface:#1d2123; --raised:#272d2e; --surface-border:#39403e;
  --surface-shadow:none; --voltura-ink:#15191a; --voltura-acid:#d3f23f;
  color:#ecefe8; background:#15191a; font-family:"Segoe UI",Arial,sans-serif;
}
[data-appearance="voltura"] body { background:#15191a; }
[data-appearance="voltura"] :is(button,input,select,textarea,a) { letter-spacing:0; }
[data-appearance="voltura"] :is(strong,.amount,dd,input) { font-variant-numeric:tabular-nums; }
[data-appearance="voltura"] .sidebar { background:#101518; border-color:#323839; box-shadow:none; border-top:4px solid var(--green); }
[data-appearance="voltura"] .brand { font-size:20px; color:#ecefe8; }
[data-appearance="voltura"] .brand-mark { background:var(--green); color:#15191a; border-radius:8px; }
[data-appearance="voltura"] .sidebar nav button { background:transparent; color:var(--muted); border-radius:6px; border:0; }
[data-appearance="voltura"] .sidebar nav button:hover { background:#1d2123; color:#ecefe8; }
[data-appearance="voltura"] .sidebar nav button.active { color:#ecefe8; background:#1d2123; box-shadow:inset 3px 0 var(--green)!important; }
[data-appearance="voltura"] main { max-width:1840px; }
[data-appearance="voltura"] main > header { border-bottom:1px solid var(--line); padding-bottom:24px; margin-bottom:24px; }
[data-appearance="voltura"] h1 { font-size:30px; font-weight:650; }
[data-appearance="voltura"] h2 { font-size:17px; }
[data-appearance="voltura"] .eyebrow { font-family:ui-monospace,Consolas,monospace; color:var(--muted); }
[data-appearance="voltura"] button { border-radius:999px; background:#1d2123; border:1px solid var(--line); box-shadow:none!important; transition:background-color .15s,border-color .15s,color .15s; }
[data-appearance="voltura"] button:hover { background:#2a302e; border-color:#65704f; }
[data-appearance="voltura"] :is(button,a,input,select,textarea):focus-visible { outline:2px solid var(--green); outline-offset:3px; }
[data-appearance="voltura"] .primary { background:var(--green); color:#15191a; border-color:#b6d322; font-weight:650; }
[data-appearance="voltura"] .primary:hover { background:#dcf853; border-color:#dcf853; }
[data-appearance="voltura"] .text-button { background:transparent; color:var(--green); border-color:transparent; }
[data-appearance="voltura"] .text-button:hover { background:#d3f23f0c; border-color:#d3f23f40; }
[data-appearance="voltura"] .icon-button { border-radius:50%; }
[data-appearance="voltura"] :is(input,select,textarea) { background:#15191a; color:#ecefe8; border:1px solid #414940; border-radius:6px; box-shadow:none; }
[data-appearance="voltura"] :is(input,textarea)::placeholder { color:#a2aa9e; opacity:1; }
[data-appearance="voltura"] input[type="search"] { border-radius:999px; padding-inline:16px; }
[data-appearance="voltura"] :is(input[type="checkbox"],input[type="radio"],progress) { accent-color:var(--green); }
[data-appearance="voltura"] .checkbox-field input[type="checkbox"] { appearance:none; flex:0 0 40px; width:40px; height:22px; min-height:22px; padding:0; border-radius:999px; border:1px solid #56604e; background:#15191a radial-gradient(circle,#a2aa9e 7px,transparent 8px) 2px center / 16px 16px no-repeat; cursor:pointer; transition:background-position .18s,background-color .18s; }
[data-appearance="voltura"] .checkbox-field input[type="checkbox"]:checked { background-color:#d3f23f; background-image:radial-gradient(circle,#15191a 7px,transparent 8px); background-position:20px center; border-color:#b6d322; }
[data-appearance="voltura"] .filters { margin:0 0 24px; padding:8px 0 16px; border-bottom:1px solid var(--line); }
[data-appearance="voltura"] .filters > label { margin:0; }
[data-appearance="voltura"] .section-heading { flex-wrap:wrap; gap:12px; }
[data-appearance="voltura"] .section-heading h2 { display:flex; align-items:center; gap:8px; }
[data-appearance="voltura"] .bento-section-icon { display:inline-flex; color:var(--green); }
[data-appearance="voltura"] .notice { background:#222b21; color:#d3e2b6; border-color:var(--green); border-radius:6px; }
[data-appearance="voltura"] .notice.warning { background:#33291d; color:#f1c992; border-color:#e58940; }
[data-appearance="voltura"] .count { background:#d3f23f14; color:#e3f99a; }
[data-appearance="voltura"] .empty { border:1px dashed var(--line); border-radius:8px; background:#1d2123; }
[data-appearance="voltura"] .empty h3 { color:#ecefe8; }
[data-appearance="voltura"] :is(.empty svg,.green) { color:#b8db65; }

/* A single acid focal surface, with quieter surrounding account instruments. */
[data-appearance="voltura"] .overview-dashboard[data-overview-style="accent"] .overview-accounts,[data-appearance="voltura"] .overview-dashboard[data-overview-style="accent"] > .overview-section:not(.overview-salary) { border-left:0; padding-left:0; }
[data-appearance="voltura"] .overview-account-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); gap:12px; }
[data-appearance="voltura"] .overview-account-card { border-radius:8px; padding:18px; background:#1d2123; border-color:#323839; }
[data-appearance="voltura"] .overview-account-card:hover { background:#23292a; border-color:#d3f23f80; }
[data-appearance="voltura"] .overview-account-card strong { font-size:25px; }
[data-appearance="voltura"] :is(.overview-account-badge,.overview-stat-icon) { display:none; }
[data-appearance="voltura"] .overview-dashboard[data-overview-layout="cockpit"] .overview-summary { grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:22px; }
[data-appearance="voltura"] .overview-dashboard .overview-salary { padding:24px; border:1px solid #b6d322; border-radius:8px; background:var(--green); color:#15191a; }
[data-appearance="voltura"] .overview-salary :is(.helper,.salary-primary > span,.salary-received > span,.salary-metric > span,.salary-edit svg) { color:#424e1c; }
[data-appearance="voltura"] .overview-salary .salary-primary > strong { font-size:36px; color:#15191a; }
[data-appearance="voltura"] .overview-salary .text-button { color:#15191a; border-color:#15191a44; }
[data-appearance="voltura"] .overview-salary .text-button:hover { background:#15191a12; }
[data-appearance="voltura"] .overview-salary .salary-edit { color:#15191a; background:#15191a0c; border-color:#15191a40; border-radius:6px; }
[data-appearance="voltura"] .salary-metrics { grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr)); gap:16px; border-color:#15191a44; padding-left:16px; }
[data-appearance="voltura"] .overview-dashboard[data-overview-layout="cockpit"] .salary-received { border-color:#15191a33; }
[data-appearance="voltura"] .overview-stat { padding:20px; background:#1d2123; border:1px solid var(--line); border-radius:8px; }
[data-appearance="voltura"] .overview-stat strong { font-size:26px; }
[data-appearance="voltura"] .overview-dashboard .overview-charts { gap:22px; padding:24px 0; border:0; }
[data-appearance="voltura"] .overview-dashboard[data-overview-style="accent"] .overview-charts > section { border:1px solid var(--line); border-radius:8px; padding:22px; background:#1d2123; }
[data-appearance="voltura"] .overview-section .section-heading h2 { font-size:16px; }
[data-appearance="voltura"] .overview-section > .section-heading { margin-bottom:20px; }
[data-appearance="voltura"] .monthly-pie-hole { display:block; fill:#1d2123; pointer-events:auto; }
[data-appearance="voltura"] .monthly-pie-center { display:block; fill:#ecefe8; font:600 16px "Segoe UI",Arial,sans-serif; text-anchor:middle; pointer-events:none; }
[data-appearance="voltura"] .monthly-pie-caption { display:block; fill:var(--muted); font:11px "Segoe UI",Arial,sans-serif; text-anchor:middle; pointer-events:none; }
[data-appearance="voltura"] .swatch-fixed { background:#3a8fd9; }
[data-appearance="voltura"] .swatch-subscriptions { background:#ca4e8d; }
[data-appearance="voltura"] .swatch-variable { background:#e58940; }
[data-appearance="voltura"] .swatch-housing { background:#d3f23f; }
[data-appearance="voltura"] .swatch-rest { background:#59be70; }
[data-appearance="voltura"] .monthly-group-card[data-month-open="fixed"] { border-left-color:#3a8fd9; }
[data-appearance="voltura"] .monthly-group-card[data-month-open="subscriptions"] { border-left-color:#ca4e8d; }
[data-appearance="voltura"] .monthly-group-card[data-month-open="variable"] { border-left-color:#e58940; }
[data-appearance="voltura"] .monthly-group-card[data-month-open="housing"] { border-left-color:#d3f23f; }

/* Chart controls and plots use the supplied quiet segmented-control language. */
[data-appearance="voltura"] :is(.portfolio-periods,.portfolio-renderers,.pie-renderers,.market-view-tabs,.lab-tabs) { display:flex; flex-wrap:wrap; gap:3px; padding:4px; border:1px solid var(--line); background:#15191a; border-radius:8px; width:fit-content; max-width:100%; }
[data-appearance="voltura"] :is(.portfolio-periods,.portfolio-renderers,.pie-renderers,.market-view-tabs,.lab-tabs) button { border:1px solid transparent; background:transparent; color:var(--muted); min-height:32px; padding:6px 10px; border-radius:999px; }
[data-appearance="voltura"] button:is([aria-pressed="true"],[aria-expanded="true"]) { color:var(--green); background:#252d20; border-color:#d3f23f50; }
[data-appearance="voltura"] .portfolio-chart-heading { flex-wrap:wrap; gap:12px; min-height:115px; }
[data-appearance="voltura"] .portfolio-chart-heading > div:first-child { flex:1 1 160px; }
[data-appearance="voltura"] #portfolio-chart-current { font-size:30px; }
[data-appearance="voltura"] #portfolio-chart-point { flex:1 1 100%; order:3; max-width:none; min-height:18px; text-align:left; }
[data-appearance="voltura"] .portfolio-chart-range { display:flex; gap:12px; margin:0; }
[data-appearance="voltura"] .portfolio-chart-range > div { padding-left:10px; border-left:1px solid var(--line); }
[data-appearance="voltura"] .portfolio-chart-range dt { font-size:10px; color:var(--muted); }
[data-appearance="voltura"] .portfolio-chart-range dd { margin:8px 0 0; font-size:12px; font-weight:600; }
[data-appearance="voltura"] .portfolio-chart-surface { height:280px; background:#1d2123; border-radius:6px; }
[data-appearance="voltura"] .portfolio-chart-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
[data-appearance="voltura"] .portfolio-chart-controls .field { width:auto; margin:0; grid-column:1/-1; }
[data-appearance="voltura"] .portfolio-periods button { width:36px; }
[data-appearance="voltura"] .portfolio-units { justify-self:end; }
[data-appearance="voltura"] .sendero-plot { --sd-a:#d3f23f; --sd-down:#ef8b77; }
[data-appearance="voltura"] .sendero-plot .sd-globo { background:#1d2123; color:#ecefe8; border:1px solid #65704a; }
[data-appearance="voltura"] .portfolio-negative { color:#ef8b77; }
[data-appearance="voltura"] .gajos-budget { --gj-fondo:#1d2123; }

/* Dense lists and tables retain their semantic highlights and responsive layout. */
[data-appearance="voltura"] .bento-indicators { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0 0 24px; }
[data-appearance="voltura"] .bento-indicators > div { min-width:0; padding:16px; background:#1d2123; border:1px solid var(--line); border-radius:8px; }
[data-appearance="voltura"] .bento-indicators dt { font-size:12px; color:var(--muted); }
[data-appearance="voltura"] .bento-indicators dd { font-size:24px; margin:10px 0 0; overflow-wrap:anywhere; }
[data-appearance="voltura"] .bento-indicator-icon { float:right; color:var(--green); }
[data-appearance="voltura"] :is(.bento-table-surface,.table-scroll) { max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:8px; background:#1d2123; }
[data-appearance="voltura"] :is(th,td:first-child) { background:#1d2123; }
[data-appearance="voltura"] th { color:#c1cbad; font-weight:600; font-size:11px; }
[data-appearance="voltura"] tbody tr:hover > td:not(.annual-high):not(.annual-low):not(.annual-goal-over):not(.annual-goal-under) { background:#252c23; }
[data-appearance="voltura"] tfoot td { background:#28301c; color:#e1f3a8; }
[data-appearance="voltura"] :is(.annual-budget-table,.overview-annual) tr.annual-row-highlighted > td { box-shadow:inset 0 2px #d3f23f,inset 0 -2px #d3f23f; }
[data-appearance="voltura"] :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:#30391d; }
[data-appearance="voltura"] .overview-subtotal td { color:#e1f3a8; background:#28301c; border-color:#7d943f; }
[data-appearance="voltura"] .annual-goal-input { border-radius:4px; }
[data-appearance="voltura"] .stats { border:0; padding:0; gap:12px; }
[data-appearance="voltura"] .stat { border:1px solid var(--line); background:#1d2123; padding:20px; border-radius:8px; }
[data-appearance="voltura"] .bento-daily-sections { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:24px; }
[data-appearance="voltura"] .bento-daily-sections > section { min-width:0; }
[data-appearance="voltura"] .transaction-row { border-color:var(--line); padding-block:18px; }
[data-appearance="voltura"] .transaction-icon { color:#e58940; background:#e5894014; border:1px solid #e5894030; border-radius:50%; }
[data-appearance="voltura"] .transaction-icon.credit { color:#b8db65; background:#b8db6514; border-color:#b8db6530; }
[data-appearance="voltura"] .category-button { padding:4px 9px; min-height:32px; border:1px solid #d3f23f30; }
[data-appearance="voltura"] .tag { color:#cfdbb8; background:#d3f23f10; border:1px solid #d3f23f20; }
[data-appearance="voltura"] .tag.pending { color:#f1c992; background:#e5894012; border-color:#e5894030; }
[data-appearance="voltura"] :is(.operation-account-card,.monthly-group-card,.bank-card,.draft-card) { background:#1d2123; border-radius:8px; color:#ecefe8; box-shadow:none; }
[data-appearance="voltura"] :is(.operation-account-card,.monthly-group-card):hover { background:#252c23; border-color:#d3f23f80; }
[data-appearance="voltura"] .operation-accounts { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); }
[data-appearance="voltura"] .account-transactions { border:0; padding-inline:0; background:transparent; }
[data-appearance="voltura"] .bento-linked-accounts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:16px; }
[data-appearance="voltura"] .account-line { padding:18px; border:1px solid var(--line); border-radius:8px; background:#1d2123; }
[data-appearance="voltura"] :is(.bento-account-emblem,.bento-source-emblem) { display:none; }
[data-appearance="voltura"] .bank-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); }
[data-appearance="voltura"] .bank-card .bank-icon { color:#d3f23f; background:#d3f23f14; }
[data-appearance="voltura"] .savings-total { padding:24px; background:#d3f23f; color:#15191a; border:0; border-radius:8px; margin-bottom:24px; }
[data-appearance="voltura"] .savings-total > span { color:#424e1c; }
[data-appearance="voltura"] .savings-total > strong { font-size:36px; }
[data-appearance="voltura"] .savings-row { padding:18px 0; }
[data-appearance="voltura"] .savings-actions { flex-wrap:wrap; }
[data-appearance="voltura"] .domain-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,225px),1fr)); gap:8px; }
[data-appearance="voltura"] .domain-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; padding:12px; background:#1d2123; border:1px solid var(--line); border-radius:8px; }
[data-appearance="voltura"] .domain-row > button { min-height:30px; padding:0; font-size:13px; }
[data-appearance="voltura"] .domain-row > span { font-size:11px; }
[data-appearance="voltura"] .domain-amounts { grid-column:1/-1; width:100%; padding-top:8px; border-top:1px solid var(--line); }
[data-appearance="voltura"] .classification-rules { margin-top:24px; border-block:1px solid var(--line); }
[data-appearance="voltura"] .classification-rules summary { padding:14px 0; cursor:pointer; }
[data-appearance="voltura"] .rule-row { padding:8px; font-size:12px; }
[data-appearance="voltura"] .rule-row p { margin:4px 0; }
[data-appearance="voltura"] .monthly-income .monthly-group-card { background:#d3f23f; color:#15191a; border-color:#b6d322; }
[data-appearance="voltura"] .monthly-income :is(.monthly-card-label,.monthly-card-share,.monthly-card-heading svg) { color:#424e1c; }
[data-appearance="voltura"] .month-start-summary tr:nth-child(4) > *,[data-appearance="voltura"] .month-start-summary tr:last-child > * { background:#28301c; color:#e1f3a8; }
[data-appearance="voltura"] .month-start-table :is(td,th) { padding:4px 8px; }
[data-appearance="voltura"] .grocery-list { display:grid; grid-template-columns:1fr; gap:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
[data-appearance="voltura"] .grocery-row { display:grid; grid-template-columns:minmax(0,1fr) 100px minmax(130px,180px) 32px; gap:10px; padding:8px 12px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#1d2123; }
[data-appearance="voltura"] .grocery-check { grid-column:1; grid-row:1; padding:0; margin:0; border:0; }
[data-appearance="voltura"] .grocery-price { grid-column:2; grid-row:1; text-align:right; }
[data-appearance="voltura"] .grocery-frequency { grid-column:3; grid-row:1; border:0; padding:0; }
[data-appearance="voltura"] .grocery-row > button { grid-column:4; grid-row:1; width:30px; height:30px; min-height:30px; padding:5px; }
[data-appearance="voltura"] .grocery-estimate { border-color:#637934; background:#232b1c; border-radius:8px; padding:20px; }
[data-appearance="voltura"] .grocery-estimate strong { color:#d3f23f; }
[data-appearance="voltura"] :is(.grocery-history,.receipt-review-item,.lab-metric,.account-link-pair) { border-color:var(--line); background:#1d2123; border-radius:8px; }
[data-appearance="voltura"] .lab-primary { gap:16px; padding:0; border:0; }
[data-appearance="voltura"] .lab-primary .lab-metric { padding:18px; border:1px solid var(--line); }
[data-appearance="voltura"] .lab-layout-groups { border-color:var(--line); }
[data-appearance="voltura"] dialog { border:1px solid #5a6540; border-radius:8px; background:#1d2123; box-shadow:0 24px 80px #0008; }
[data-appearance="voltura"] .dialog-heading { padding-bottom:16px; border-bottom:1px solid var(--line); }
[data-appearance="voltura"] .dialog-summary { background:#15191a; border:1px solid var(--line); }
[data-appearance="voltura"] .form-actions { padding-top:18px; border-top:1px solid var(--line); }
[data-appearance="voltura"] .form-error { color:#ffada0; }
[data-appearance="voltura"] .auth-main { background:#1d2123; border-color:var(--line); }
[data-appearance="voltura"] .receipt-fab { color:#15191a; background:#d3f23f; border-color:#b6d322; }
[data-appearance="voltura"] .local-status .dot { background:var(--green); }
[data-appearance="voltura"] #toast { background:#d3f23f; color:#15191a; }
@media(max-width:1100px) {
  [data-appearance="voltura"] .overview-dashboard[data-overview-layout="cockpit"] .overview-summary { grid-template-columns:1fr; }
  [data-appearance="voltura"] .bento-daily-sections { grid-template-columns:1fr; }
}
@media(max-width:900px) {
  [data-appearance="voltura"] .overview-dashboard[data-overview-layout="cockpit"] .overview-charts { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  [data-appearance="voltura"] h1 { font-size:26px; }
  [data-appearance="voltura"] .overview-dashboard .overview-salary,[data-appearance="voltura"] .overview-dashboard .overview-charts > section { padding:18px; }
  [data-appearance="voltura"] .overview-salary .salary-primary > strong { font-size:30px; }
  [data-appearance="voltura"] .salary-metrics { padding:16px 0 0; }
  [data-appearance="voltura"] .bento-indicators { grid-template-columns:1fr; gap:8px; }
  [data-appearance="voltura"] .bento-indicators > div { padding:12px 16px; }
  [data-appearance="voltura"] .bento-indicators dd { margin-top:6px; font-size:22px; }
  [data-appearance="voltura"] .grocery-row { grid-template-columns:minmax(0,1fr) 85px 30px; gap:4px 8px; padding:8px; }
  [data-appearance="voltura"] .grocery-row > button { grid-column:3; }
  [data-appearance="voltura"] .grocery-frequency { grid-column:1/3; grid-row:2; }
  [data-appearance="voltura"] .monthly-table tbody td { background:transparent; }
  [data-appearance="voltura"] .savings-total > strong { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { [data-appearance="voltura"] :is(button,.checkbox-field input) { transition:none; } }
