/* Brand stays on the approved r312 tokens. New identities live only in design previews. */
:root { --wallet-control-border:var(--ux-muted); --action-surface:var(--ux-soft); --action-border:var(--ux-accent); }
#page-wallet .wallet-rows { border:1px solid var(--ux-line); border-radius:var(--r); background:var(--ux-panel); overflow:hidden; overflow-anchor:none; }
#page-wallet .wallet-rows:empty { display:none; }
#page-wallet .wallet-row { display:grid; grid-template-columns:44px minmax(0,1fr) 44px; align-items:center; gap:2px; padding:4px 6px; min-height:64px; border-bottom:1px solid var(--ux-line); }
#page-wallet .wallet-row:last-child { border-bottom:0; }
#page-wallet .wallet-row button { margin:0; box-shadow:none; background:transparent; border:0; border-radius:var(--r-sm); color:var(--ux-text); }
#page-wallet .wallet-status-toggle { width:44px; height:48px; padding:10px; display:grid; place-items:center; opacity:1; }
#page-wallet .wallet-status-ring { display:grid; place-items:center; width:22px; height:22px; border:1.5px solid var(--wallet-control-border); border-radius:50%; color:var(--ux-muted); font-size:14px; font-weight:700; }
#page-wallet .is-paid .wallet-status-ring { color:var(--green); border-color:var(--green); background:color-mix(in srgb,var(--green) 10%,transparent); }
#page-wallet .is-overdue .wallet-status-ring { color:var(--yellow); border-color:var(--yellow); }
#page-wallet [aria-busy="true"] .wallet-status-ring { color:var(--primary-light); border-color:var(--primary-light); }
#page-wallet .wallet-row-open { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 8px; min-width:0; min-height:48px; padding:4px 0; text-align:left; }
#page-wallet .wallet-row-description { font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; align-self:end; }
#page-wallet .wallet-row-meta { grid-column:1/-1; grid-row:2; font-size:11px; font-weight:400; line-height:1.4; color:var(--ux-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#page-wallet .wallet-row-amount { grid-column:2; grid-row:1; font-size:13px; line-height:1.4; align-self:end; font-variant-numeric:tabular-nums; white-space:nowrap; }
#page-wallet .wallet-row-amount.red { color:var(--red); }
#page-wallet .wallet-row-amount.green { color:var(--green); }
#page-wallet .wallet-row-menu { width:44px; min-height:48px; padding:0; font-size:22px; }
#page-wallet .wallet-group-heading { display:flex; width:100%; justify-content:space-between; align-items:center; min-height:44px; padding:10px 16px; background:var(--surface2); color:var(--ux-muted); border:0; border-bottom:1px solid var(--ux-line); font-size:12px; }
#page-wallet .wallet-group-heading { gap:10px; text-align:left; white-space:normal; }
#page-wallet .wallet-group-name { flex:1; min-width:0; overflow-wrap:anywhere; }
#page-wallet .wallet-group-total { max-width:58%; min-width:0; white-space:normal !important; overflow-wrap:anywhere; text-align:right; color:var(--ux-text); font-variant-numeric:tabular-nums; }
#txReplanWrap label { display:flex; align-items:center; gap:10px; }
#txReplanWrap input { width:20px; min-height:20px; flex:0 0 20px; }
#businessReplanWrap label { display:flex; align-items:center; gap:10px; }
#businessReplanWrap input { width:20px; min-height:20px; flex:0 0 20px; }
#page-wallet .wallet-row button:not(:disabled):active { background:var(--action-surface); transform:scale(.98); }
#page-wallet .wallet-row button:focus-visible { outline:2px solid var(--primary-light); outline-offset:-2px; }
#page-wallet .wallet-organize-content { max-height:min(560px,65dvh); overflow:auto; }
#page-wallet .wallet-organize-content label { margin-top:10px; }
#page-wallet .wallet-mobile-list-head { margin-bottom:8px; }
@media(min-width:700px) {
  #page-wallet .wallet-row { min-height:58px; grid-template-columns:44px minmax(0,1fr) 44px; padding:2px 12px; }
  #page-wallet .wallet-row-open { grid-template-columns:minmax(140px,1fr) minmax(100px,1fr) auto; grid-template-rows:auto; align-items:center; }
  #page-wallet .wallet-row-description,#page-wallet .wallet-row-amount { align-self:center; }
  #page-wallet .wallet-row-meta { grid-column:2; grid-row:1; }
  #page-wallet .wallet-row-amount { grid-column:3; }
  #page-wallet .wallet-row-menu { width:44px; }
}
@media(max-width:359px) {
  #page-wallet .wallet-row { grid-template-columns:44px minmax(0,1fr); padding-inline:2px; }
  #page-wallet .wallet-row-menu { display:none; }
}
body.ux-r311 #fabMenu .fab-menu-primary-actions button { background:var(--action-surface); border:1px solid var(--ux-line); color:var(--ux-text); box-shadow:none; }
body.ux-r311 #fabMenu .fab-menu-primary-actions button > span { background:color-mix(in srgb,var(--primary) 18%,var(--ux-panel)); color:var(--primary-light); border-color:var(--ux-line); box-shadow:none; }
body.ux-r311 #fabMenu .fab-menu-primary-actions button[data-new="despesa"] > span { color:var(--red); }
body.ux-r311 #fabMenu .fab-menu-primary-actions button[data-new="receita"] > span { color:var(--green); }
body.ux-r311 #fabMenu .fab-menu-primary-actions button:active { background:color-mix(in srgb,var(--primary) 28%,var(--ux-panel)); }
body.ux-r311 .nav-fab,body.ux-r311 #desktopFab { background:var(--primary-gradient); color:var(--on-primary); border:0; box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 25%,transparent); }
body.ux-r311 #fabMenu .fab-menu-primary-actions button:disabled { opacity:.55; box-shadow:none; }
@media(hover:hover) { #page-wallet .wallet-row:hover { background:var(--surface2); } body.ux-r311 #fabMenu .fab-menu-primary-actions button:hover { border-color:var(--action-border); } }
@media(prefers-reduced-motion:reduce) { #page-wallet .wallet-row button { transition:none; } }
