/* Brandbook v1.0 fallback. The active SaldoScan theme overrides these variables at runtime. */
:root {
  --ss-navy-900: #00334f;
  --ss-navy-800: #024f69;
  --ss-teal-600: #029f9c;
  --ss-mint-500: #01dab0;
  --ss-mint-400: #05f8c3;
  --ss-primary: var(--ss-navy-900);
  --ss-primary-hover: var(--ss-navy-800);
  --ss-accent: var(--ss-mint-500);
  --ss-link: #007a72;
  --ss-link-hover: #005e5a;
  --ss-text: #0f172a;
  --ss-text-muted: #64748b;
  --ss-border: #dce5ea;
  --ss-border-hover: color-mix(in srgb, var(--ss-border) 80%, var(--ss-primary));
  --ss-bg: #fff;
  --ss-bg-soft: #f6f9fb;
  --ss-bg-dark: #052b49;
  --ss-success: #147d64;
  --ss-info: #087e8b;
  --ss-warning: #a76312;
  --ss-danger: #b42318;
  --ss-radius-sm: 8px;
  --ss-radius-md: 12px;
  --ss-radius-lg: 16px;
  --ss-radius-xl: 24px;
  --ss-control-height: 46px;
  --ss-control-choice-size: 18px;
  --ss-font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --ss-body-size: 16px;
  --ss-h1-size: 40px;
  --ss-h2-size: 28px;
  --ss-h3-size: 20px;
  --ss-small-size: 14px;
  --ss-body-size-tablet: 16px;
  --ss-body-size-mobile: 16px;
  --ss-h1-size-tablet: 36px;
  --ss-h1-size-mobile: 32px;
  --ss-h2-size-tablet: 26px;
  --ss-h2-size-mobile: 24px;
  --ss-h3-size-tablet: 19px;
  --ss-h3-size-mobile: 18px;
  --ss-small-size-tablet: 14px;
  --ss-small-size-mobile: 13px;
  --ss-name-first: #00334f;
  --ss-name-second: #029f9c;
  --ss-wordmark-size-desktop: 25px;
  --ss-menu-bg: var(--ss-bg-dark);
  --ss-menu-text: #e8f3f7;
  --ss-menu-active-bg: var(--ss-navy-800);
  --ss-menu-active-text: #fff;
}

/* Keep the app's layout independent of Bootscore while sharing its live tokens. */
body.ss-app-page {
  --ss-ui-page: #f4f8fb;
  --ss-ui-border: #dce8ef;
  --ss-ui-ink: #0e1b3a;
  --ss-ui-secondary: #4b627d;
  --ss-ui-teal: #0c6c7c;
  --ss-ui-mint: #18c7be;
  --ss-menu-active-bg: #08798c;
  --ss-card: var(--ss-bg);
  --ss-muted: var(--ss-text-muted);
  --ss-line: var(--ss-border);
  --ss-green: var(--ss-success);
  --ss-green-dark: var(--ss-primary-hover);
  --ss-red: var(--ss-danger);
  background: var(--ss-ui-page);
  color: var(--ss-text);
  font-family: var(--ss-font-family);
  font-size: var(--ss-body-size);
}
html:has(body.ss-app-page) { scrollbar-gutter: stable; scroll-padding-top: 110px; }
.ss-app-page #ss-content { position: relative; }
.ss-app-page #ss-content[aria-busy="true"] { pointer-events: none; }
.ss-app-page #ss-content.ss-section-loading { visibility: hidden; }
.ss-app-page .ss-topbar { position: sticky; top: 0; z-index: 30; background: var(--ss-bg); box-shadow: 0 5px 14px rgba(0,51,79,.07); }
.ss-app-page #ss-content.ss-section-revealing > * { animation: ss-section-reveal .2s ease-out both; }
.ss-app-page .ss-widget-placeholder { width: min(220px, 65%); height: 20px; border-radius: var(--ss-radius-sm); background: var(--ss-bg-soft); }
.ss-app-page .ss-widget-body.ss-widget-ready { animation: ss-section-reveal .2s ease-out both; }
@keyframes ss-section-reveal { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .ss-app-page #ss-content.ss-section-revealing > * { animation: none; }
  .ss-app-page .ss-widget-body.ss-widget-ready { animation: none; }
}
.ss-app-page button, .ss-app-page input, .ss-app-page select, .ss-app-page textarea { font-family: inherit; }
.ss-app-page button,
.ss-app-page a.ss-primary,
.ss-app-page a.ss-secondary,
.ss-app-page a.ss-account-icon-button,
.ss-app-page .ss-icon-choice {
  transition: background-color .16s ease-out, border-color .16s ease-out, color .16s ease-out, filter .16s ease-out;
}
@media (prefers-reduced-motion: reduce) {
  .ss-app-page button,
  .ss-app-page a.ss-primary,
  .ss-app-page a.ss-secondary,
  .ss-app-page a.ss-account-icon-button,
  .ss-app-page .ss-icon-choice { transition-duration: 0s; }
}
.ss-app-page h1, .ss-app-page .ss-topbar h1 { font-size: var(--ss-h1-size); line-height: 1.15; font-weight: 700; }
.ss-app-page h2 { font-size: var(--ss-h2-size); line-height: 1.2; font-weight: 700; }
.ss-app-page h3 { font-size: var(--ss-h3-size); line-height: 1.3; font-weight: 600; }
.ss-app-page small, .ss-app-page .ss-muted { color: var(--ss-text-muted); }
.ss-app-page .ss-amount, .ss-app-page .ss-stat, .ss-app-page .ss-balance { font-variant-numeric: tabular-nums; }
.ss-app-page .ss-sidebar { background: var(--ss-menu-bg); color: var(--ss-menu-text); }
.ss-app-page .ss-sidebar-head { display: flex; align-items: center; justify-content: space-between; min-width: 0; margin-bottom: 24px; padding: 10px; border-radius: var(--ss-radius-md); background: var(--ss-bg); }
.ss-app-page .ss-sidebar .ss-brand { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; min-width: 0; width: auto; min-height: 42px; margin: 0; color: var(--ss-name-first); }
.ss-app-page .ss-sidebar .ss-brand img { display: block; flex: none; width: 38px; height: 38px; object-fit: contain; }
.ss-app-page .ss-sidebar .ss-brand-name { display: inline-flex; gap: 0; font-size: min(23px, var(--ss-wordmark-size-desktop)); font-weight: 700; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
.ss-app-page .ss-sidebar .ss-brand-name span { display: inline; width: auto; height: auto; border-radius: 0; background: transparent; }
.ss-app-page .ss-sidebar .ss-brand-name span:first-child { color: var(--ss-name-first); }
.ss-app-page .ss-sidebar .ss-brand-name span:last-child { color: var(--ss-name-second); }
.ss-app-page .ss-sidebar nav a { color: var(--ss-menu-text); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-sidebar nav a .fa-solid { flex: none; width: 20px; font-size: 20px; }
.ss-app-page .ss-sidebar nav a:hover, .ss-app-page .ss-sidebar nav a:focus-visible, .ss-app-page .ss-sidebar nav a.is-active { background: var(--ss-menu-active-bg); color: var(--ss-menu-active-text); }
.ss-app-page .ss-sidebar .ss-android-app-link { display: flex; align-items: center; gap: 12px; min-height: 44px; margin: 12px 0 0; padding: 9px 14px; border-radius: var(--ss-radius-md); color: var(--ss-menu-text); text-decoration: none; }
.ss-app-page .ss-sidebar .ss-android-app-link:hover, .ss-app-page .ss-sidebar .ss-android-app-link:focus-visible { background: var(--ss-menu-active-bg); color: var(--ss-menu-active-text); }
.ss-app-page .ss-sidebar .ss-android-app-link .dashicons { flex: none; width: 20px; height: 20px; font-size: 20px; }
.ss-app-page .ss-sidebar nav .ss-nav-unread, .ss-app-page .ss-menu-unread-badge { display: inline-grid; place-items: center; flex: none; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 999px; background: var(--ss-danger); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.ss-app-page .ss-sidebar nav .ss-nav-unread { margin-left: -5px; transform: translateY(-7px); }
.ss-app-page .ss-sidebar nav .ss-nav-unread[hidden], .ss-app-page .ss-menu-unread-badge[hidden] { display: none; }
.ss-app-page .ss-menu-toggle { position: relative; }
.ss-app-page .ss-menu-unread-badge { position: absolute; top: -7px; right: -7px; box-shadow: 0 0 0 2px var(--ss-bg); pointer-events: none; }
.ss-app-page .ss-menu-overlay-close, .ss-app-page .ss-menu-backdrop, .ss-app-page .ss-mobile-header { display: none; }
.ss-app-page .ss-menu-overlay-close > .ss-menu-glyph { display: none; }
.ss-app-page .ss-user { border-top-color: rgba(255,255,255,.2); }
.ss-app-page .ss-mobile-account-menu { display: none; }
.ss-app-page .ss-user a { color: #c9efe5; }
.ss-app-page .ss-user-menu-close,.ss-app-page .ss-user-logout-fallback,.ss-app-page .ss-settings-header-logout { display: none; }
.ss-app-page .ss-user-profile-link { display: inline-flex; align-items: center; gap: 4px; min-width: 0; padding-bottom: 2px; border-bottom: 1px solid currentColor; font-weight: 700; text-decoration: none; }
.ss-app-page .ss-user-profile-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-app-page .ss-user-profile-link .dashicons { flex: none; width: 1em; height: 1em; font-size: inherit; line-height: 1; }
.ss-app-page .ss-install-app { background: var(--ss-primary-hover); border-color: rgba(255,255,255,.2); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-install-app .ss-google-play-icon { display: inline-block; width: 20px; height: 20px; margin-right: 7px; vertical-align: -5px; }
.ss-app-page .ss-offline-status { background: var(--ss-bg-soft); color: var(--ss-text); border: 1px solid var(--ss-border); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-offline-status.is-offline { border-color: var(--ss-warning); color: var(--ss-warning); }
.ss-app-page .ss-card, .ss-app-page .ss-plan-card, .ss-app-page .ss-settings-panel,
.ss-app-page .ss-profile-card > div, .ss-app-page .ss-advisor-item, .ss-app-page .ss-report-view {
  background: var(--ss-bg);
  border-color: var(--ss-border);
  border-radius: var(--ss-radius-md);
  box-shadow: 0 8px 24px rgba(0,51,79,.08);
}
.ss-app-page #saldoscan-app[data-section="home"] .ss-grid { align-items: start; gap: 18px; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card { min-width: 0; width: 100%; border: 0; border-radius: 4px; background: #fff; box-shadow: 0 8px 24px rgba(5,43,73,.08); }
.ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card h2 { color: var(--ss-ui-ink); }
.ss-app-page .ss-analytics .ss-currency-panel,
.ss-app-page .ss-advisor .ss-advisor-item,
.ss-app-page .ss-subscription-page .ss-subscription-overview {
  border: 0;
  border-radius: 4px;
  background: #fff;
}
.ss-app-page .ss-subscription-page .ss-plan-table-wrap,
.ss-app-page .ss-subscription-page .ss-plan-table tr:not(.ss-plan-group) { border-radius: 0; }
.ss-app-page .ss-plan-benefits h3 { margin: 0 0 6px; color: var(--ss-ui-ink); }
.ss-app-page .ss-plan-benefits > p { margin: 0 0 16px; }
.ss-app-page .ss-plan-comparison > summary { cursor: pointer; color: var(--ss-ui-ink); font-weight: 700; padding: 12px 0; }
.ss-app-page .ss-plan-comparison > summary:focus-visible { outline: 2px solid var(--ss-ui-teal); outline-offset: 3px; }
.ss-app-page .ss-plan-comparison[open] > summary { margin-bottom: 12px; }
.ss-app-page .ss-apk-update-modal { z-index: 1003; }
.ss-app-page .ss-apk-update-modal .ss-modal-card { width: min(440px,100%); padding: 26px; border-radius: 4px; box-shadow: 0 22px 55px rgba(0,30,48,.22); }
.ss-app-page .ss-apk-update-modal .ss-modal-card h2 { margin: 0 0 10px; }
.ss-app-page .ss-apk-update-modal .ss-modal-card p { margin: 0 0 20px; color: var(--ss-text-muted); }
.ss-app-page .ss-apk-update-modal .ss-form-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; }
.ss-app-page .ss-apk-update-modal .ss-form-actions a { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.ss-app-page .ss-badge { background: #eaf9f5; color: var(--ss-ui-teal); }
.ss-app-page .ss-balance-metric.is-income { --ss-balance-metric-tone: #4ed59a; --ss-balance-metric-fill: #eaf9f1; }
.ss-app-page .ss-balance-metric.is-expense { --ss-balance-metric-tone: #ff7a7a; --ss-balance-metric-fill: #fdecec; }
.ss-app-page .ss-balance-metric.is-planned { --ss-balance-metric-tone: #b77cff; --ss-balance-metric-fill: #f4ecff; }
.ss-app-page .ss-balance-metric.is-free { --ss-balance-metric-tone: #53aeff; --ss-balance-metric-fill: #eaf5ff; }
.ss-app-page .ss-balance-metric.is-flow { --ss-balance-metric-tone: #ff8c74; --ss-balance-metric-fill: #fff0eb; }
.ss-app-page .ss-balance-metric.is-savings { --ss-balance-metric-tone: #42c6b2; --ss-balance-metric-fill: #eaf8f5; }
.ss-app-page .ss-balance-metric.is-debt { --ss-balance-metric-tone: #ff7a7a; --ss-balance-metric-fill: #fdf1f1; }
.ss-app-page .ss-balance-metric.is-negative { --ss-balance-metric-tone: #ff7a7a; --ss-balance-metric-fill: #fdf1f1; }
.ss-app-page .ss-balance-metric.is-credit,
.ss-app-page .ss-balance-metric.is-available { --ss-balance-metric-tone: #39a9e1; --ss-balance-metric-fill: #eaf5ff; }
.ss-app-page .ss-balance-metric.is-neutral { --ss-balance-metric-tone: #8e98a8; --ss-balance-metric-fill: #f4f8fb; }
.ss-app-page .ss-balance-metric { background: var(--ss-balance-metric-fill, #f4f8fb); border-color: var(--ss-ui-border); }
.ss-app-page .ss-balance-metric-heading { display: flex; align-items: center; gap: 9px; min-width: 0; color: var(--ss-ui-ink); }
.ss-app-page .ss-balance-metric-icon { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ss-balance-metric-tone, #8e98a8); color: #fff; font-size: 20px; }
.ss-app-page .ss-balance-metric-icon::before { line-height: 40px; }
.ss-app-page .ss-balance-metric-icon svg { display: block; width: 21px; height: 21px; }
.ss-app-page .ss-balance-metric strong { color: var(--ss-ui-ink); }
.ss-app-page .ss-balance-metric.is-flow [data-private-money].is-negative { color: var(--ss-danger); }
.ss-app-page .ss-home-account .ss-account-type-icon { width: 44px; height: 44px; border-radius: 12px; }
.ss-app-page .ss-home-budget-row.is-over-budget .ss-home-budget-label span,
.ss-app-page .ss-home-budget-row.is-over-budget .ss-home-budget-label b { color: var(--ss-danger); }
.ss-app-page .ss-home-budget-row progress { background: #e7eef3; border: 0; border-radius: 999px; overflow: hidden; }
.ss-app-page .ss-home-budget-row progress::-webkit-progress-bar { background: #e7eef3; border-radius: 999px; }
.ss-app-page .ss-home-budget-row progress::-webkit-progress-value { background: var(--ss-home-category-color); border-radius: 999px; }
.ss-app-page .ss-home-budget-row progress::-moz-progress-bar { background: var(--ss-home-category-color); border-radius: 999px; }
.ss-app-page .ss-home-budget-row.is-over-budget progress::-webkit-progress-value { background: var(--ss-danger); }
.ss-app-page .ss-home-budget-row.is-over-budget progress::-moz-progress-bar { background: var(--ss-danger); }
.ss-app-page .ss-notice { background: var(--ss-bg-soft); color: var(--ss-text); border: 1px solid var(--ss-border); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-voice-placeholder { background: var(--ss-bg-soft); border-color: var(--ss-border); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-primary, .ss-app-page .ss-form-actions .ss-primary,
.ss-app-page .ss-voice-button, .ss-app-page .ss-voice-record {
  background: var(--ss-primary);
  border-color: var(--ss-primary);
  color: #fff;
  border-radius: var(--ss-radius-md);
}
.ss-app-page .ss-primary:hover, .ss-app-page .ss-primary:focus-visible,
.ss-app-page .ss-voice-button:hover, .ss-app-page .ss-voice-record:hover { background: var(--ss-primary-hover); border-color: var(--ss-primary-hover); color: #fff; }
.ss-app-page .ss-voice-button, .ss-app-page .ss-voice-record { border-radius: 50%; }
.ss-app-page .ss-voice-record.is-recording { background: var(--ss-danger); }
.ss-app-page .ss-secondary { background: var(--ss-bg); color: var(--ss-primary); border: 1px solid var(--ss-border); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-secondary:not(:disabled):hover,
.ss-app-page .ss-secondary:not(:disabled):focus-visible { background: var(--ss-bg-soft); border-color: var(--ss-border-hover); }
.ss-app-page .ss-account-icon-button { background: var(--ss-bg); border-color: var(--ss-border); }
.ss-app-page .ss-account-icon-button:not(:disabled):hover,
.ss-app-page .ss-account-icon-button:not(:disabled):focus-visible { background: var(--ss-bg-soft); border-color: var(--ss-border-hover); }
.ss-app-page .ss-balance-reveal:hover,
.ss-app-page .ss-balance-reveal:focus-visible { background: transparent; border-color: transparent; }
.ss-app-page .ss-icon-choice:hover,
.ss-app-page .ss-icon-choice:focus-within,
.ss-app-page .ss-account-tabs button:not(.is-active):hover,
.ss-app-page .ss-category-tabs button:not(.is-active):hover,
.ss-app-page .ss-section-tabs button:not(.is-active):hover { background: var(--ss-bg-soft); }
.ss-app-page .ss-icon-choice:not(:has(input:checked)):hover,
.ss-app-page .ss-icon-choice:not(:has(input:checked)):focus-within { border-color: var(--ss-border-hover); }
.ss-app-page .ss-danger, .ss-app-page .ss-link.is-danger { color: var(--ss-danger); }
.ss-app-page .ss-main .ss-link, .ss-app-page .ss-main a:not(.ss-primary):not(.ss-secondary) { color: var(--ss-link); }
.ss-app-page .ss-main .ss-link:hover, .ss-app-page .ss-main a:not(.ss-primary):not(.ss-secondary):hover { color: var(--ss-link-hover); }
.ss-app-page .ss-field input:not([type="checkbox"]):not([type="radio"]),
.ss-app-page .ss-field select, .ss-app-page .ss-field textarea,
.ss-app-page .ss-section-select select, .ss-app-page .ss-advisor-question textarea {
  background: var(--ss-bg); color: var(--ss-text); border-color: var(--ss-border); border-radius: var(--ss-radius-sm);
}
.ss-app-page .ss-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ss-app-page .ss-field select,
.ss-app-page .ss-section-select select,
.ss-app-page .ss-receipt-items select {
  min-width: 0;
  height: var(--ss-control-height);
  border-radius: var(--ss-radius-sm);
}
.ss-app-page .ss-field select,
.ss-app-page .ss-section-select select,
.ss-app-page .ss-receipt-items select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2300334f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: right 14px center;
}
.ss-app-page input:is([type="checkbox"],[type="radio"]) {
  flex: none;
  width: var(--ss-control-choice-size);
  height: var(--ss-control-choice-size);
  margin: 0;
  accent-color: var(--ss-primary);
}
.ss-app-page .ss-icon-choice:has(input:checked) { border-color: var(--ss-primary); }
.ss-app-page input:focus-visible, .ss-app-page select:focus-visible, .ss-app-page textarea:focus-visible,
.ss-app-page button:focus-visible, .ss-app-page a:focus-visible { outline: 2px solid var(--ss-teal-600); outline-offset: 2px; }
.ss-app-page .ss-add-dropdown { background: var(--ss-bg); border-color: var(--ss-border); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-add-dropdown button:hover, .ss-app-page .ss-add-dropdown button:focus { background: var(--ss-bg-soft); }
.ss-app-page .ss-section-tabs button.is-active, .ss-app-page .ss-account-tabs button.is-active, .ss-app-page .ss-category-tabs button.is-active { color: var(--ss-primary); border-bottom-color: var(--ss-primary); }
.ss-app-page .ss-icon-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ss-app-page .ss-tab-icon { display: inline-block; width: 18px; height: 18px; font-size: 18px; line-height: 1; text-align: center; }
.ss-app-page .ss-tab-caption { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; }
.ss-app-page .ss-tabs-filter-panel { margin: 0 0 18px; padding: 18px; border: 1px solid var(--ss-border-hover); border-radius: 4px; background: var(--ss-bg); box-shadow: 0 8px 24px rgba(5,43,73,.1); }
.ss-app-page .ss-tabs-filter-panel .ss-toolbar { margin-bottom: 0; }
.ss-app-page .ss-account-icon-button.ss-tabs-filter-toggle[aria-expanded="true"] { background: var(--ss-ui-teal); border-color: var(--ss-ui-teal); color: #fff; }
.ss-app-page .ss-account-icon-button.ss-tabs-filter-toggle[aria-expanded="true"]:is(:hover,:focus-visible) { background: var(--ss-menu-active-bg); border-color: var(--ss-menu-active-bg); color: #fff; }
.ss-app-page .ss-tab-label-mobile { display: none; }
@media (max-width: 768px) {
  .ss-app-page .ss-settings-page .ss-section-tabs { display: flex; }
  .ss-app-page .ss-settings-page .ss-section-select { display: none; }
}
@media (max-width: 599px) {
  .ss-app-page .ss-tabs-filter-panel { padding: 14px; }
  .ss-app-page .ss-icon-tabs { gap: 0; margin: 12px 0 18px; overflow: visible; }
  .ss-app-page .ss-icon-tabs button { position: relative; flex: 1 1 0; flex-direction: column; min-width: 0; min-height: 56px; gap: 4px; padding: 8px 4px; }
  .ss-app-page .ss-tab-icon { width: 20px; height: 20px; font-size: 20px; }
  .ss-app-page .ss-tab-label, .ss-app-page .ss-tab-label-mobile { display: block; max-width: 100%; font-size: clamp(9px, 2.6vw, 11px); font-weight: 500; line-height: 1.15; letter-spacing: -0.2px; text-align: center; white-space: nowrap; }
  .ss-app-page .ss-tab-label-desktop-only { display: none; }
  .ss-app-page .ss-icon-tabs .ss-tab-count { padding: 0 4px; font-size: 10px; line-height: 16px; }
}
.ss-app-page .ss-amount.is-positive { color: var(--ss-success); }
.ss-app-page .ss-amount.is-negative { color: var(--ss-danger); }
.ss-app-page .ss-chart-line.is-income { stroke: var(--ss-success); }
.ss-app-page .ss-chart-line.is-expense { stroke: var(--ss-danger); }
.ss-app-page .ss-chart-line.is-flow { stroke: var(--ss-info); }
.ss-app-page .ss-chart-legend .is-income { color: var(--ss-success); }
.ss-app-page .ss-chart-legend .is-expense { color: var(--ss-danger); }
.ss-app-page .ss-chart-legend .is-flow { color: var(--ss-info); }
.ss-app-page .ss-notice.is-error { background: var(--ss-danger); color: #fff; }
.ss-app-page .ss-smart-review, .ss-app-page .ss-advisor-answer { background: var(--ss-bg-soft); border-color: var(--ss-border); }
.ss-app-page .ss-form .ss-field.ss-needs-review input,
.ss-app-page .ss-form .ss-field.ss-needs-review select,
.ss-app-page .ss-form .ss-field.ss-needs-review textarea { border-color: var(--ss-danger); }
.ss-app-page .ss-loading { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--ss-text-muted); }
.ss-app-page .ss-loading::before { content: ""; flex: none; width: 24px; height: 24px; border: 3px solid var(--ss-border); border-top-color: var(--ss-teal-600); border-radius: 50%; animation: ss-brand-spin .8s linear infinite; }
@keyframes ss-brand-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ss-app-page .ss-loading::before { animation-duration: 1.8s; } }

.ss-app-page .ss-top-actions .ss-add-menu { order: 1; }
.ss-app-page .ss-top-actions .ss-global-voice { order: 2; flex: 0 0 56px; width: 56px; height: 56px; min-height: 56px; background: var(--ss-teal-600); color: #fff; box-shadow: 0 6px 18px rgba(2,159,156,.28); }
.ss-app-page .ss-top-actions .ss-global-voice .dashicons { width: 28px; height: 28px; font-size: 28px; }
.ss-app-page .ss-top-actions .ss-global-voice:hover, .ss-app-page .ss-top-actions .ss-global-voice:focus-visible { background: var(--ss-navy-800); }
.ss-app-page .ss-top-actions .ss-global-voice:disabled, .ss-app-page .ss-top-actions .ss-global-voice:disabled:hover { background: #aebbb7; box-shadow: none; cursor: not-allowed; }

body.ss-auth-page {
  --ss-auth-bg: var(--ss-bg-soft);
  --ss-auth-card: var(--ss-bg);
  --ss-auth-text: var(--ss-text);
  --ss-auth-muted: var(--ss-text-muted);
  --ss-auth-border: var(--ss-border);
  --ss-auth-primary: var(--ss-primary);
  background: var(--ss-bg-soft);
  color: var(--ss-text);
  font-family: var(--ss-font-family);
  font-size: var(--ss-body-size);
}
.ss-auth-page .ss-auth-card { border-radius: var(--ss-radius-lg); border-color: var(--ss-border); box-shadow: 0 8px 24px rgba(0,51,79,.08); }
.ss-auth-page .ss-auth-android { margin: 20px 0 0; text-align: center; font-size: 14px; }
.ss-auth-page .ss-auth-android a { color: var(--ss-auth-primary); font-weight: 650; text-underline-offset: 3px; }
.ss-auth-page .ss-auth-brand { display: flex; align-items: center; justify-content: center; gap: 10px; width: fit-content; max-width: 100%; margin: 0 auto; padding: 8px 12px; border-radius: var(--ss-radius-md); background: var(--ss-bg); }
.ss-auth-page .ss-auth-brand img { display: block; width: 42px; height: 42px; object-fit: contain; }
.ss-auth-page .ss-auth-brand-name { display: inline-flex; font-size: var(--ss-wordmark-size-desktop); font-weight: 700; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
.ss-auth-page .ss-auth-brand-name span { display: inline; width: auto; height: auto; border-radius: 0; background: transparent; }
.ss-auth-page .ss-auth-brand-name span:first-child { color: var(--ss-name-first); }
.ss-auth-page .ss-auth-brand-name span:last-child { color: var(--ss-name-second); }
.ss-auth-page .ss-auth-form input { border-radius: var(--ss-radius-sm); border-color: var(--ss-border); }
.ss-auth-page .ss-auth-form button { border-radius: var(--ss-radius-md); background: var(--ss-primary); }
.ss-auth-page .ss-auth-form button:hover, .ss-auth-page .ss-auth-form button:focus-visible { background: var(--ss-primary-hover); }
.ss-auth-page .ss-auth-password-field { display: grid; gap: 6px; }
.ss-auth-page .ss-auth-password { position: relative; display: block; }
.ss-auth-page .ss-auth-form .ss-auth-password input { padding-right: 56px; }
.ss-auth-page .ss-auth-form .ss-auth-password-toggle { position: absolute; top: 50%; right: 2px; display: grid; place-items: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: var(--ss-radius-sm); background: transparent; color: var(--ss-auth-muted); transform: translateY(-50%); }
.ss-auth-page .ss-auth-form .ss-auth-password-toggle:hover,.ss-auth-page .ss-auth-form .ss-auth-password-toggle[aria-pressed="true"] { background: rgba(35,139,104,.12); color: var(--ss-auth-primary); }
.ss-auth-page .ss-auth-form .ss-auth-password-toggle:focus-visible { outline: 2px solid var(--ss-auth-primary); outline-offset: 1px; }
.ss-auth-page .ss-auth-password-toggle svg { width: 21px; height: 21px; }
.ss-auth-page .ss-auth-password-toggle[aria-pressed="false"] .ss-auth-eye-slash { display: none; }
.ss-auth-page .ss-auth-links a { color: var(--ss-link); }
.ss-auth-page .ss-auth-links a:hover { color: var(--ss-link-hover); }
.ss-auth-page .ss-auth-card h1 { font-size: var(--ss-h2-size); }
.ss-auth-page.ss-scheme-dark {
  --ss-auth-bg: var(--ss-bg-dark);
  --ss-auth-card: var(--ss-primary);
  --ss-auth-text: #fff;
  --ss-auth-muted: #dce5ea;
  --ss-auth-border: rgba(255,255,255,.24);
  --ss-auth-primary: var(--ss-accent);
  background: var(--ss-bg-dark);
  color: #fff;
}
.ss-auth-page.ss-scheme-dark .ss-auth-card { background: var(--ss-primary); border-color: var(--ss-auth-border); }
.ss-auth-page.ss-scheme-dark .ss-auth-form input { background: var(--ss-bg-dark); color: #fff; border-color: var(--ss-auth-border); }
.ss-auth-page.ss-scheme-dark .ss-auth-form button { background: var(--ss-accent); color: var(--ss-primary); }
.ss-auth-page.ss-scheme-dark .ss-auth-form .ss-auth-password-toggle { background: transparent; color: var(--ss-auth-muted); }
.ss-auth-page.ss-scheme-dark .ss-auth-form .ss-auth-password-toggle:hover,.ss-auth-page.ss-scheme-dark .ss-auth-form .ss-auth-password-toggle[aria-pressed="true"] { background: rgba(255,255,255,.14); color: #fff; }
.ss-auth-page.ss-scheme-dark .ss-auth-links a { color: #c9efe5; }

@media (max-width: 991.98px) and (min-width: 768px) {
  body.ss-app-page, body.ss-auth-page { font-size: var(--ss-body-size-tablet); }
  .ss-app-page h1, .ss-app-page .ss-topbar h1 { font-size: var(--ss-h1-size-tablet); }
  .ss-app-page h2, .ss-auth-page .ss-auth-card h1 { font-size: var(--ss-h2-size-tablet); }
  .ss-app-page h3 { font-size: var(--ss-h3-size-tablet); }
}
@media (max-width: 767.98px) {
  body.ss-app-page, body.ss-auth-page { font-size: var(--ss-body-size-mobile); }
  .ss-app-page h1, .ss-app-page .ss-topbar h1 { font-size: var(--ss-h1-size-mobile); }
  .ss-app-page h2, .ss-auth-page .ss-auth-card h1 { font-size: var(--ss-h2-size-mobile); }
  .ss-app-page h3 { font-size: var(--ss-h3-size-mobile); }
}
@media (max-width: 900px) {
  html:has(body.ss-app-page) { scroll-padding-top: calc(86px + env(safe-area-inset-top)); }
  .ss-app-page .ss-topbar { top: env(safe-area-inset-top); }
  .ss-app-page .ss-topbar::before { content: ''; position: absolute; right: 0; bottom: 100%; left: 0; height: env(safe-area-inset-top); background: var(--ss-bg); pointer-events: none; }
  .ss-app-page .ss-main { padding-top: env(safe-area-inset-top); }
  .ss-app-page .ss-topbar { display: grid; grid-template-columns: minmax(0,1fr); grid-template-areas: "brand" "actions"; gap: 0; margin-bottom: 20px; }
  .ss-app-page .ss-mobile-header { grid-area: brand; display: flex; align-items: center; gap: 10px; min-height: 68px; margin: 0 -24px; padding: 10px 24px; border-bottom: 1px solid var(--ss-border); background: var(--ss-bg); }
  .ss-app-page .ss-mobile-brand { display: inline-flex; align-items: center; gap: 8px; min-width: 0; margin-right: auto; text-decoration: none; }
  .ss-app-page .ss-mobile-brand img { display: block; flex: none; width: var(--ss-logo-width-mobile,36px); height: var(--ss-logo-width-mobile,36px); object-fit: contain; }
  .ss-app-page .ss-mobile-brand-name { display: inline-flex; font-size: var(--ss-wordmark-size-mobile,22px); font-weight: 700; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
  .ss-app-page .ss-mobile-brand-name span:first-child { color: var(--ss-name-first); }
  .ss-app-page .ss-mobile-brand-name span:last-child { color: var(--ss-name-second); }
  .ss-app-page .ss-menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--ss-teal-600); border-radius: var(--ss-radius-md); background: var(--ss-bg); color: var(--ss-teal-600); cursor: pointer; }
  .ss-app-page .ss-menu-glyph { display: grid; gap: 3px; width: 18px; }
  .ss-app-page .ss-menu-glyph i { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; }
  .ss-app-page .ss-menu-toggle:hover, .ss-app-page .ss-menu-toggle:focus-visible { border-color: var(--ss-teal-600); background: var(--ss-bg-soft); }
  .ss-app-page .ss-topbar .ss-top-actions { grid-area: actions; display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0; padding: 12px 0; gap: 10px; }
  .ss-app-page .ss-top-actions .ss-add-menu { order: 1; margin: 0; }
  .ss-app-page .ss-sidebar { box-shadow: 12px 0 30px rgba(0,0,0,.15); }
  .ss-app-page .ss-sidebar-head { display: none; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-backdrop { display: block; position: fixed; inset: 0; z-index: 19; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 0; background: rgba(3,22,34,.55); cursor: default; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close { display: grid; place-items: center; position: fixed; top: var(--ss-menu-close-top,16px); right: var(--ss-menu-close-right,16px); z-index: 21; width: var(--ss-menu-close-width,44px); height: var(--ss-menu-close-height,44px); min-height: 44px; padding: 0; border: 1px solid var(--ss-teal-600); border-radius: var(--ss-radius-md); background: var(--ss-bg); color: var(--ss-teal-600); font-size: 27px; line-height: 1; cursor: pointer; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close:hover, .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close:focus-visible { background: var(--ss-bg-soft); }
}
@media (max-width: 560px) {
  .ss-app-page .ss-mobile-header { margin-inline: -14px; padding-inline: 14px; }
}
@media (max-width: 430px) {
  .ss-app-page .ss-mobile-header { margin-inline: -12px; padding-inline: 12px; }
}

/* Compact status in the top toolbar: text only. */
.ss-app-page .ss-top-actions .ss-notice{border:0;border-radius:0;box-shadow:none;background:transparent;color:var(--ss-text-muted);padding:0;margin:0}
.ss-app-page .ss-top-actions .ss-notice.is-error{background:transparent;color:var(--ss-danger)}

.ss-app-page .ss-add-dropdown .ss-add-actions{display:grid;align-content:start;gap:8px}
.ss-app-page .ss-add-dropdown button[data-quick-add]{display:grid;place-items:center;gap:2px;width:100%;min-height:52px;padding:10px 15px;border:1px solid var(--ss-border);border-radius:10px;background:var(--ss-bg);color:var(--ss-text);font-weight:600;text-align:center}
.ss-app-page .ss-add-dropdown button[data-quick-add]:not([data-quick-add="transaction"]):hover,
.ss-app-page .ss-add-dropdown button[data-quick-add]:not([data-quick-add="transaction"]):focus-visible{background:var(--ss-bg-soft);border-color:var(--ss-border-hover)}
.ss-app-page .ss-add-dropdown .ss-add-action-detail{display:block;font-size:12px;font-weight:400;line-height:1.3;color:inherit;opacity:.8}
.ss-app-page .ss-add-dropdown button[data-quick-add="transaction"]{background:var(--ss-navy-900,var(--ss-primary));border-color:var(--ss-navy-900,var(--ss-primary));color:#fff}
.ss-app-page .ss-add-dropdown button[data-quick-add="transaction"]:hover,.ss-app-page .ss-add-dropdown button[data-quick-add="transaction"]:focus-visible{background:var(--ss-primary-hover);color:#fff}
.ss-app-page .ss-modal.ss-modal-voice #ss-voice-status{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;line-height:1.5}
.ss-app-page .ss-chart-load-error{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;min-height:90px;padding:16px;color:var(--ss-text-muted);font-size:13px;text-align:center}

/* Cabinet layout: desktop >900px, tablet 600–900px, phone <600px. */
@media (max-width: 1200px) {
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { grid-template-columns: minmax(0,1fr); }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > .ss-card { grid-column: 1 / -1; min-width: 0; }
}
@media (min-width: 769px) and (max-width: 1200px) {
  .ss-app-page .ss-analytics > .ss-card-head,
  .ss-app-page .ss-report-center > .ss-card-head { display: grid; align-items: stretch; }
  .ss-app-page .ss-report-row { grid-template-columns: minmax(0,1fr); gap: 8px; }
  .ss-app-page .ss-report-row .ss-actions { justify-content: flex-start; flex-wrap: wrap; }
}
@media (min-width: 600px) and (max-width: 1200px) {
  .ss-app-page .ss-balance-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 599px) {
  .ss-app-page .ss-home-analytics-desktop,.ss-app-page .ss-home-budget-desktop { display: block; }
  .ss-app-page .ss-home-analytics-compact,.ss-app-page .ss-home-budget-compact { display: none; }
  .ss-app-page .ss-home-donut { display: grid; place-items: center; width: min(220px,80%); aspect-ratio: 1; margin: 10px auto 18px; border-radius: 50%; background: var(--ss-home-donut-parts); }
  .ss-app-page .ss-home-donut-hole { display: grid; place-content: center; width: 62%; aspect-ratio: 1; border-radius: 50%; background: var(--ss-bg); text-align: center; }
  .ss-app-page .ss-home-donut-hole strong { font-size: 18px; white-space: nowrap; }
  .ss-app-page .ss-home-donut-hole small { font-size: 11px; }
  .ss-app-page .ss-home-category-legend { display: grid; gap: 7px; }
  .ss-app-page .ss-home-category-line { display: grid; grid-template-columns: 10px minmax(0,1fr) auto 34px; align-items: center; gap: 7px; font-size: 12px; }
  .ss-app-page .ss-home-category-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ss-home-category-color); }
  .ss-app-page .ss-home-category-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-home-category-line strong { white-space: nowrap; }
  .ss-app-page .ss-home-category-line small { text-align: right; }
  .ss-app-page .ss-home-budget-list { display: grid; gap: 14px; }
  .ss-app-page .ss-home-budget-row { display: flex; align-items: center; gap: 9px; }
  .ss-app-page .ss-home-budget-icon { display: inline-grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--ss-home-category-color); color: #fff; font-size: 18px; }
  .ss-app-page .ss-home-budget-detail { flex: 1; min-width: 0; }
  .ss-app-page .ss-home-budget-label { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px; font-size: 11px; }
  .ss-app-page .ss-home-budget-label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-home-budget-label span { color: var(--ss-text-muted); white-space: nowrap; }
  .ss-app-page .ss-home-budget-label b { grid-column: 2; text-align: right; }
  .ss-app-page .ss-home-budget-row progress { display: block; width: 100%; height: 7px; margin-top: 5px; accent-color: var(--ss-home-category-color); }
}
@media (min-width: 600px) and (max-width: 900px) {
  .ss-app-page .ss-grid { grid-template-columns: minmax(0,1fr); }
  .ss-app-page .ss-mobile-header { margin-inline: -24px; padding-inline: 24px; }
}
@media (min-width: 600px) and (max-width: 768px) {
  .ss-app-page .ss-mobile-header { margin-inline: -16px; padding-inline: 16px; }
}
@media (max-width: 599px) {
  html:has(.ss-app.is-menu-open) { overflow: hidden; }
  .ss-app-page .ss-app.is-menu-open .ss-topbar::after,.ss-app-page .ss-app.is-menu-open .ss-mobile-header::after { display: none; }
  .ss-app-page .ss-app.is-menu-open .ss-topbar .ss-top-actions { visibility: hidden; }
  .ss-app-page .ss-main { padding: env(safe-area-inset-top) calc(14px + env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left)); }
  .ss-app-page .ss-mobile-header { min-height: 68px; margin-left: -14px; margin-right: calc(-14px - env(safe-area-inset-right)); padding: 0 68px 0 14px; }
  .ss-app-page .ss-topbar { margin-bottom: 14px; }
  .ss-app-page .ss-menu-toggle { display: none; }
  .ss-app-page .ss-menu-glyph { width: 23px; gap: 5px; }
  .ss-app-page .ss-menu-glyph i { width: 23px; height: 2px; transition: transform .18s ease-out, opacity .18s ease-out; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-glyph i:first-child { transform: translateY(7px) rotate(45deg); }
  .ss-app-page .ss-app.is-menu-open .ss-menu-glyph i:nth-child(2) { opacity: 0; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-glyph i:last-child { transform: translateY(-7px) rotate(-45deg); }
  .ss-app-page .ss-menu-overlay-close { display: grid; place-items: center; position: fixed; top: env(safe-area-inset-top); right: 0; z-index: 51; width: 68px; height: 68px; min-height: 68px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ss-navy-900); cursor: pointer; }
  .ss-app-page .ss-menu-overlay-close > .ss-menu-glyph { display: grid; }
  .ss-app-page .ss-menu-overlay-close > .ss-overlay-mark { display: none; }
  .ss-app-page .ss-menu-overlay-close:hover,.ss-app-page .ss-menu-overlay-close:focus-visible { border: 0; background: var(--ss-bg-soft); color: var(--ss-navy-900); }
  .ss-app-page .ss-menu-overlay-close:focus-visible { outline: 2px solid var(--ss-teal-600); outline-offset: -4px; }
  .ss-app-page #saldoscan-app .ss-topbar .ss-top-actions { position: fixed; z-index: 30; inset: auto 0 0; display: flex; align-items: center; justify-content: center; width: 100%; height: calc(80px + env(safe-area-inset-bottom)); margin: 0; padding: 8px 16px calc(8px + env(safe-area-inset-bottom)); gap: 14px; border-top: 1px solid var(--ss-border); background: var(--ss-bg); box-shadow: 0 -4px 20px rgba(0,51,79,.08); }
  .ss-app-page #saldoscan-app:has(.ss-add-dropdown:not([hidden])) .ss-topbar .ss-top-actions { z-index: 50; }
  .ss-app-page #saldoscan-app .ss-top-actions .ss-add-menu { margin: 0; }
  .ss-app-page .ss-top-actions .ss-global-voice { flex: 0 0 52px; width: 52px; height: 52px; min-height: 52px; }
  .ss-app-page .ss-mobile-header .ss-dashboard-tools { position: static; flex: 0 0 auto; min-height: 0; margin: 0 0 0 auto; }
  .ss-app-page .ss-balance-metrics { grid-template-columns: minmax(0,1fr); }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { gap: 14px; }
  .ss-app-page .ss-sidebar { position: fixed; z-index: 40; top: 0; right: 0; bottom: 0; left: auto; width: min(260px,calc(100vw - 48px)); height: 100dvh; max-height: none; padding: calc(80px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom)); border-radius: 0; box-shadow: -12px 0 30px rgba(0,0,0,.15); transform: translateX(100%); transition: transform .22s ease-out,visibility 0s linear .22s; visibility: hidden; }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar { right: 0; left: auto; z-index: 50; transform: translateX(0); transition: transform .22s ease-out,visibility 0s; visibility: visible; }
  .ss-app-page .ss-sidebar-head { display: none; }
  .ss-app-page .ss-sidebar nav { flex: 1 1 auto; min-height: 0; gap: 2px; align-content: start; overflow-y: auto; overscroll-behavior: contain; }
  .ss-app-page .ss-sidebar nav a { min-height: 44px; padding: 8px 14px; }
  .ss-app-page .ss-mobile-account-menu { display: grid; flex: none; gap: 4px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.2); }
  .ss-app-page .ss-mobile-account-menu a { color: var(--ss-menu-text); text-decoration: none; }
  .ss-app-page .ss-mobile-account-profile { display: flex; align-items: center; gap: 10px; min-width: 0; min-height: 62px; padding: 7px 9px; border: 1px solid rgba(201,239,229,.3); border-radius: var(--ss-radius-md); }
  .ss-app-page .ss-mobile-account-avatar { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ss-ui-teal); color: #fff; font-size: 15px; font-weight: 700; }
  .ss-app-page .ss-mobile-account-copy { display: grid; flex: 1 1 0; min-width: 0; gap: 2px; }
  .ss-app-page .ss-mobile-account-copy strong,.ss-app-page .ss-mobile-account-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-mobile-account-copy strong { color: #fff; font-size: 14px; line-height: 1.3; }
  .ss-app-page .ss-mobile-account-copy small { color: var(--ss-menu-text); font-size: 11px; line-height: 1.3; }
  .ss-app-page .ss-mobile-account-gear { flex: none; width: 20px; height: 20px; font-size: 20px; }
  .ss-app-page .ss-mobile-account-menu a:hover,.ss-app-page .ss-mobile-account-menu a:focus-visible { background: var(--ss-menu-active-bg); color: #fff; }
  .ss-app-page .ss-user { flex: none; margin-top: 10px; }
  .ss-app-page .ss-user strong,.ss-app-page .ss-user-logout { display: none; }
  .ss-app-page .ss-user .ss-user-profile-link:hover,.ss-app-page .ss-user .ss-user-profile-link:focus-visible { color: #fff; }
  .ss-app-page .ss-user-menu-close { display: none; }
  .ss-app-page .ss-user .ss-user-logout-fallback { display: inline; margin-right: auto; }
  .ss-app-page #saldoscan-app[data-section="settings"] .ss-settings-header-logout { display: inline; flex: none; max-width: 120px; color: var(--ss-primary); font-size: 14px; line-height: 1.2; text-align: right; text-decoration: underline; text-underline-offset: 3px; }
  .ss-app-page .ss-settings-header-logout:hover,.ss-app-page .ss-settings-header-logout:focus-visible { color: var(--ss-primary-hover); }
  .ss-app-page .ss-app.is-menu-open .ss-menu-backdrop { z-index: 49; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close { top: env(safe-area-inset-top); right: 0; z-index: 51; width: 68px; height: 68px; min-height: 68px; border: 0; border-radius: 0; background: var(--ss-menu-bg); color: #fff; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close:hover,.ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close:focus-visible { border: 0; background: var(--ss-menu-bg); color: #fff; }
}
@media (max-width: 599px) and (hover: hover) {
  .ss-app-page .ss-menu-overlay-close:hover { background: var(--ss-bg-soft); }
}
@media (max-width: 430px) {
  .ss-app-page .ss-main { padding-right: calc(12px + env(safe-area-inset-right)); padding-left: calc(12px + env(safe-area-inset-left)); }
  .ss-app-page .ss-mobile-header { margin-left: -12px; margin-right: calc(-12px - env(safe-area-inset-right)); padding-left: 12px; }
}
@media (max-width: 599px) and (prefers-reduced-motion: reduce) {
  .ss-app-page .ss-sidebar { transition: none; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .ss-app-page .ss-menu-glyph i { transition: none; }
}
@media (max-width: 599px) {
  html:has(.ss-app-page .ss-app.is-menu-open),
  .ss-app-page:has(.ss-app.is-menu-open) { overflow: clip; }
}

/* Desktop dashboard composition. Smaller layouts retain their existing card flow. */
.ss-app-page .ss-desktop-search,
.ss-app-page .ss-desktop-bell,
.ss-app-page .ss-desktop-profile,
.ss-app-page .ss-add-label,
.ss-app-page .ss-desktop-accounts-title,
.ss-app-page .ss-home-operations-desktop,
.ss-app-page .ss-home-budget-desktop,
.ss-app-page .ss-home-analytics-desktop { display: none; }
.ss-app-page .ss-home-budget-subtitle { display: none; }
.ss-app-page .ss-widget-section-link { display: inline-flex; align-items: center; gap: 3px; flex: none; min-height: 34px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ss-link); font-size: 13px; font-weight: 650; text-decoration: none; white-space: nowrap; }
.ss-app-page .ss-widget-section-link:hover,.ss-app-page .ss-widget-section-link:focus-visible { background: transparent; color: var(--ss-link-hover); text-decoration: underline; text-underline-offset: 3px; }
.ss-app-page .ss-widget-section-link .ss-widget-link-arrow { display: inline-block; width: 18px; height: 18px; font-size: 18px; }
.ss-app-page .ss-rail-toggle { display: none; }
.ss-app-page .ss-desktop-intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; min-height: 44px; margin: 0 0 18px; }
.ss-app-page .ss-desktop-intro[hidden],.ss-app-page #saldoscan-app[data-section="home"] .ss-desktop-intro { display: none !important; }
.ss-app-page .ss-page-heading-copy { display: grid; gap: 2px; min-width: 0; }
.ss-app-page .ss-page-heading-copy > h1 { margin: 0; color: var(--ss-text); font-size: 22px; font-weight: 700; line-height: 1.2; }
.ss-app-page .ss-analytics-heading-actions { display:flex; align-items:center; gap:8px; }
.ss-app-page .ss-analytics-heading-actions .ss-analytics-period { display:block; margin:0; }
.ss-app-page .ss-analytics-heading-actions #ss-analytics-period { min-width:145px; min-height:44px; }
.ss-app-page .ss-page-settings-gear { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:44px; min-height:44px; padding:0 14px; border-radius:var(--ss-radius,10px); }
.ss-app-page .ss-page-settings-gear .dashicons { margin:0; }
.ss-app-page .ss-page-settings-label { font-size:14px; font-weight:600; white-space:nowrap; }
@media(max-width:900px){.ss-app-page .ss-page-settings-gear{width:44px;padding:0}.ss-app-page .ss-page-settings-label{display:none}}
.ss-app-page .ss-analytics .ss-custom-period { padding:16px 20px 0; }
.ss-app-page .ss-analytics-settings-body { display:grid; align-content:start; gap:22px; }
.ss-app-page .ss-analytics-settings-body fieldset { min-width:0; margin:0; padding:0; border:0; }
.ss-app-page .ss-analytics-settings-body legend { margin:0 0 10px; font-weight:700; }
.ss-app-page .ss-analytics-settings-choices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.ss-app-page .ss-analytics-settings-choices label { cursor:pointer; }
.ss-app-page .ss-analytics-settings-choices input { position:absolute; opacity:0; }
.ss-app-page .ss-analytics-settings-choices span { display:grid; place-items:center; min-height:40px; padding:6px 8px; border:1px solid var(--ss-border); border-radius:var(--ss-radius,10px); background:var(--ss-surface,#fff); text-align:center; }
.ss-app-page .ss-analytics-settings-choices input:checked + span { border-color:var(--ss-primary); background:var(--ss-primary); color:#fff; }
.ss-app-page .ss-analytics-settings-choices input:focus-visible + span { outline:2px solid var(--ss-primary); outline-offset:2px; }
.ss-app-page .ss-analytics-settings-error { margin:0; padding:8px 22px; color:var(--ss-red,#b42318); }
@media(max-width:600px){.ss-app-page .ss-analytics-heading-actions #ss-analytics-period{min-width:112px;max-width:40vw}}
.ss-app-page .ss-page-heading-copy > span { color: var(--ss-text-muted); font-size: 13px; line-height: 1.3; }
.ss-app-page .ss-page-heading-copy > span[hidden] { display: none; }
.ss-app-page .ss-page-heading-actions { flex: none; margin-left: auto; }
.ss-app-page #saldoscan-app:is([data-section="accounts"],[data-section="categories"],[data-section="transactions"],[data-section="planning"]) .ss-page-heading-actions { display:flex; align-items:center; gap:8px; }
.ss-app-page .ss-page-heading-actions :is(.ss-section-add,.ss-tx-templates-button) { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:0 14px; border-radius:var(--ss-radius,10px); font-size:14px; font-weight:600; line-height:1.2; white-space:nowrap; }
.ss-app-page .ss-page-heading-actions .ss-section-add > span:first-child { font-size:20px; line-height:1; }
@media(max-width:599px){
  .ss-app-page #saldoscan-app:is([data-section="accounts"],[data-section="categories"],[data-section="transactions"]) .ss-desktop-intro{display:flex;align-items:center;gap:8px}
  .ss-app-page #saldoscan-app:is([data-section="accounts"],[data-section="categories"],[data-section="transactions"]) .ss-page-heading-actions{width:auto;margin-left:auto;flex-wrap:nowrap;gap:6px}
  .ss-app-page .ss-page-heading-actions .ss-section-add{width:44px;min-width:44px;height:44px;padding:0}
  .ss-app-page .ss-page-heading-actions .ss-section-add-label{display:none}
  .ss-app-page .ss-page-heading-actions .ss-tx-templates-button{padding:0 10px}
}
.ss-app-page #saldoscan-app:not([data-section="home"]) #ss-content > .ss-card > h2,
.ss-app-page #saldoscan-app:not([data-section="home"]) #ss-content > .ss-card > .ss-card-head h2 { display: none; }
.ss-app-page .ss-sidebar nav [data-settings-link] { position: relative; margin-top: 22px; }
.ss-app-page .ss-sidebar nav [data-settings-link]::before { content: ''; position: absolute; top: -12px; right: 0; left: 0; height: 1px; background: rgba(255,255,255,.22); }
@media (min-width: 901px) {
  .ss-app-page .ss-app { grid-template-columns: 260px minmax(0,1fr); }
  .ss-app-page .ss-sidebar { position: fixed; top: 0; bottom: 0; left: 0; width: 260px; height: 100vh; height: 100dvh; min-height: 0; padding: 24px 16px; background: var(--ss-bg-dark); }
  .ss-app-page .ss-sidebar-head { display: none; }
  .ss-app-page .ss-sidebar nav { flex: 1 1 auto; min-height: 0; align-content: start; grid-auto-rows: max-content; overflow-y: auto; }
  .ss-app-page .ss-topbar .ss-mobile-header { order: -1; display: flex; align-items: center; flex: none; min-width: 0; min-height: 0; margin-right: auto; padding: 0; border: 0; background: transparent; }
  .ss-app-page .ss-topbar .ss-mobile-brand { display: inline-flex; align-items: center; gap: 8px; min-width: 0; text-decoration: none; }
  .ss-app-page .ss-topbar .ss-mobile-brand img { display: block; flex: none; width: 38px; height: 38px; object-fit: contain; }
  .ss-app-page .ss-topbar .ss-mobile-brand-name { display: inline-flex; font-size: 21px; font-weight: 700; line-height: 1; letter-spacing: -.035em; white-space: nowrap; }
  .ss-app-page .ss-topbar .ss-mobile-brand-name span:first-child { color: var(--ss-name-first); }
  .ss-app-page .ss-topbar .ss-mobile-brand-name span:last-child { color: var(--ss-name-second); }
  .ss-app-page .ss-sidebar nav { gap: 7px; }
  .ss-app-page .ss-sidebar nav a { min-height: 50px; padding: 10px 14px; font-size: 16px; }
  .ss-app-page .ss-sidebar nav a .dashicons { flex: none; font-size: 22px; }
  .ss-app-page .ss-sidebar nav [data-settings-link] { margin-top: 22px; }
  .ss-app-page .ss-main { grid-column: 2; padding: 0 22px 28px; background: var(--ss-ui-page); }
  .ss-app-page .ss-topbar { min-height: 90px; margin: 0 -22px 20px; padding: 14px 22px; background: var(--ss-bg); border-bottom: 1px solid var(--ss-border); gap: 18px; }
  .ss-app-page .ss-topbar { justify-content: flex-end; }
  .ss-app-page .ss-desktop-search { display: flex; align-items: center; flex: 1 1 250px; max-width: 420px; min-width: 150px; height: 46px; padding: 0 13px; gap: 10px; border: 1px solid var(--ss-border); border-radius: var(--ss-radius-md); background: var(--ss-bg); color: var(--ss-text-muted); }
  .ss-app-page .ss-desktop-search input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--ss-text); }
  .ss-app-page .ss-desktop-search:focus-within { border-color: var(--ss-primary); box-shadow: 0 0 0 2px color-mix(in srgb,var(--ss-primary) 14%,transparent); }
  .ss-app-page #saldoscan-app .ss-topbar .ss-top-actions { width: auto; flex: none; margin-left: 0; gap: 12px; }
  .ss-app-page .ss-dashboard-tools { flex: 0 1 auto; min-height: 0; margin: 0; }
  .ss-app-page .ss-add-toggle { display: inline-flex !important; align-items: center; justify-content: center; width: auto !important; min-width: 46px; padding: 0 16px !important; gap: 7px; }
  .ss-app-page .ss-add-label { display: inline; font-weight: 650; }
  .ss-app-page .ss-desktop-bell { display: inline-grid; place-items: center; position: relative; width: 42px; height: 42px; color: var(--ss-primary); text-decoration: none; }
  .ss-app-page .ss-desktop-bell .dashicons { font-size: 24px; }
  .ss-app-page .ss-desktop-bell-badge { display: inline-grid; place-items: center; position: absolute; top: 0; right: 0; min-width: 18px; height: 18px; padding: 0 3px; border-radius: 99px; background: var(--ss-danger); color: #fff; font-size: 10px; font-weight: 700; }
  .ss-app-page .ss-desktop-bell-badge[hidden] { display: none; }
  .ss-app-page .ss-desktop-profile { display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ss-primary); color: #fff; text-decoration: none; }
  .ss-app-page .ss-desktop-profile .dashicons { font-size: 23px; }
  .ss-app-page .ss-mobile-accounts-title { display: none; }
  .ss-app-page .ss-desktop-accounts-title { display: inline; }
  .ss-app-page #saldoscan-app[data-section="home"] .ss-grid { gap: 18px; }
  .ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card { min-width: 0; }
  .ss-app-page #saldoscan-app[data-section="home"] .ss-card h2 { font-size: 20px; }
  .ss-app-page .ss-home-accounts-heading { align-items: center; }
  .ss-app-page .ss-home-accounts .ss-heading-count { vertical-align: middle; }
}
@media (min-width: 901px) and (max-width: 1250px) {
  .ss-app-page .ss-desktop-search { display: none; }
}
@media (min-width: 600px) {
  .ss-app-page .ss-home-operations-compact,
  .ss-app-page .ss-home-budget-compact,
  .ss-app-page .ss-home-analytics-compact { display: none; }
  .ss-app-page .ss-home-operations-desktop,
  .ss-app-page .ss-home-budget-desktop,
  .ss-app-page .ss-home-analytics-desktop { display: block; }
  .ss-app-page .ss-balance-widget { padding: 22px; }
  .ss-app-page .ss-balance-widget .ss-balance { margin: 18px 0 20px; font-size: clamp(34px,3vw,52px); line-height: 1.05; }
  .ss-app-page .ss-balance-widget .ss-balance-metrics { gap: 12px; }
  .ss-app-page .ss-balance-metric { flex-basis: calc(25% - 9px); min-height: 124px; padding: 15px; align-content: start; }
  .ss-app-page .ss-balance-metric-heading { font-size: 14px; }
  .ss-app-page .ss-balance-metric strong { margin-top: 9px; font-size: clamp(15px,1.25vw,22px); line-height: 1.15; }
  .ss-app-page .ss-home-account { min-height: 62px; }
  .ss-app-page .ss-home-account .ss-account-type-icon { width: 44px; height: 44px; border-radius: 12px; }
  .ss-app-page .ss-home-account strong { font-size: 15px; }
  .ss-app-page .ss-home-operations .ss-home-accounts-heading,
  .ss-app-page .ss-home-analytics .ss-home-accounts-heading,
  .ss-app-page .ss-home-budget .ss-home-accounts-heading { min-height: 32px; }
  .ss-app-page .ss-home-tx-row { display: grid; grid-template-columns: 65px minmax(0,1.5fr) minmax(0,1fr) minmax(96px,.9fr); align-items: center; gap: 6px; min-height: 56px; padding: 5px 0; border-bottom: 1px solid var(--ss-border); font-size: 12px; }
  .ss-app-page .ss-home-tx-head { min-height: 38px; background: var(--ss-bg-soft); color: var(--ss-text-muted); }
  .ss-app-page .ss-home-tx-row > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-home-tx-row > :first-child { padding-left: 5px; }
  .ss-app-page .ss-home-tx-row .ss-amount { text-align: right; font-size: 12px; }
  .ss-app-page .ss-home-tx-operation { display: flex; align-items: center; }
  .ss-app-page .ss-home-tx-operation .ss-account-identity { width: 100%; gap: 6px; }
  .ss-app-page .ss-home-tx-operation .ss-account-identity-text { overflow: hidden; }
  .ss-app-page .ss-home-tx-operation .ss-account-title,.ss-app-page .ss-home-tx-operation .ss-tx-account { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-home-tx-operation .ss-tx-type-icon { width: 25px; height: 25px; }
  .ss-app-page .ss-home-tx-operation .ss-tx-type-icon .dashicons { width: 14px; height: 14px; font-size: 14px; }
  .ss-app-page .ss-home-donut { display: grid; place-items: center; width: min(220px,80%); aspect-ratio: 1; margin: 10px auto 18px; border-radius: 50%; background: var(--ss-home-donut-parts); }
  .ss-app-page .ss-home-donut-hole { display: grid; place-content: center; width: 62%; aspect-ratio: 1; border-radius: 50%; background: var(--ss-bg); text-align: center; }
  .ss-app-page .ss-home-donut-hole strong { font-size: 19px; white-space: nowrap; }
  .ss-app-page .ss-home-donut-hole small { font-size: 11px; }
  .ss-app-page .ss-home-category-legend { display: grid; gap: 7px; }
  .ss-app-page .ss-home-category-line { display: grid; grid-template-columns: 10px minmax(0,1fr) auto 38px; align-items: center; gap: 8px; font-size: 12px; }
  .ss-app-page .ss-home-category-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--ss-home-category-color); }
  .ss-app-page .ss-home-category-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .ss-app-page .ss-home-category-line strong { font-size: 12px; white-space: nowrap; }
  .ss-app-page .ss-home-category-line small { text-align: right; white-space: nowrap; }
  .ss-app-page .ss-home-budget-subtitle { display: block; margin: -6px 0 20px; color: var(--ss-text-muted); font-size: 12px; }
  .ss-app-page .ss-home-budget-list { display: grid; gap: 18px; }
  .ss-app-page .ss-home-budget-row { display: flex; align-items: center; gap: 10px; }
  .ss-app-page .ss-home-budget-icon { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 12px; background: var(--ss-home-category-color); color: #fff; font-size: 20px; }
  .ss-app-page .ss-home-budget-detail { flex: 1; min-width: 0; }
  .ss-app-page .ss-home-budget-label { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 7px; align-items: center; font-size: 11px; }
  .ss-app-page .ss-home-budget-label strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
  .ss-app-page .ss-home-budget-label span { min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--ss-text-muted); white-space: nowrap; }
  .ss-app-page .ss-home-budget-label b { text-align: right; }
  .ss-app-page .ss-home-budget-row progress,
  .ss-app-page .ss-home-budget-overall progress { display: block; width: 100%; height: 8px; margin-top: 7px; accent-color: var(--ss-home-category-color, var(--ss-accent)); }
}
/* Dashboard uses the same DOM order at every width. Each pair owns one grid row. */
.ss-app-page #saldoscan-app[data-section="home"] #ss-content { container: dashboard / inline-size; }
.ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { align-items: stretch; gap: 22px; }
.ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > .ss-card { min-width: 0; height: 100%; align-self: stretch; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card :is(.ss-home-account-list,.ss-home-category-legend,.ss-home-budget-list,.ss-home-operations-desktop) { overflow-y: visible; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card [data-auto-item][hidden] { display: none !important; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-home-accounts-body { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-home-account-list { align-content: start; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-home-account strong { white-space: nowrap; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-widget-section-link[hidden] { display: none !important; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-home-goals-list > [data-auto-item] { margin: 0 0 16px; }
.ss-app-page #saldoscan-app[data-section="home"] .ss-home-goals-list > [data-auto-item]:last-child { margin-bottom: 0; }
@media (min-width: 600px) {
  .ss-app-page #saldoscan-app[data-section="home"] .ss-home-tx-row .ss-amount { overflow: visible; text-overflow: clip; }
}
@media (min-width: 901px) {
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-balance-widget,.ss-home-operations) { grid-column: span 8; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-home-accounts,.ss-home-analytics) { grid-column: span 4; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-home-budget,.ss-home-goals) { grid-column: span 6; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-accounts)) > .ss-balance-widget,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-operations)) > .ss-home-analytics,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-analytics)) > .ss-home-operations,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-goals)) > .ss-home-budget,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-budget)) > .ss-home-goals { grid-column: 1 / -1; }
}
@media (min-width: 600px) and (max-width: 900px) {
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 18px; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-balance-widget,.ss-home-operations) { grid-column: span 5; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-home-accounts,.ss-home-analytics) { grid-column: span 3; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-home-budget,.ss-home-goals) { grid-column: span 4; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-accounts)) > .ss-balance-widget,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-operations)) > .ss-home-analytics,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-analytics)) > .ss-home-operations,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-goals)) > .ss-home-budget,
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid:not(:has(> .ss-home-budget)) > .ss-home-goals { grid-column: 1 / -1; }
}
@container dashboard (max-width: 720px) {
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { grid-template-columns: minmax(0,1fr); }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > .ss-card { grid-column: 1 / -1; }
}
@media (max-width: 599px) {
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > .ss-card { grid-column: 1 / -1; }
  .ss-app-page #saldoscan-app[data-section="home"] .ss-balance-metric { flex-basis: calc(50% - 5px); }
}
@media (min-width: 600px) and (max-width: 1200px) {
  .ss-app-page #saldoscan-app[data-section="home"] .ss-balance-metric { flex-basis: calc(50% - 6px); }
}
@media (min-width: 600px) and (max-width: 1100px) {
  .ss-app-page .ss-home-operations-desktop { display: none; }
  .ss-app-page .ss-home-operations-compact { display: block; }
}
.ss-app-page .ss-home-operations-compact .ss-transaction-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 10px; padding: 11px 0; border-bottom: 1px solid var(--ss-border); }
.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-row-main { grid-column: 1; grid-row: 1; }
.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-amount { grid-column: 2; grid-row: 1; text-align: right; }
.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-row-category { grid-column: 1; grid-row: 2; }
.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-row-date { grid-column: 2; grid-row: 2; text-align: right; }
.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-row-date,.ss-app-page .ss-home-operations-compact .ss-transaction-row > .ss-row-category { color: var(--ss-text-muted); font-size: 12px; }
@media (max-width: 900px) {
  .ss-app-page #saldoscan-app[data-section="home"] .ss-grid > .ss-card { border-radius: 4px; }
}
@media (max-width: 599px) {
  .ss-app-page #saldoscan-app[data-section="home"] .ss-home-analytics-desktop,
  .ss-app-page #saldoscan-app[data-section="home"] .ss-home-budget-desktop { display: block; }
  .ss-app-page #saldoscan-app[data-section="home"] .ss-home-analytics-compact,
  .ss-app-page #saldoscan-app[data-section="home"] .ss-home-budget-compact { display: none; }
}
.ss-app-page .ss-category-row .ss-row-title { display: flex; align-items: center; gap: 10px; }
.ss-app-page .ss-category-color { display: inline-block; flex: none; width: 16px; height: 16px; border-radius: 50%; background: var(--ss-category-color); }
.ss-app-page .ss-category-color.is-child { width: 12px; height: 12px; border: 3px solid var(--ss-category-color); background: #fff; }

/* Top actions and profile navigation. */
.ss-app-page .ss-add-toggle .ss-add-symbol { display: block; font-family: Arial,sans-serif; font-size: 28px; font-weight: 400; line-height: 1; }
.ss-app-page .ss-user { justify-content: center; position: relative; }
.ss-app-page .ss-app-version { color: rgba(201,239,229,.58); font-size: 11px; font-weight: 400; letter-spacing: .02em; text-align: center; }
.ss-app-page .ss-profile-menu { position: relative; flex: none; order: 4; }
.ss-app-page .ss-top-actions .ss-desktop-bell { order: 3; }
.ss-app-page .ss-desktop-bell { position: relative; display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--ss-border); border-radius: 50%; background: var(--ss-bg); box-shadow: 0 2px 8px rgba(5,43,73,.06); color: var(--ss-navy-900); text-decoration: none; }
.ss-app-page .ss-desktop-bell:hover,.ss-app-page .ss-desktop-bell:focus-visible { border-color: var(--ss-border-hover); background: var(--ss-bg-soft); }
.ss-app-page .ss-desktop-bell .dashicons { width: 24px; height: 24px; font-size: 24px; }
.ss-app-page .ss-desktop-bell-badge { position: absolute; top: -5px; right: -5px; display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 4px; border: 2px solid var(--ss-bg); border-radius: 999px; background: var(--ss-danger); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.ss-app-page .ss-desktop-bell-badge[hidden],.ss-app-page .ss-profile-dropdown[hidden] { display: none !important; }
.ss-app-page .ss-desktop-profile { display: inline-grid; place-items: center; flex: none; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--ss-border); border-radius: 50%; background: var(--ss-bg); box-shadow: 0 2px 8px rgba(5,43,73,.06); color: var(--ss-navy-900); cursor: pointer; }
.ss-app-page .ss-desktop-profile:hover,.ss-app-page .ss-desktop-profile:focus-visible { border-color: var(--ss-border-hover); background: var(--ss-bg-soft); }
.ss-app-page .ss-desktop-profile[aria-expanded="true"] { border-color: var(--ss-ui-teal); background: var(--ss-ui-teal); color: #fff; }
.ss-app-page .ss-desktop-profile[aria-expanded="true"]:is(:hover,:focus-visible) { border-color: var(--ss-menu-active-bg); background: var(--ss-menu-active-bg); color: #fff; }
.ss-app-page .ss-profile-avatar { display: inline-grid; place-items: center; width: 44px; height: 44px; color: inherit; }
.ss-app-page .ss-profile-avatar.ss-profile-initials { font-size: 17px; font-weight: 700; letter-spacing: .02em; line-height: 1; }
.ss-app-page .ss-profile-dropdown { position: absolute; z-index: 150; right: 0; top: calc(100% + 9px); display: grid; width: min(320px,calc(100vw - 24px)); padding: 7px; border: 1px solid var(--ss-border-hover); border-left: 4px solid var(--ss-ui-teal); border-radius: var(--ss-radius-md); background: var(--ss-bg); box-shadow: 0 8px 24px rgba(5,43,73,.1); }
.ss-app-page .ss-profile-dropdown a { display: block; min-height: 42px; padding: 11px 12px; border-radius: 8px; color: var(--ss-text); font-size: 14px; line-height: 1.35; text-decoration: none; }
.ss-app-page .ss-profile-dropdown a:hover,.ss-app-page .ss-profile-dropdown a:focus-visible { background: var(--ss-bg-soft); color: var(--ss-primary); }
.ss-app-page .ss-profile-dropdown .ss-profile-overview { display: flex; align-items: center; min-height: 62px; margin-bottom: 6px; padding: 9px 8px 14px; gap: 10px; border-bottom: 1px solid var(--ss-border); border-radius: 0; color: var(--ss-text); text-decoration: none; }
.ss-app-page .ss-profile-overview-avatar { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ss-primary); color: #fff; font-size: 15px; font-weight: 700; line-height: 1; }
.ss-app-page .ss-profile-overview-copy { display: grid; flex: 1 1 0; min-width: 0; max-width: 100%; gap: 2px; }
.ss-app-page .ss-profile-overview-copy strong,.ss-app-page .ss-profile-overview-copy small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-app-page .ss-profile-overview-copy strong { color: var(--ss-text); font-size: 14px; line-height: 1.3; }
.ss-app-page .ss-profile-overview-copy small { color: var(--ss-text-muted); font-size: 12px; line-height: 1.3; }
.ss-app-page .ss-profile-overview .dashicons { flex: none; width: 21px; height: 21px; margin-left: auto; color: var(--ss-primary); font-size: 21px; }
.ss-app-page .ss-main .ss-profile-dropdown a.ss-profile-logout { display: flex; align-items: center; gap: 10px; margin-top: 6px; padding: 12px; border: 0; border-top: 1px solid var(--ss-border); border-radius: 0; background: transparent; color: var(--ss-text); font-weight: 400; font-style: normal; }
.ss-app-page .ss-profile-dropdown .ss-profile-logout .fa-solid { flex: none; width: 20px; text-align: center; font-size: 16px; }
.ss-app-page .ss-main .ss-profile-dropdown a.ss-profile-logout:hover,.ss-app-page .ss-main .ss-profile-dropdown a.ss-profile-logout:focus-visible { background: var(--ss-bg-soft); color: var(--ss-primary); }
/* Only dashboard widgets use the outer card surface. Section content sits on the page. */
.ss-app-page #saldoscan-app:not([data-section="home"]) #ss-content > .ss-card { width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }

/* Accounts, categories and transactions share one list system. */
.ss-app-page .ss-record-page .ss-record-toolbar { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 48px; margin: 0 0 16px; border-bottom: 1px solid var(--ss-border); }
.ss-app-page .ss-record-page .ss-record-tabs { display: flex; flex: 1 1 auto; min-width: 0; width: auto; margin: 0; border: 0; gap: 6px; }
.ss-app-page .ss-record-page .ss-record-tabs button { min-height: 44px; }
.ss-app-page .ss-record-page .ss-record-list { display: grid; gap: 0; width: 100%; min-width: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-row { display: grid; align-items: center; gap: 12px; width: 100%; min-width: 0; margin: 0; padding: 14px 8px; border: 0; border-bottom: 1px solid var(--ss-border); border-radius: 0; background: transparent; box-shadow: none; }
.ss-app-page .ss-record-page .ss-record-list .ss-row > * { min-width: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-transaction-row > .ss-row-date,
.ss-app-page .ss-record-page .ss-record-list .ss-transaction-row > .ss-row-category { display: block; }
.ss-app-page .ss-record-page .ss-transaction-columns { display: none; }
.ss-app-page .ss-record-page .ss-transaction-row > .ss-row-date,.ss-app-page .ss-record-page .ss-transaction-row > .ss-row-category { color: var(--ss-text-muted); }
.ss-app-page .ss-record-page .ss-transaction-row > .ss-amount { text-align: right; }
.ss-app-page .ss-record-page .ss-record-list .ss-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 6px; order: initial; min-width: 0; margin: 0; padding: 0; border: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-account-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.ss-app-page .ss-record-page .ss-account-hold-progress { display: none; }
.ss-app-page .ss-record-page .ss-record-list .ss-category-group { display: grid; min-width: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-category-controls { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.ss-app-page .ss-record-page .ss-account-drag-handle { cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; }
.ss-app-page .ss-record-page .ss-account-drag-handle:active { cursor: grabbing; }
.ss-app-page .ss-record-page .ss-row-menu { position: relative; flex: none; }
.ss-app-page .ss-record-page .ss-row-menu-trigger .fa-solid { font-size: 18px; }
.ss-app-page .ss-record-page .ss-account-icon-button.ss-row-menu-trigger { border-color: transparent; background: transparent; color: var(--ss-primary); }
.ss-app-page .ss-record-page .ss-account-icon-button.ss-row-menu-trigger:not(:disabled):is(:hover,:focus-visible),
.ss-app-page .ss-record-page .ss-account-icon-button.ss-row-menu-trigger[aria-expanded="true"] { border-color: var(--ss-primary); background: #dff5f1; color: var(--ss-primary); }
.ss-app-page .ss-record-page .ss-account-icon-button.ss-tabs-filter-toggle { border-color: transparent; background: transparent; color: var(--ss-primary); }
.ss-app-page .ss-record-page .ss-account-icon-button.ss-tabs-filter-toggle:not(:disabled):is(:hover,:focus-visible),
.ss-app-page .ss-record-page .ss-account-icon-button.ss-tabs-filter-toggle.is-active,
.ss-app-page .ss-record-page .ss-account-icon-button.ss-tabs-filter-toggle[aria-expanded="true"] { border-color: var(--ss-primary); background: #dff5f1; color: var(--ss-primary); }
.ss-app-page .ss-record-page .ss-record-list .ss-row:has(.ss-row-menu-trigger[aria-expanded="true"]) { position: relative; z-index: 12; }
.ss-app-page .ss-record-page .ss-record-list .ss-category-group:has(.ss-row-menu-trigger[aria-expanded="true"]) { position: relative; z-index: 12; }
.ss-app-page .ss-record-page .ss-row-menu-popover { position: absolute; z-index: 13; top: calc(100% + 8px); right: 0; display: grid; width: min(238px,calc(100vw - 24px)); padding: 5px; border: 1px solid var(--ss-border-hover); border-radius: var(--ss-radius-md); background: var(--ss-bg); box-shadow: 0 10px 28px rgba(5,43,73,.17); }
.ss-app-page .ss-record-page .ss-row-menu-popover.is-above { top: auto; bottom: calc(100% + 8px); }
.ss-app-page .ss-record-page .ss-record-list .ss-row-menu-popover,
.ss-app-page .ss-record-page .ss-record-list .ss-row-menu-popover.is-above { position: fixed; top: var(--ss-row-menu-top,0px); right: auto; bottom: auto; left: var(--ss-row-menu-left,0px); max-height: var(--ss-row-menu-max-height,calc(100dvh - 16px)); overflow-y: auto; }
.ss-app-page .ss-record-page .ss-row-menu-popover[hidden] { display: none; }
.ss-app-page .ss-record-page .ss-row-menu-popover .ss-row-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 9px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ss-text); font-size: 14px; font-weight: 400; line-height: 1.3; text-align: left; text-decoration: none; cursor: pointer; }
.ss-app-page .ss-record-page .ss-row-menu-popover .ss-row-menu-item:hover,
.ss-app-page .ss-record-page .ss-row-menu-popover .ss-row-menu-item:focus-visible { background: #dff5f1; color: var(--ss-primary); }
.ss-app-page .ss-record-page .ss-row-menu-popover .ss-row-menu-item:disabled { color: var(--ss-text-muted); opacity: .5; cursor: default; }
.ss-app-page .ss-record-page .ss-row-menu-item .dashicons { flex: none; width: 20px; height: 20px; font-size: 20px; }
.ss-app-page .ss-record-page .ss-record-list.is-sorting { user-select: none; -webkit-user-select: none; }
.ss-app-page .ss-record-page .ss-record-list .ss-account-row.is-dragging { position: relative; z-index: 5; outline: 1px solid var(--ss-border-hover); border-radius: 10px; background: var(--ss-bg); box-shadow: 0 12px 26px rgba(5,43,73,.18); }
.ss-app-page .ss-record-page .ss-record-list .ss-category-group.is-dragging { position: relative; z-index: 5; outline: 1px solid var(--ss-border-hover); border-radius: 10px; background: var(--ss-bg); box-shadow: 0 12px 26px rgba(5,43,73,.18); }
.ss-app-page .ss-record-page .ss-record-list .ss-account-metrics { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; min-width: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-account-icon-button { min-width: 40px; min-height: 40px; }
.ss-app-page .ss-record-page .ss-record-list > .ss-row:last-child { border-bottom: 0; }
.ss-app-page .ss-record-page .ss-record-list > .ss-category-group:last-child > .ss-row:last-child { border-bottom: 0; }
.ss-app-page .ss-record-page .ss-record-list .ss-category-row.is-child .ss-row-title { font-weight: 400; }
.ss-app-page .ss-record-page .ss-category-row.is-child .ss-row-main { padding-left: 28px; }
.ss-app-page .ss-record-page .ss-category-row.is-child .ss-row-title::before { content: "↳"; margin-right: 9px; color: var(--ss-text-muted); }
.ss-app-page .ss-lists-page .ss-lists-tabs button { white-space: nowrap; }
.ss-app-page .ss-lists-page .ss-category-section[hidden],.ss-app-page .ss-lists-page .ss-category-group[hidden],.ss-app-page .ss-lists-page .ss-category-children-inner > .ss-row[hidden] { display: none !important; }
.ss-app-page .ss-lists-page .ss-lists-search-toggle { flex: none; }
.ss-app-page .ss-lists-page #ss-lists-search-panel { margin: -8px 0 16px; }
.ss-app-page .ss-lists-page #ss-lists-search-panel input { width: 100%; max-width: 440px; padding: 10px 11px; border: 1px solid var(--ss-border); border-radius: var(--ss-radius-sm); background: var(--ss-bg); color: var(--ss-text); }
.ss-app-page .ss-lists-page .ss-contact-list .ss-contact-row { grid-template-columns: minmax(0,1fr) auto; }
.ss-app-page .ss-lists-page .ss-contact-row .ss-row-main { display: grid; gap: 3px; }
.ss-app-page .ss-lists-page .ss-contact-row .ss-row-title { font-weight: 600; }
.ss-app-page .ss-lists-page .ss-contact-row .ss-muted { overflow-wrap: anywhere; }
.ss-app-page .ss-lists-page .ss-contact-row .ss-contact-edit { justify-self: end; }
.ss-app-page .ss-lists-page .ss-contact-more { display: flex; justify-content: center; padding: 16px; }
.ss-app-page #ss-contact-form .ss-contact-aliases { display: grid; gap: 10px; }
.ss-app-page #ss-contact-form .ss-contact-alias-input { display: flex; gap: 8px; }
.ss-app-page #ss-contact-form .ss-contact-alias-input input { flex: 1; min-width: 0; }
.ss-app-page #ss-contact-form .ss-contact-add-alias { justify-self: start; }
.ss-app-page .ss-lists-page .ss-category-section + .ss-category-section { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--ss-border); }
.ss-app-page .ss-lists-page .ss-category-section h2 { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 18px; }
.ss-app-page .ss-lists-page .ss-category-section-count { color: var(--ss-text-muted); font-size: 13px; font-weight: 400; }
.ss-app-page .ss-lists-page .ss-category-accordion-toggle { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; padding: 0; border: 1px solid transparent; border-radius: var(--ss-radius-sm); background: transparent; color: var(--ss-primary); cursor: pointer; }
.ss-app-page .ss-lists-page .ss-category-accordion-toggle:hover,.ss-app-page .ss-lists-page .ss-category-accordion-toggle:focus-visible,.ss-app-page .ss-lists-page .ss-category-accordion-toggle[aria-expanded="true"] { border-color: var(--ss-primary); background: #dff5f1; }
.ss-app-page .ss-lists-page .ss-category-accordion-toggle .dashicons { transition: transform .2s ease; }
.ss-app-page .ss-lists-page .ss-category-accordion-toggle[aria-expanded="true"] .dashicons { transform: rotate(180deg); }
.ss-app-page .ss-lists-page .ss-category-children { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .22s ease,opacity .18s ease; }
.ss-app-page .ss-lists-page .ss-category-group.is-expanded > .ss-category-children { grid-template-rows: 1fr; opacity: 1; }
.ss-app-page .ss-lists-page .ss-category-children-inner { min-height: 0; overflow: hidden; }
@media (max-width: 599px) {
  .ss-app-page .ss-lists-page .ss-lists-tabs { flex: 1 1 0; min-width: 0; }
  .ss-app-page .ss-lists-page .ss-lists-tabs button { flex: 1 1 0; min-width: 0; padding-inline: 1px; white-space: normal; }
  .ss-app-page .ss-lists-page .ss-lists-tabs .ss-tab-label { white-space: normal; }
  .ss-app-page .ss-lists-page #ss-lists-search-panel input { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ss-app-page .ss-lists-page .ss-category-accordion-toggle .dashicons,.ss-app-page .ss-lists-page .ss-category-children { transition: none; }
}

@media (min-width: 901px) {
  .ss-app-page .ss-record-page .ss-account-row { grid-template-columns: minmax(0,1.1fr) minmax(190px,1.3fr) auto; }
  .ss-app-page .ss-record-page .ss-transaction-row,.ss-app-page .ss-record-page .ss-transaction-columns { grid-template-columns: 90px minmax(0,1.6fr) minmax(0,.9fr) minmax(100px,1fr) 40px; }
  .ss-app-page .ss-record-page .ss-transaction-columns { display: grid; align-items: center; gap: 12px; padding: 10px 8px; border-bottom: 1px solid var(--ss-border); background: var(--ss-bg-soft); color: var(--ss-text-muted); font-size: 12px; }
  .ss-app-page .ss-record-page .ss-transaction-columns > :nth-child(4) { text-align: right; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-menu { justify-self: end; }
  .ss-app-page .ss-record-page .ss-category-row { grid-template-columns: minmax(0,1fr) auto; }
}
@media (max-width: 900px) {
  .ss-app-page .ss-record-page .ss-record-list .ss-row { grid-template-columns: minmax(0,1fr) auto; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-main { grid-column: 1; grid-row: 1; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-amount { grid-column: 2; grid-row: 1; text-align: right; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-category { grid-column: 1; grid-row: 2; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-date { grid-column: 2; grid-row: 2; text-align: right; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-menu { grid-column: 1 / -1; grid-row: 3; justify-self: end; }
}
@media (min-width: 600px) and (max-width: 900px) {
  .ss-app-page .ss-record-page .ss-account-row > .ss-row-main { grid-column: 1; grid-row: 1; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-metrics { grid-column: 2; grid-row: 1; justify-content: flex-end; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-controls { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 599px) {
  .ss-app-page .ss-record-page .ss-record-toolbar { gap: 6px; margin-bottom: 12px; }
  .ss-app-page .ss-record-page .ss-record-tabs { gap: 0; }
  .ss-app-page .ss-record-page .ss-record-tabs button { min-height: 56px; padding: 8px 3px; }
  .ss-app-page .ss-record-page .ss-record-list .ss-row { gap: 8px 10px; padding: 13px 0; font-size: 14px; }
  .ss-app-page .ss-record-page .ss-record-list .ss-category-group { position: relative; transition: padding .16s ease, scale .16s ease, box-shadow .16s ease; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  .ss-app-page .ss-record-page .ss-record-list .ss-category-group.is-gesture-active,
  .ss-app-page .ss-record-page .ss-record-list .ss-category-group.is-dragging { padding-right: 8px; padding-left: 8px; }
  .ss-app-page .ss-record-page .ss-record-list .ss-account-icon-button { min-width: 44px; min-height: 44px; }
  .ss-app-page .ss-record-page .ss-record-list .ss-account-row { grid-template-columns: minmax(0,1fr) minmax(0,max-content) 44px; transition: padding .16s ease, scale .16s ease, box-shadow .16s ease; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-row-main { grid-column: 1; grid-row: 1; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-metrics { grid-column: 2; grid-row: 1; justify-content: flex-end; text-align: right; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-controls { grid-column: 3; grid-row: 1; justify-self: end; }
  .ss-app-page .ss-record-page .ss-account-row:has(> .ss-account-credit-metrics) > .ss-account-controls,
  .ss-app-page .ss-record-page .ss-account-row:has(> .ss-account-loan-metrics) > .ss-account-controls { grid-row: 2; align-self: end; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-credit-metrics,
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-loan-metrics { grid-column: 1 / 3; grid-row: 2; width: 100%; justify-content: space-between; text-align: left; }
  .ss-app-page .ss-record-page .ss-account-row:has(> .ss-account-credit-metrics) > .ss-row-main,
  .ss-app-page .ss-record-page .ss-account-row:has(> .ss-account-loan-metrics) > .ss-row-main { grid-column: 1 / -1; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-credit-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .ss-app-page .ss-record-page .ss-account-credit-metrics > span { min-width: 0; }
  .ss-app-page .ss-record-page .ss-account-credit-metrics .ss-account-limit { text-align: center; }
  .ss-app-page .ss-record-page .ss-account-credit-metrics .ss-account-debt { text-align: right; }
  .ss-app-page .ss-record-page .ss-account-credit-metrics strong { font-size: clamp(12px,3.3vw,14px); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-loan-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
  .ss-app-page .ss-record-page .ss-account-loan-metrics > span:last-child { text-align: right; }
  .ss-app-page .ss-record-page .ss-record-list .ss-account-row { position: relative; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  .ss-app-page .ss-record-page .ss-record-list .ss-account-row.is-gesture-active,
  .ss-app-page .ss-record-page .ss-record-list .ss-account-row.is-dragging,
  .ss-app-page .ss-record-page .ss-record-list .ss-category-group.is-gesture-active,
  .ss-app-page .ss-record-page .ss-record-list .ss-category-group.is-dragging { z-index: 5; padding-right: 8px; padding-left: 8px; outline: 1px solid var(--ss-border-hover); border-radius: 10px; background: var(--ss-bg); box-shadow: 0 12px 26px rgba(5,43,73,.18); scale: 1.012; }
  .ss-app-page .ss-record-page .ss-account-row .ss-row-menu-popover,
  .ss-app-page .ss-record-page .ss-account-row .ss-row-menu-popover.is-above,
  .ss-app-page .ss-record-page .ss-category-row .ss-row-menu-popover,
  .ss-app-page .ss-record-page .ss-category-row .ss-row-menu-popover.is-above { width: min(238px,calc(100vw - 16px)); }
  .ss-app-page .ss-record-page .ss-account-row > .ss-account-hold-progress,
  .ss-app-page .ss-record-page .ss-category-group > .ss-account-hold-progress { position: absolute; z-index: 4; left: var(--ss-hold-x); top: var(--ss-hold-y); display: block; width: 64px; height: 64px; transform: translate(-50%,-50%); pointer-events: none; visibility: hidden; }
  .ss-app-page .ss-record-page .ss-account-row.is-hold-pending > .ss-account-hold-progress,
  .ss-app-page .ss-record-page .ss-category-group.is-hold-pending > .ss-account-hold-progress { visibility: visible; }
  .ss-app-page .ss-record-page .ss-account-hold-progress svg { display: block; width: 100%; height: 100%; }
  .ss-app-page .ss-record-page .ss-account-hold-progress circle { fill: none; stroke: var(--ss-teal-600); stroke-width: 4; stroke-linecap: round; stroke-dasharray: 176; stroke-dashoffset: 176; transform: rotate(-90deg); transform-origin: center; }
  .ss-app-page .ss-record-page .ss-account-row.is-hold-pending .ss-account-hold-progress circle,
  .ss-app-page .ss-record-page .ss-category-group.is-hold-pending .ss-account-hold-progress circle { animation: ss-account-hold-ring .42s linear forwards; }
  .ss-app-page .ss-record-page .ss-record-list .ss-transaction-row { grid-template-columns: minmax(0,1fr) auto; gap: 4px 10px; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-main,
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-main > .ss-account-identity,
  .ss-app-page .ss-record-page .ss-transaction-row .ss-account-identity-text { display: contents; }
  .ss-app-page .ss-record-page .ss-transaction-row .ss-tx-type-icon { grid-column: 1; grid-row: 1 / 3; justify-self: start; align-self: center; }
  .ss-app-page .ss-record-page .ss-transaction-row .ss-account-title { grid-column: 1; grid-row: 1; min-width: 0; padding-left: 50px; }
  .ss-app-page .ss-record-page .ss-transaction-row .ss-tx-account { grid-column: 1; grid-row: 2; min-width: 0; padding-left: 50px; }
  .ss-app-page .ss-record-page .ss-transaction-row .ss-tx-details { grid-column: 1; grid-row: 3; min-width: 0; padding-left: 50px; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-amount { grid-column: 2; grid-row: 1; align-self: start; white-space: normal; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-date { grid-column: 2; grid-row: 2; align-self: start; margin-top: 2px; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-category { grid-column: 1 / -1; grid-row: 3; margin-top: 6px; }
  .ss-app-page .ss-record-page .ss-transaction-row:has(.ss-tx-details) > .ss-row-category { grid-row: 4; }
  .ss-app-page .ss-record-page .ss-transaction-row > .ss-row-menu { grid-column: 1 / -1; grid-row: 4; margin-top: 4px; }
  .ss-app-page .ss-record-page .ss-transaction-row:has(.ss-tx-details) > .ss-row-menu { grid-row: 5; }
  .ss-app-page .ss-record-page .ss-category-row > .ss-row-main { grid-column: 1; }
  .ss-app-page .ss-record-page .ss-category-row > .ss-category-controls { grid-column: 2; }
  .ss-app-page .ss-record-page .ss-category-row.is-child .ss-row-main { padding-left: 16px; }
}
@keyframes ss-account-hold-ring { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .ss-app-page .ss-record-page .ss-account-row.is-hold-pending .ss-account-hold-progress circle,
  .ss-app-page .ss-record-page .ss-category-group.is-hold-pending .ss-account-hold-progress circle { animation: none; stroke-dashoffset: 0; }
}
@media (max-width: 599px) {
  .ss-app-page #saldoscan-app .ss-topbar .ss-top-actions { justify-content: flex-end; padding-right: calc(70px + env(safe-area-inset-right)); padding-left: 10px; gap: 6px; }
  .ss-app-page #saldoscan-app .ss-top-actions .ss-dashboard-tools { flex: 0 1 auto; min-width: 0; margin-right: auto; }
  .ss-app-page .ss-mobile-header { gap: 8px; }
  .ss-app-page .ss-mobile-header > .ss-desktop-bell { order: 2; }
  .ss-app-page .ss-mobile-header > .ss-profile-menu { display: none; }
  .ss-app-page .ss-mobile-header .ss-profile-dropdown { position: absolute; top: calc(100% + 8px); right: 0; bottom: auto; }
  .ss-app-page .ss-top-actions > .ss-desktop-bell,
  .ss-app-page .ss-top-actions > .ss-profile-menu { display: none; }
  .ss-app-page .ss-desktop-bell { width: 44px; height: 44px; }
  .ss-app-page .ss-desktop-bell .dashicons { width: 21px; height: 21px; font-size: 21px; }
  .ss-app-page .ss-desktop-profile { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
  .ss-app-page .ss-menu-unread-badge { display: none !important; }
  .ss-app-page .ss-user-menu-close { position: absolute; right: 0; }
}
@media (max-width: 360px) {
  .ss-app-page .ss-mobile-header { gap: 6px; }
  .ss-app-page .ss-mobile-brand img { width: 32px; height: 32px; }
  .ss-app-page .ss-mobile-brand-name { font-size: 19px; }
}
@media (max-width: 340px) {
  .ss-app-page .ss-mobile-brand-name { display: none; }
}

/* Settings read as a sequence of sections, without nested cards. */
.ss-app-page .ss-settings-page .ss-settings-tab-heading { display: block; margin: 0 0 18px; color: var(--ss-text); font-size: 20px; line-height: 1.3; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings { display: block; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings > form,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings > section,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-settings-block { margin: 0; padding: 28px 0; border: 0; border-bottom: 1px solid var(--ss-border); border-radius: 0; background: transparent; box-shadow: none; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings > :first-child,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings > :first-child,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-settings-block:first-child { padding-top: 0; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings > :last-child,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings > :last-child,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-settings-block:last-of-type { border-bottom: 0; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings h3,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings h3,
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-settings-block h3 { margin: 0 0 18px; color: var(--ss-text); font-size: 20px; line-height: 1.3; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings p { max-width: 66ch; margin: 0 0 18px; line-height: 1.5; }
.ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings .ss-form-actions { margin-top: 4px; }
@media (max-width: 599px) {
  .ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-profile-settings > form,
  .ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-privacy-settings > section,
  .ss-app-page .ss-settings-page:not(.ss-subscription-page) .ss-settings-block { padding-bottom: 22px; }
}

/* Personal settings share one page; dividers separate sections without cards. */
.ss-app-page .ss-settings-page { min-width: 0; }
.ss-app-page .ss-settings-intro { margin: 0 0 30px; color: var(--ss-text-muted); }
.ss-app-page .ss-settings-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 48px; }
.ss-app-page .ss-settings-layout.is-single { grid-template-columns: minmax(0,1fr); }
.ss-app-page .ss-settings-layout.is-single > .ss-settings-column:empty { display: none; }
.ss-app-page .ss-settings-column { min-width: 0; }
.ss-app-page .ss-settings-section { min-width: 0; margin: 0 0 30px; padding: 0 0 30px; border-bottom: 1px solid var(--ss-border); scroll-margin-top: 110px; }
.ss-app-page .ss-settings-section-head { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; }
.ss-app-page .ss-settings-section-head h2 { margin: 0; color: var(--ss-text); font-size: 21px; line-height: 1.25; }
.ss-app-page .ss-settings-section-head p { margin: 3px 0 0; color: var(--ss-text-muted); font-size: 13px; line-height: 1.4; }
.ss-app-page .ss-settings-section-icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border: 1px solid var(--ss-border); border-radius: 50%; background: #e6f7f7; color: var(--ss-primary); font-size: 17px; }
.ss-app-page .ss-settings-section-content { min-width: 0; }
.ss-app-page #ss-preferences-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 15px; }
.ss-app-page #ss-preferences-form > .ss-field { display: grid; grid-template-columns: minmax(0,1fr) minmax(150px,42%); align-items: center; gap: 4px 14px; }
.ss-app-page #ss-preferences-form > .ss-field > small { grid-column: 1/-1; }
.ss-app-page #ss-preferences-form > .ss-form-actions { margin-top: 8px; }
.ss-app-page .ss-settings-choice { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 43px; padding: 8px 10px; border: 1px solid var(--ss-border); border-radius: 9px; background: #fff; color: var(--ss-text); cursor: pointer; line-height: 1.3; }
.ss-app-page .ss-settings-choice:has(input:checked) { border-color: #bde9e9; background: #ebf9f9; }
.ss-app-page .ss-settings-choice:focus-within { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-settings-choice input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--ss-primary); }
.ss-app-page .ss-settings-choice span { min-width: 0; color: inherit; overflow-wrap: anywhere; }
.ss-app-page #ss-notifications-form .ss-setting input { position: relative; flex: none; width: 42px; height: 24px; margin: 0; appearance: none; border: 0; border-radius: 999px; background: #d7dfe5; cursor: pointer; transition: background .2s ease; }
.ss-app-page #ss-notifications-form .ss-setting input::before { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.18); transition: transform .2s ease; }
.ss-app-page #ss-notifications-form .ss-setting input:checked { background: var(--ss-primary); }
.ss-app-page #ss-notifications-form .ss-setting input:checked::before { transform: translateX(18px); }
.ss-app-page #ss-notifications-form .ss-setting input:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-notification-channels { margin: 0; padding: 0; border: 0; }
.ss-app-page .ss-notification-channels legend { margin-bottom: 10px; font-weight: 650; }
.ss-app-page .ss-notification-channels > div { display: flex; flex-wrap: wrap; gap: 8px; }
.ss-app-page .ss-notification-channels .ss-settings-choice { flex: 1 1 150px; }
.ss-app-page .ss-notification-channels .ss-settings-choice i { color: var(--ss-primary); }
.ss-app-page #ss-notifications-form .ss-setting { align-items: center; gap: 14px; padding: 11px 0; }
.ss-app-page #ss-notifications-form .ss-setting span { min-width: 0; }
@media (max-width: 1150px) { .ss-app-page .ss-settings-layout { grid-template-columns: minmax(0,1fr); gap: 0; } }
@media (max-width: 599px) {
  .ss-app-page .ss-settings-intro { margin-bottom: 22px; }
  .ss-app-page .ss-settings-section { margin-bottom: 24px; padding-bottom: 24px; scroll-margin-top: 78px; }
  .ss-app-page .ss-settings-section-head { align-items: flex-start; margin-bottom: 18px; }
  .ss-app-page .ss-settings-section-head h2 { font-size: 19px; }
  .ss-app-page #ss-preferences-form > .ss-field { grid-template-columns: minmax(0,1fr); gap: 6px; }
  .ss-app-page .ss-settings-choice { padding-inline: 8px; font-size: 13px; }
  .ss-app-page .ss-settings-section .ss-form-actions > button,.ss-app-page .ss-settings-section .ss-settings-save > button { width: 100%; }
}
/* One full-width section at a time; columns group controls inside sections. */
.ss-app-page .ss-settings-layout { display: block; }
.ss-app-page .ss-settings-section { width: 100%; }
.ss-app-page .ss-settings-section:last-child { border-bottom: 0; }
.ss-app-page .ss-settings-page .ss-settings-section h3,.ss-app-page .ss-settings-page .ss-settings-section h4,.ss-app-page .ss-settings-page .ss-settings-section legend,.ss-app-page .ss-settings-page .ss-settings-section .ss-field > span { color: var(--ss-text); font-size: 14px; font-weight: 650; line-height: 1.35; }
.ss-app-page .ss-settings-page .ss-settings-section .ss-field > small,.ss-app-page .ss-settings-page .ss-settings-section fieldset > small { color: var(--ss-text-muted); font-size: 12px; font-weight: 400; line-height: 1.4; }
.ss-app-page #ss-preferences-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 32px; }
.ss-app-page #ss-preferences-form > .ss-field { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,46%); align-items: center; gap: 6px 12px; }
.ss-app-page #ss-preferences-form > .ss-field > small { grid-column: 1/-1; }
.ss-app-page .ss-currency-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.ss-app-page .ss-currency-field legend { margin-bottom: 8px; }
.ss-app-page .ss-currency-field > small { display: block; margin-top: 7px; }
.ss-app-page .ss-currency-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.ss-app-page .ss-currency-options .ss-settings-choice { position: relative; justify-content: center; padding-inline: 4px; text-align: center; }
.ss-app-page .ss-currency-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ss-app-page .ss-currency-options .ss-settings-choice:has(input:checked) { border-color: var(--ss-primary); background: var(--ss-primary); color: #fff; }
.ss-app-page .ss-notification-channels .ss-settings-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.ss-app-page .ss-notification-channels .ss-settings-choice::before { content: ''; flex: none; width: 17px; height: 17px; border: 1px solid #b5c5cf; border-radius: 4px; background: #fff; }
.ss-app-page .ss-notification-channels .ss-settings-choice:has(input:checked)::before { content: '✓'; display: grid; place-items: center; border-color: var(--ss-primary); background: var(--ss-primary); color: #fff; font-size: 13px; font-weight: 700; }
.ss-app-page #ss-settings-profile .ss-profile-settings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 38px; }
.ss-app-page #ss-settings-profile .ss-profile-settings > form { min-width: 0; padding: 0; border: 0; }
.ss-app-page #ss-settings-profile .ss-profile-settings #ss-profile-form { grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); padding-bottom: 24px; border-bottom: 1px solid var(--ss-border); }
.ss-app-page #ss-settings-profile #ss-profile-email-form,.ss-app-page #ss-settings-profile #ss-profile-password-form { grid-template-columns: minmax(0,1fr); }
.ss-app-page .ss-profile-settings .ss-settings-panel { padding: 0; border: 0; border-radius: 0; background: transparent; }
.ss-app-page .ss-profile-settings .ss-field { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,55%); align-items: center; gap: 10px; }
.ss-app-page .ss-profile-login { margin: 0; color: var(--ss-text-muted); font-size: 13px; }
.ss-app-page #ss-profile-form .ss-profile-login { grid-column: auto; align-self: center; }
.ss-app-page .ss-profile-login strong { color: var(--ss-text); }
.ss-app-page .ss-settings-global-actions { display: flex; justify-content: flex-end; padding: 0 0 28px; }
.ss-app-page .ss-settings-global-actions button { min-width: 220px; }
.ss-app-page .ss-header-notice-slot { position: fixed; top: 90px; left: 0; width: 100vw; z-index: 29; overflow: hidden; filter: drop-shadow(0 9px 16px rgba(0,51,79,.2)); pointer-events: none; }
.ss-app-page .ss-header-notice-slot .ss-notice { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; max-width: none; min-height: 54px; margin: 0; padding: 10px 18px; border: 0; border-radius: 0; background: var(--ss-success); color: #fff; font-size: 14px; font-weight: 650; line-height: 1.35; text-align: center; overflow-wrap: anywhere; transform: translateY(-100%); transition: transform .32s ease-in; pointer-events: auto; }
.ss-app-page .ss-header-notice-slot .ss-notice.is-visible { transform: translateY(0); transition-timing-function: cubic-bezier(.2,.8,.2,1); }
.ss-app-page .ss-header-notice-slot .ss-notice.is-error { background: var(--ss-danger); color: #fff; }
.ss-app-page .ss-header-notice-slot .ss-notice[hidden] { display: none; }
@media (max-width: 599px) { .ss-app-page .ss-apk-update-modal { align-items: center; padding: 16px; } .ss-app-page .ss-apk-update-modal .ss-modal-card { width: min(440px,100%); max-width: 100%; max-height: calc(100dvh - 32px); padding: 22px 18px; border-radius: 4px; } }
@media (prefers-reduced-motion: reduce) { .ss-app-page .ss-header-notice-slot .ss-notice { transition: none; } }
/* The account summary lives at the bottom of the service menu at every width. */
.ss-app-page .ss-mobile-account-menu { position: relative; display: grid; flex: none; gap: 4px; margin-top: auto; padding-top: 16px; border-top: 0; }
.ss-app-page .ss-mobile-account-profile { display: flex; align-items: center; gap: 10px; width: 100%; min-width: 0; min-height: 62px; padding: 7px 9px; border: 1px solid rgba(201,239,229,.3); border-radius: var(--ss-radius-md); background: transparent; color: inherit; text-align: left; cursor: pointer; }
.ss-app-page .ss-mobile-account-profile:hover,.ss-app-page .ss-mobile-account-profile[aria-expanded="true"] { background: var(--ss-menu-active-bg); }
.ss-app-page .ss-mobile-account-profile:focus-visible { outline: 2px solid #72dfbd; outline-offset: 2px; }
.ss-app-page .ss-mobile-account-avatar { display: inline-grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--ss-ui-teal); color: #fff; font-size: 15px; font-weight: 700; }
.ss-app-page .ss-mobile-account-copy { display: grid; flex: 1 1 0; min-width: 0; gap: 2px; }
.ss-app-page .ss-mobile-account-copy strong,.ss-app-page .ss-mobile-account-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-app-page .ss-mobile-account-copy strong { color: #fff; font-size: 14px; line-height: 1.3; }
.ss-app-page .ss-mobile-account-copy small { color: var(--ss-menu-text); font-size: 11px; line-height: 1.3; }
.ss-app-page .ss-mobile-account-menu .ss-mobile-account-plan { display: block; max-width: 100%; overflow: hidden; color: #72dfbd; font-size: 11px; font-weight: 650; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.ss-app-page .ss-mobile-account-menu a { color: var(--ss-menu-text); text-decoration: none; }
.ss-app-page .ss-mobile-account-actions { position: absolute; z-index: 2; right: 0; bottom: calc(100% + 8px); left: 0; display: grid; gap: 2px; max-height: min(220px,calc(100dvh - 155px)); padding: 6px; overflow-y: auto; border: 1px solid rgba(201,239,229,.3); border-radius: var(--ss-radius-md); background: var(--ss-menu-bg); box-shadow: 0 -10px 24px rgba(0,0,0,.18); }
.ss-app-page .ss-mobile-account-actions[hidden] { display: none; }
.ss-app-page .ss-mobile-account-actions a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 9px 10px; border-radius: var(--ss-radius-md); font-size: 14px; font-weight: 400; }
.ss-app-page .ss-mobile-account-actions a :is(.fa-solid,.dashicons) { flex: none; width: 20px; font-size: 18px; text-align: center; }
.ss-app-page .ss-mobile-account-actions a:hover,.ss-app-page .ss-mobile-account-actions a:focus-visible { background: var(--ss-menu-active-bg); color: #fff; }
.ss-app-page .ss-sidebar .ss-user { margin-top: 10px; }
@media (min-width: 600px) and (max-width: 900px) {
  .ss-app-page .ss-app:not(.is-menu-open) .ss-mobile-account-menu { display: grid; justify-items: center; width: 50px; margin-top: auto; padding-top: 16px; }
  .ss-app-page .ss-app:not(.is-menu-open) .ss-mobile-account-profile { display: grid; place-items: center; width: 46px; min-width: 46px; height: 46px; min-height: 46px; padding: 0; border: 0; border-radius: 50%; }
  .ss-app-page .ss-app:not(.is-menu-open) .ss-mobile-account-profile:hover,
  .ss-app-page .ss-app:not(.is-menu-open) .ss-mobile-account-profile:focus-visible { background: var(--ss-menu-active-bg); }
  .ss-app-page .ss-app:not(.is-menu-open) .ss-mobile-account-avatar { width: 40px; height: 40px; }
  .ss-app:not(.is-menu-open) .ss-mobile-account-copy { display: none; }
  .ss-app-page .ss-app.is-menu-open .ss-mobile-account-menu { display: grid; }
  .ss-app-page .ss-app:not(.is-menu-open) .ss-sidebar .ss-user { margin-top: auto; }
}
/* Native validation remains visible after focus moves to the missing field. */
.ss-app-page :is(input,select,textarea).ss-field-invalid { border-color: var(--ss-danger); box-shadow: 0 0 0 2px color-mix(in srgb,var(--ss-danger) 16%,transparent); }
.ss-app-page :is(input,select,textarea).ss-field-invalid:focus-visible { border-color: var(--ss-danger); outline-color: var(--ss-danger); }
/* Reveal eyes use the same prominent round control as the add button. */
.ss-app-page .ss-balance-reveal,.ss-app-page .ss-balance-reveal:hover { background: transparent; border-color: transparent; box-shadow: none; }
.ss-app-page .ss-balance-reveal-icon,.ss-app-page .ss-home-accounts-overlay .ss-balance-reveal-icon { width: 56px; height: 56px; background: var(--ss-teal-600); box-shadow: 0 3px 13px rgba(0,51,79,.18); color: #fff; }
.ss-app-page .ss-balance-reveal-icon .dashicons { width: 28px; height: 28px; font-size: 28px; }
.ss-app-page .ss-balance-reveal:hover .ss-balance-reveal-icon,.ss-app-page .ss-balance-reveal:focus-visible .ss-balance-reveal-icon { background: var(--ss-navy-900); color: #fff; }
@media (max-width: 900px) {
  .ss-app-page #ss-settings-profile .ss-profile-settings { grid-template-columns: minmax(0,1fr); }
  .ss-app-page #ss-settings-profile .ss-profile-settings #ss-profile-form { grid-column: auto; grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 760px) and (max-width: 900px) {
  .ss-app-page #ss-settings-profile .ss-profile-settings { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ss-app-page #ss-settings-profile .ss-profile-settings #ss-profile-form { grid-column: 1/-1; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 599px) {
  .ss-app-page #ss-preferences-form { grid-template-columns: minmax(0,1fr); gap: 18px; }
  .ss-app-page #ss-preferences-form > .ss-field { grid-template-columns: minmax(0,1fr) minmax(0,48%); gap: 6px 10px; }
  .ss-app-page .ss-profile-settings .ss-field { grid-template-columns: minmax(0,1fr) minmax(0,55%); }
  .ss-app-page .ss-settings-global-actions button { width: 100%; }
}

/* The page title stays below the header at every width. */
@media (max-width: 900px) {
  .ss-app-page .ss-page-heading-copy > h1 { font-size: 20px; }
}
@media (max-width: 599px) {
  .ss-app-page .ss-desktop-intro { gap: 8px; min-height: 34px; margin-bottom: 14px; }
  .ss-app-page .ss-page-heading-copy > h1 { font-size: clamp(18px,5.4vw,22px); }
  .ss-app-page .ss-page-heading-actions { min-width: 0; }
}

/* Tablet rail and a single-line header; the full menu opens over the page. */
@media (min-width: 600px) and (max-width: 900px) {
  .ss-app-page .ss-app { grid-template-columns: 64px minmax(0,1fr); }
  .ss-app-page .ss-sidebar { position: fixed; top: 0; left: 0; z-index: 20; width: 64px; height: 100vh; height: 100dvh; min-height: 0; padding: 16px 7px; overflow: hidden; box-shadow: none; transition: width .2s ease-out; }
  .ss-app-page .ss-sidebar nav { flex: 1 1 auto; min-height: 0; grid-auto-rows: max-content; align-content: start; gap: 6px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .ss-app-page .ss-sidebar nav::-webkit-scrollbar { display: none; }
  .ss-app-page .ss-sidebar nav a { justify-content: center; height: 46px; min-height: 46px; max-height: 46px; padding: 10px; }
  .ss-app-page .ss-sidebar nav a .ss-nav-label,
  .ss-app-page .ss-sidebar .ss-android-app-label,
  .ss-app-page .ss-sidebar .ss-user,
  .ss-app-page .ss-sidebar .ss-install-app { display: none; }
  .ss-app-page .ss-rail-toggle { display: grid; place-items: center; flex: none; width: 46px; height: 46px; margin: 0 0 16px 2px; padding: 0; border: 0; border-radius: var(--ss-radius-md); background: transparent; color: var(--ss-menu-text); cursor: pointer; }
  .ss-app-page .ss-rail-toggle:hover { background: var(--ss-menu-active-bg); color: #fff; }
  .ss-app-page .ss-rail-toggle:focus-visible { outline: 2px solid var(--ss-menu-active-bg); outline-offset: 2px; }
  .ss-app-page .ss-rail-toggle.ss-rail-click-latched { border-radius: var(--ss-radius-md); background: transparent; color: var(--ss-menu-text); }
  .ss-app-page .ss-rail-toggle .ss-menu-glyph { width: 23px; gap: 5px; }
  .ss-app-page .ss-rail-toggle .ss-menu-glyph i { width: 23px; height: 2px; transition: transform .18s ease-out,opacity .18s ease-out; }
  .ss-app-page .ss-app.is-menu-open .ss-rail-toggle .ss-menu-glyph i:first-child { transform: translateY(7px) rotate(45deg); }
  .ss-app-page .ss-app.is-menu-open .ss-rail-toggle .ss-menu-glyph i:nth-child(2) { opacity: 0; }
  .ss-app-page .ss-app.is-menu-open .ss-rail-toggle .ss-menu-glyph i:last-child { transform: translateY(-7px) rotate(-45deg); }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar { position: fixed; z-index: 40; width: 260px; padding: 16px; overflow: hidden; box-shadow: 12px 0 30px rgba(0,0,0,.15); }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar nav a { justify-content: flex-start; height: 50px; min-height: 50px; max-height: 50px; padding: 10px 14px; }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar nav a .ss-nav-label { display: inline; }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar .ss-android-app-label { display: inline; }
  .ss-app-page .ss-app:not(.is-menu-open) .ss-sidebar .ss-android-app-link { justify-content: center; padding-right: 0; padding-left: 0; }
  .ss-app-page .ss-app.is-menu-open .ss-sidebar .ss-user { display: flex; }
  .ss-app-page .ss-app.is-menu-open .ss-rail-toggle { margin-left: 0; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-backdrop { z-index: 39; }
  .ss-app-page .ss-app.is-menu-open .ss-menu-overlay-close { display: none; }
  .ss-app-page .ss-main { --ss-content-gutter: 24px; grid-column: 2; padding-top: 0; }
  .ss-app-page .ss-topbar { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; min-height: 76px; margin: 0 calc(-1 * var(--ss-content-gutter)) 18px; padding: 10px var(--ss-content-gutter); border-bottom: 1px solid var(--ss-border); background: var(--ss-bg); }
  .ss-app-page .ss-mobile-header { flex: 1 1 auto; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; background: transparent; }
  .ss-app-page .ss-mobile-brand { margin-right: 0; }
  .ss-app-page .ss-mobile-brand img { width: 34px; height: 34px; }
  .ss-app-page .ss-mobile-brand-name { font-size: 20px; }
  .ss-app-page .ss-mobile-header .ss-menu-toggle { display: none; }
  .ss-app-page #saldoscan-app .ss-topbar .ss-top-actions { display: flex; flex: none; align-items: center; justify-content: flex-end; width: auto; margin: 0 0 0 auto; padding: 0; gap: 7px; }
  .ss-app-page .ss-dashboard-tools { flex: 0 1 auto; min-height: 0; margin: 0; }
  .ss-app-page .ss-top-actions .ss-add-menu { order: 1; }
  .ss-app-page .ss-top-actions .ss-global-voice { order: 2; flex: 0 0 44px; width: 44px; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; max-height: 44px; border-radius: 50%; }
  .ss-app-page .ss-add-toggle { display: inline-flex; align-items: center; gap: 4px; width: auto; min-width: 44px; height: 44px; padding: 0 11px; }
  .ss-app-page .ss-add-toggle .ss-add-symbol { font-size: 24px; }
  .ss-app-page .ss-add-label { display: inline; font-size: 13px; font-weight: 650; }
  .ss-app-page .ss-desktop-bell,.ss-app-page .ss-desktop-profile { width: 44px; height: 44px; }
  .ss-app-page .ss-desktop-intro { margin-bottom: 18px; }
}
@media (min-width: 600px) and (max-width: 768px) {
  .ss-app-page .ss-main { --ss-content-gutter: 16px; }
}

.ss-app-page .ss-mobile-dock { display: none; }
@media (max-width: 599px) {
  .ss-app-page #saldoscan-app .ss-topbar .ss-top-actions { display: none; }
  .ss-app-page .ss-topbar { box-shadow: none; }
  .ss-app-page .ss-topbar .ss-mobile-header { box-shadow: 0 5px 14px rgba(0,51,79,.08); }
  .ss-app-page .ss-mobile-dock { position: fixed; z-index: 30; inset: auto 0 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); align-items: center; height: calc(76px + env(safe-area-inset-bottom)); padding: 7px 6px calc(7px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ss-border); background: var(--ss-bg); box-shadow: 0 -5px 14px rgba(0,51,79,.10); }
  .ss-app-page .ss-mobile-dock .ss-mobile-dock-add.ss-hold-add { box-shadow: 0 -5px 14px rgba(0,51,79,.20),0 3px 9px rgba(0,51,79,.10); }
  .ss-app-page .ss-mobile-dock-link { display: grid; justify-items: center; align-content: center; gap: 3px; min-width: 0; min-height: 54px; padding: 3px 0; border-radius: var(--ss-radius-md); color: var(--ss-teal-600); text-align: center; text-decoration: none; font-size: 10px; line-height: 1.15; white-space: nowrap; }
  .ss-app-page .ss-mobile-dock-link .dashicons,.ss-app-page .ss-mobile-dock-link .fa-solid { display: inline-grid; place-items: center; width: 25px; height: 25px; font-size: 23px; line-height: 25px; }
  .ss-app-page .ss-mobile-dock-link.is-active { color: var(--ss-navy-800); font-weight: 700; }
  .ss-app-page .ss-mobile-dock-link:focus-visible,.ss-app-page .ss-mobile-dock-add:focus-visible { outline: 2px solid var(--ss-teal-600); outline-offset: 2px; }
  .ss-app-page .ss-mobile-dock-link[data-dock-section="home"] { grid-column: 1; }
  .ss-app-page .ss-mobile-dock-link[data-dock-section="accounts"] { grid-column: 2; }
  .ss-app-page .ss-mobile-dock-link[data-dock-section="transactions"] { grid-column: 4; }
  .ss-app-page .ss-mobile-dock-link[data-dock-section="analytics"] { grid-column: 5; }
  .ss-app-page .ss-mobile-dock-add,.ss-app-page .ss-mobile-dock-spacer { grid-column: 3; grid-row: 1; justify-self: center; }
  .ss-app-page .ss-mobile-dock-add { margin-top: -22px; }
  .ss-app-page .ss-mobile-dock-spacer { width: 72px; height: 54px; }
}

/* The same add/hold control is used in the top bar and in the phone dock. */
.ss-app-page .ss-hold-add { --ss-plus-size: 24px; position: relative; display: grid; place-items: center; flex: none; width: 72px; min-width: 72px; height: 72px; min-height: 72px; padding: 0; border: 7px solid var(--ss-bg); border-radius: 50%; background: var(--ss-teal-600); color: #fff; box-shadow: 0 3px 13px rgba(0,51,79,.18); cursor: pointer; touch-action: none; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; }
.ss-app-page .ss-hold-add:hover,.ss-app-page .ss-hold-add:focus-visible { background: var(--ss-teal-600); color: #fff; }
.ss-app-page .ss-hold-add.is-holding { border-color: var(--ss-primary-hover); }
.ss-app-page .ss-hold-add > span,.ss-app-page .ss-add-toggle.ss-hold-add .ss-add-symbol { position: absolute; z-index: 3; top: 50%; left: 50%; width: var(--ss-plus-size); height: var(--ss-plus-size); margin: 0; font-size: 0; line-height: 0; transform: translate(-50%,-50%); }
.ss-app-page .ss-hold-add > span::before,.ss-app-page .ss-hold-add > span::after { content: ""; position: absolute; top: 50%; left: 50%; border-radius: 2px; background: currentColor; transform: translate(-50%,-50%); }
.ss-app-page .ss-hold-add > span::before { width: var(--ss-plus-size); height: 3px; }
.ss-app-page .ss-hold-add > span::after { width: 3px; height: var(--ss-plus-size); }
.ss-app-page .ss-hold-add svg { position: absolute; z-index: 2; top: 50%; left: 50%; width: 72px; height: 72px; max-width: none; overflow: visible; transform: translate(-50%,-50%) rotate(-90deg); pointer-events: none; }
.ss-app-page .ss-hold-add circle { fill: none; stroke: var(--ss-accent); stroke-width: 7.5; stroke-linecap: butt; stroke-dasharray: 205; stroke-dashoffset: 205; transition: stroke-dashoffset .7s linear; }
.ss-app-page .ss-hold-add.is-holding circle { stroke-dashoffset: 0; }
.ss-app-page .ss-top-actions .ss-add-menu { position: relative; z-index: 3; flex: 0 0 56px; width: 56px; height: 56px; overflow: visible; }
.ss-app-page .ss-top-actions .ss-add-toggle.ss-hold-add { --ss-plus-size: 20px; position: absolute; top: 50%; left: 0; display: grid !important; width: 56px !important; min-width: 56px; height: 56px; min-height: 56px; padding: 0 !important; border-width: 6px; box-shadow: 0 0 0 1px var(--ss-border),0 3px 10px rgba(0,51,79,.12); transform: translateY(-50%); }
.ss-app-page .ss-top-actions .ss-add-toggle.ss-hold-add svg { width: 56px; height: 56px; }
@media (prefers-reduced-motion: reduce) { .ss-app-page .ss-hold-add circle { transition: none; } }

/* Transaction type choices share the balance tile palette; transfer details stay neutral. */
.ss-app-page .ss-expense-category,.ss-app-page .ss-expense-subcategory { position: relative; min-width: 0; }
.ss-app-page .ss-expense-category-select,.ss-app-page .ss-expense-subcategory-select { position: absolute; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
.ss-app-page .ss-expense-category-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ss-app-page .ss-inline-heading-actions { display: inline-flex; align-items: center; gap: 6px; }
.ss-app-page .ss-inline-create-trigger { display: inline-grid; place-items: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--ss-ui-border); border-radius: 8px; background: #fff; color: var(--ss-link); font-size: 22px; line-height: 1; cursor: pointer; }
.ss-app-page .ss-inline-create-trigger:hover { border-color: var(--ss-primary); background: #f0f5f7; }
.ss-app-page .ss-inline-create { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0; padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; }
.ss-app-page .ss-inline-create[hidden] { display: none !important; }
.ss-app-page .ss-inline-create input { flex: 1 1 170px; min-width: 0; }
.ss-app-page .ss-inline-create button { flex: 0 0 auto; }
.ss-app-page .ss-inline-create small { flex-basis: 100%; color: var(--ss-danger); }
.ss-app-page .ss-inline-create small[hidden] { display: none !important; }
.ss-app-page .ss-expense-category-reset { padding: 3px 8px; border: 1px solid var(--ss-ui-border); border-radius: 8px; background: #f7f9fa; color: var(--ss-link); font-size: 13px; font-weight: 400; cursor: pointer; }
.ss-app-page .ss-expense-category-reset:hover { border-color: var(--ss-primary); background: #f0f5f7; color: var(--ss-link-hover); }
.ss-app-page .ss-expense-category-reset[hidden] { display: none !important; }
.ss-app-page .ss-transaction-date-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; min-width: 0; }
.ss-app-page .ss-transaction-date-choices button { width: 100%; min-width: 0; min-height: var(--ss-control-height); padding: 6px 3px; border: 1px solid var(--ss-ui-border); border-radius: 8px; background: #fff; color: var(--ss-ui-ink); font-size: 13px; cursor: pointer; }
.ss-app-page .ss-transaction-date-choices button:hover { border-color: var(--ss-primary); background: #f0f5f7; }
.ss-app-page .ss-transaction-date-choices button[aria-pressed="true"] { border-color: var(--ss-primary); background: #dff5f1; color: var(--ss-primary); font-weight: 650; }
.ss-app-page .ss-transaction-date-choices button:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-transaction-date > input[name="date"] { display: none !important; }
.ss-app-page .ss-expense-amount-error { display: block; margin-top: 5px; color: var(--ss-danger); font-size: 12px; }
.ss-app-page .ss-transaction-amount-control { position: relative; display: block; min-width: 0; }
.ss-app-page .ss-transaction-amount-display { position: absolute; top: 50%; right: 48px; left: 12px; z-index: 1; overflow: hidden; color: var(--ss-text) !important; font: inherit; font-weight: 400; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; transform: translateY(-50%); pointer-events: none; }
.ss-app-page .ss-transaction-amount-control:not(.has-formatted-value) .ss-transaction-amount-display,.ss-app-page .ss-transaction-amount-control:focus-within .ss-transaction-amount-display { display: none; }
.ss-app-page .ss-transaction-amount-control.has-formatted-value:not(:focus-within) input { color: transparent !important; -webkit-text-fill-color: transparent; }
.ss-app-page .ss-expense-amount-error[hidden] { display: none !important; }
.ss-app-page .ss-transaction-form .ss-transaction-amount.ss-expense-amount-invalid input,.ss-app-page .ss-transaction-form .ss-transaction-amount.ss-expense-amount-invalid input:focus { border-color: var(--ss-danger); outline-color: var(--ss-danger); box-shadow: 0 0 0 2px color-mix(in srgb,var(--ss-danger) 16%,transparent); }
.ss-app-page .ss-expense-category-quick { display: grid; gap: 4px; }
.ss-app-page .ss-expense-category-quick[hidden],.ss-app-page .ss-expense-category-summary[hidden],.ss-app-page .ss-expense-subcategory[hidden] { display: none !important; }
.ss-app-page #ss-transaction-form [data-category-field].is-creating > .ss-expense-category-quick,
.ss-app-page #ss-transaction-form [data-category-field].is-creating > .ss-expense-category-summary,
.ss-app-page #ss-transaction-form [data-category-field].is-creating > .ss-expense-category-all,
.ss-app-page #ss-transaction-form [data-category-field].is-creating + .ss-expense-subcategory { display: none !important; }
.ss-app-page .ss-expense-category-summary { min-width: 0; overflow: hidden; padding: 8px 10px; border: 1px solid #b9cbd4; border-radius: 8px; background: #f4f8fb; color: var(--ss-text); font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.ss-app-page #ss-transaction-form .ss-expense-category-summary { display: flex; align-items: center; gap: 5px; width: fit-content; max-width: 100%; overflow: visible; padding: 0; border: 0; background: transparent; }
.ss-app-page #ss-transaction-form .ss-expense-category-selected-chip { display: inline-block; min-width: 0; overflow: hidden; padding: 5px 8px; border: 1px solid var(--ss-link); border-radius: 8px; background: #dff5f1; color: var(--ss-text); text-overflow: ellipsis; }
.ss-app-page #ss-transaction-form button.ss-expense-category-selected-chip { font: inherit; cursor: pointer; }
.ss-app-page #ss-transaction-form button.ss-expense-category-selected-chip:hover { border-color: var(--ss-primary); background: #cfede7; }
.ss-app-page #ss-transaction-form .ss-transaction-tag .ss-expense-category-summary { flex-wrap: wrap; }
.ss-app-page #ss-transaction-form .ss-transaction-tag .ss-expense-category-summary:not([hidden]) { margin-bottom: 6px; }
.ss-app-page .ss-transaction-row .ss-row-tags { display: block; color: var(--ss-text-muted); font-size: 12px; line-height: 1.35; }
.ss-app-page #ss-transaction-form .ss-expense-category-selected-arrow { flex: none; color: var(--ss-link); font-size: 20px; line-height: 1; }
.ss-app-page .ss-expense-category-row { display: flex; align-items: center; flex-wrap: nowrap; min-width: 0; gap: 4px; }
.ss-app-page .ss-expense-category-row.is-fitted > [data-expense-category] { flex-grow: 1; justify-content: center; }
.ss-app-page .ss-expense-category-row-last .ss-expense-category-more { margin-left: auto; }
.ss-app-page .ss-expense-category-choice,.ss-app-page .ss-expense-subcategory-choices button { display: inline-flex; align-items: center; flex: 0 0 auto; max-width: 100%; min-width: 0; overflow: hidden; padding: 5px 8px; border: 1px solid #b9cbd4; border-radius: 8px; background: #fff; color: var(--ss-text); font-size: 14px; font-weight: 650; line-height: 1.25; text-align: left; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; transition: background .2s ease,border-color .2s ease; }
.ss-app-page .ss-expense-category-choice:hover,.ss-app-page .ss-expense-subcategory-choices button:hover { border-color: var(--ss-primary); background: #f0f5f7; }
.ss-app-page .ss-expense-category-choice[aria-pressed="true"],.ss-app-page .ss-expense-subcategory-choices button[aria-pressed="true"] { border-color: var(--ss-link); background: #dff5f1; color: var(--ss-text); }
.ss-app-page .ss-expense-category-more { padding-inline: 3px; border: 0; background: transparent; color: var(--ss-link); font-size: 13px; }
.ss-app-page .ss-expense-category-more span { color: inherit; }
.ss-app-page .ss-expense-category-more:hover,.ss-app-page .ss-expense-category-more[aria-pressed="true"] { border: 0; background: transparent; color: var(--ss-link-hover); }
.ss-app-page .ss-expense-category-arrow { margin-left: 4px; font-size: 20px; line-height: 1; }
.ss-app-page .ss-expense-category-choice:focus-visible,.ss-app-page .ss-expense-subcategory-choices button:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-expense-category-quick .ss-expense-category-choice[hidden] { display: none !important; }
.ss-app-page .ss-expense-category-all { margin-top: 8px; padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; animation: ss-category-choices-in .18s ease-out; }
.ss-app-page .ss-expense-category-all[hidden],.ss-app-page .ss-expense-category-list button[hidden],.ss-app-page .ss-expense-category-error[hidden] { display: none !important; }
.ss-app-page .ss-expense-category-list { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 4px; max-height: 215px; overflow-y: auto; }
@media (max-width: 599px) { .ss-app-page .ss-expense-category-list { max-height: none; overflow: visible; } }
.ss-app-page .ss-expense-category-error { display: block; margin-top: 6px; font-size: 12px; }
.ss-app-page .ss-expense-category-error { color: var(--ss-danger); }
.ss-app-page .ss-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.ss-app-page .ss-expense-subcategory-choices { display: flex; flex-wrap: wrap; gap: 4px; padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; animation: ss-category-choices-in .18s ease-out; }
.ss-app-page .ss-expense-subcategory-choices button:disabled { opacity: .55; cursor: not-allowed; }
.ss-app-page .ss-expense-category-invalid .ss-expense-category-quick,.ss-app-page .ss-expense-category.ss-needs-review .ss-expense-category-quick { padding: 4px; border: 1px solid var(--ss-danger); border-radius: var(--ss-radius-md); }
@keyframes ss-category-choices-in { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .ss-app-page .ss-expense-category-all,.ss-app-page .ss-expense-subcategory-choices { animation: none; } }
.ss-app-page .ss-expense-account { position: relative; min-width: 0; }
.ss-app-page .ss-expense-account-select { position: absolute; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
.ss-app-page .ss-expense-account-grid,.ss-app-page .ss-expense-account-others { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.ss-app-page .ss-expense-account-others { margin-top: 8px; padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; }
.ss-app-page .ss-expense-account-others[hidden],.ss-app-page .ss-expense-account-error[hidden],.ss-app-page .ss-expense-account-more-mobile-only,.ss-app-page .ss-expense-account-others [data-expense-account-rank="4"],.ss-app-page .ss-expense-account-others [data-expense-account-rank="5"] { display: none !important; }
.ss-app-page .ss-expense-account-tile { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 58px; padding: 8px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #fff; color: var(--ss-ui-ink); text-align: left; cursor: pointer; transition: border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.ss-app-page .ss-expense-account-tile:hover { border-color: var(--ss-primary); background: #f1faf9; }
.ss-app-page .ss-expense-account-tile[aria-pressed="true"] { border-color: var(--ss-primary); background: #e9f8f5; box-shadow: inset 0 0 0 1px var(--ss-primary); }
.ss-app-page .ss-expense-account-tile:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-expense-account-tile-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 9px; background: #edf4f7; color: var(--ss-primary); }
.ss-app-page .ss-expense-account-tile-icon .ss-account-type-icon { width: 32px; height: 32px; }
.ss-app-page .ss-expense-account-tile-copy { display: grid; gap: 2px; min-width: 0; }
.ss-app-page .ss-expense-account-tile-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ss-ui-ink); font-size: 13px; font-weight: 600; }
.ss-app-page .ss-expense-account-tile-balance { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ss-ui-secondary); font-size: 12px; line-height: 1.25; }
.ss-app-page .ss-expense-account-tile-balance[hidden] { display: none !important; }
.ss-app-page .ss-expense-account-invalid .ss-expense-account-grid { padding: 4px; border: 1px solid var(--ss-danger); border-radius: var(--ss-radius-md); }
.ss-app-page .ss-expense-account-error { display: block; margin-top: 5px; color: var(--ss-danger); font-size: 12px; }
@media (max-width: 599px) { .ss-app-page .ss-expense-account-grid,.ss-app-page .ss-expense-account-others { grid-template-columns: repeat(2,minmax(0,1fr)); } .ss-app-page .ss-expense-account-tile { flex-direction: row; justify-content: flex-start; gap: 6px; min-height: 58px; padding: 6px; text-align: left; } .ss-app-page .ss-expense-account-tile-icon { width: 30px; height: 30px; } .ss-app-page .ss-expense-account-tile-icon .ss-account-type-icon { width: 27px; height: 27px; } .ss-app-page .ss-expense-account-tile-copy { flex: 1; min-width: 0; } .ss-app-page .ss-expense-account-tile-name { font-size: 12px; } .ss-app-page .ss-expense-account-tile-balance { font-size: 11px; } .ss-app-page .ss-expense-account-grid [data-expense-account-rank="4"],.ss-app-page .ss-expense-account-grid [data-expense-account-rank="5"] { display: none !important; } .ss-app-page .ss-expense-account-more-mobile-only,.ss-app-page .ss-expense-account-others [data-expense-account-rank="4"],.ss-app-page .ss-expense-account-others [data-expense-account-rank="5"] { display: flex !important; } }
.ss-app-page .ss-expense-account.ss-needs-review .ss-expense-account-tile { border-color: var(--ss-danger); }
/* The account form uses the same tap-first choice pattern as the operation form. */
.ss-app-page #ss-account-form .ss-account-choice { position: relative; min-width: 0; }
.ss-app-page #ss-account-form .ss-account-choice-select { position: absolute; width: 1px !important; height: 1px !important; padding: 0 !important; margin: 0 !important; overflow: hidden; clip-path: inset(50%); border: 0 !important; }
.ss-app-page #ss-account-form .ss-account-choice-quick { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.ss-app-page #ss-account-form .ss-account-choice-tags .ss-account-choice-quick { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px; }
.ss-app-page #ss-account-form .ss-account-choice-tags.is-complete .ss-account-choice-button[aria-pressed="false"] { display: none; }
.ss-app-page #ss-account-form .ss-account-choice-currency .ss-account-choice-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 42px; padding: 7px 8px; border: 1px solid #b9cbd4; border-radius: 9px; background: #fff; color: var(--ss-text); font-size: 14px; font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer; transition: border-color .2s ease,background .2s ease; }
.ss-app-page #ss-account-form .ss-account-choice-currency .ss-account-choice-button:hover { border-color: var(--ss-primary); background: #f0f5f7; }
.ss-app-page #ss-account-form .ss-account-choice-currency .ss-account-choice-button[aria-pressed="true"] { border-color: var(--ss-primary); background: #dff5f1; box-shadow: inset 0 0 0 1px var(--ss-primary); }
.ss-app-page #ss-account-form .ss-account-choice-button:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page #ss-account-form .ss-account-choice-error[hidden],.ss-app-page :is(#ss-account-form,#ss-category-form) .ss-account-field-error[hidden] { display: none !important; }
.ss-app-page #ss-account-form .ss-account-choice-invalid .ss-account-choice-quick { padding: 4px; border: 1px solid var(--ss-danger); border-radius: 10px; }
.ss-app-page #ss-account-form .ss-account-choice-error,.ss-app-page :is(#ss-account-form,#ss-category-form) .ss-account-field-error { display: block; margin-top: 4px; color: var(--ss-danger); font-size: 12px; }
.ss-app-page :is(#ss-account-form,#ss-category-form) .ss-account-input-invalid input { border-color: var(--ss-danger); box-shadow: 0 0 0 2px color-mix(in srgb,var(--ss-danger) 16%,transparent); }
.ss-app-page #ss-account-form .ss-account-basic { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; min-width: 0; }
.ss-app-page #ss-account-form .ss-account-basic:has(.ss-account-balance[hidden]) .ss-account-institution { grid-column: 1/-1; }
.ss-app-page #ss-account-form .ss-account-balance[hidden] { display: none !important; }
.ss-app-page #ss-account-form .ss-account-other-type,
.ss-app-page #ss-transaction-form .ss-expense-detail,
.ss-app-page #ss-transaction-form .ss-income-detail { padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; }
.ss-app-page #ss-account-form .ss-account-other-type[hidden] { display: none !important; }
.ss-app-page #ss-account-form .ss-account-display > .ss-icon-picker { margin-top: 6px; padding: 10px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #f4f8fb; }
.ss-app-page #ss-account-form .ss-icon-mode label { min-height: 40px; padding: 5px 8px; border: 1px solid var(--ss-ui-border); border-radius: 8px; background: #fff; cursor: pointer; }
.ss-app-page #ss-account-form .ss-icon-mode label:has(input:checked) { border-color: var(--ss-primary); background: #dff5f1; }
.ss-app-page #ss-account-form .ss-account-ordinary { gap: 8px; }
.ss-app-page #ss-account-form .ss-account-ordinary > .ss-account-choice { grid-column: 1/-1; }
.ss-app-page #ss-account-form .ss-account-ordinary > .ss-toggle-field { justify-self: start; padding: 0; border: 0; background: transparent; cursor: pointer; }
.ss-app-page #ss-account-form .ss-account-ordinary > .ss-toggle-field input { accent-color: var(--ss-primary); }
@media (max-width: 599px) { .ss-app-page #ss-account-form .ss-account-choice-currency .ss-account-choice-quick { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 359px) { .ss-app-page #ss-account-form .ss-account-basic { grid-template-columns: minmax(0,1fr); } }
.ss-app-page .ss-transaction-type-controls[hidden],.ss-app-page .ss-transaction-type-select[hidden] { display: none !important; }
.ss-app-page .ss-transaction-type-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.ss-app-page .ss-transaction-type-choice { --ss-type-tone: #8e98a8; --ss-type-fill: #f4f8fb; display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; min-height: 68px; padding: 10px 7px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: var(--ss-type-fill); color: var(--ss-ui-ink); cursor: pointer; font-weight: 650; transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.ss-app-page .ss-transaction-type-choice.is-expense { --ss-type-tone: #ff7a7a; --ss-type-fill: #fdecec; }
.ss-app-page .ss-transaction-type-choice.is-income { --ss-type-tone: #4ed59a; --ss-type-fill: #eaf9f1; }
.ss-app-page #ss-category-form .ss-category-type-field { position: relative; min-width: 0; }
.ss-app-page #ss-category-form .ss-category-type-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ss-app-page .ss-transaction-type-choice.is-transfer { --ss-type-tone: #53aeff; --ss-type-fill: #eaf5ff; }
.ss-app-page .ss-transaction-type-choice:hover { border-color: var(--ss-type-tone); transform: translateY(-1px); }
.ss-app-page .ss-transaction-type-choice[aria-pressed="true"] { border-color: var(--ss-type-tone); box-shadow: inset 0 0 0 2px var(--ss-type-tone); }
.ss-app-page .ss-transaction-type-choice:focus-visible,.ss-app-page .ss-transaction-transfer-picker button:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-transaction-type-icon { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--ss-type-tone); color: #fff; }
.ss-app-page .ss-transaction-type-icon svg { width: 23px; height: 23px; }
.ss-app-page .ss-transaction-transfer-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; max-height: 0; margin-top: 0; overflow: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: max-height .28s ease,margin-top .28s ease,opacity .22s ease,transform .28s ease; }
.ss-app-page .ss-transaction-transfer-picker.is-open { max-height: 84px; margin-top: 10px; opacity: 1; transform: translateY(0); pointer-events: auto; }
.ss-app-page .ss-transaction-transfer-picker button { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 44px; padding: 8px 6px; border: 1px solid #53aeff; border-radius: var(--ss-radius-md); background: #fff; color: #0b6796; cursor: pointer; font-size: 13px; line-height: 1.2; font-weight: 400; transition: border-color .2s ease,background .2s ease; }
.ss-app-page .ss-transaction-transfer-arrow { flex: none; width: 16px; height: 16px; }
.ss-app-page .ss-transaction-transfer-picker button:hover { background: #eaf5ff; }
.ss-app-page .ss-transaction-transfer-picker button[aria-pressed="true"] { border-color: #2589c4; background: #eaf5ff; box-shadow: inset 0 0 0 1px #2589c4; }
.ss-app-page .ss-structure-filters { display: flex; align-items: center; gap: 14px; margin: 4px 0 14px; }
.ss-app-page .ss-structure-divider { flex: none; width: 1px; height: 28px; background: var(--ss-border); }
.ss-app-page .ss-analytics-flow,.ss-app-page .ss-analytics-breakdown { display: flex; gap: 6px; margin: 0; }
.ss-app-page .ss-analytics-flow { flex: 0 1 235px; }
.ss-app-page .ss-analytics-breakdown { flex: 0 1 380px; }
.ss-app-page .ss-analytics-flow button,.ss-app-page .ss-analytics-breakdown button { flex: 1 1 0; min-width: 0; min-height: 40px; padding: 8px 12px; border: 1px solid var(--ss-border); border-radius: var(--ss-radius-md); background: var(--ss-bg); color: var(--ss-text); cursor: pointer; }
.ss-app-page .ss-analytics-flow button[aria-pressed="true"],.ss-app-page .ss-analytics-breakdown button[aria-pressed="true"] { border-color: var(--ss-link); background: #e4f5f2; color: var(--ss-primary); font-weight: 650; }
.ss-app-page .ss-analytics-flow button:focus-visible,.ss-app-page .ss-analytics-breakdown button:focus-visible { outline: 2px solid var(--ss-link); outline-offset: 2px; }
.ss-app-page .ss-tag-analytics-chart { display: grid; gap: 2px; }
.ss-app-page .ss-tag-analytics-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 12px; padding: 11px 0; border-bottom: 1px solid var(--ss-border); text-decoration: none; }
.ss-app-page .ss-tag-analytics-name { min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.ss-app-page .ss-tag-analytics-name small { display: block; margin-top: 2px; color: var(--ss-text-muted); font-size: 12px; font-weight: 400; }
.ss-app-page .ss-tag-analytics-row strong { color: var(--ss-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ss-app-page .ss-tag-analytics-track { grid-column: 1 / -1; height: 8px; overflow: hidden; border-radius: 999px; background: var(--ss-bg-soft); }
.ss-app-page .ss-tag-analytics-track > span { display: block; height: 100%; border-radius: inherit; }
.ss-app-page .ss-analytics-panel-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.ss-app-page .ss-analytics-panel-head h3 { margin: 0; }
.ss-app-page .ss-currency-heading { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 4px 9px; min-width: 0; }
.ss-app-page .ss-currency-period { color: var(--ss-text-muted); font-size: 13px; font-weight: 400; white-space: nowrap; }
.ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) { display: flex; align-items: flex-end; gap: 12px; border-bottom: 1px solid var(--ss-border); }
.ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) > .ss-section-tabs { flex: 1 1 auto; min-width: 0; margin: 0; border-bottom: 0; }
.ss-app-page .ss-trend-views,.ss-app-page .ss-structure-views { display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; background: #eaf1f0; }
.ss-app-page .ss-trend-views button,.ss-app-page .ss-structure-views button { min-height: 40px; padding: 7px 13px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--ss-text); cursor: pointer; }
.ss-app-page .ss-trend-views button:hover,.ss-app-page .ss-trend-views button:focus-visible,.ss-app-page .ss-structure-views button:hover,.ss-app-page .ss-structure-views button:focus-visible { border-color: var(--ss-link); background: #dff5f1; }
.ss-app-page .ss-trend-views button[aria-pressed="true"],.ss-app-page .ss-structure-views button[aria-pressed="true"] { border-color: #83d7c9; background: #fff; color: var(--ss-primary); font-weight: 700; box-shadow: 0 1px 5px rgba(0,51,79,.09); }
.ss-app-page .ss-trend-scroll,.ss-app-page .ss-trend-table-wrap { max-width: 100%; overflow-x: auto; }
.ss-app-page .ss-trend-canvas { position: relative; width: 100%; height: 340px; margin-top: 12px; }
.ss-app-page .ss-trend-canvas canvas,.ss-app-page .ss-donut-canvas canvas,.ss-app-page .ss-tags-canvas canvas { display: block; }
.ss-app-page .ss-donut-canvas,.ss-app-page .ss-tags-canvas { position: relative; min-width: 0; }
.ss-app-page .ss-donut-canvas { width: min(100%,240px); height: 220px; margin: auto; }
.ss-app-page .ss-donut-center,.ss-app-page .ss-home-chart-center { position: absolute; top: 50%; left: 50%; width: 57%; transform: translate(-50%,-50%); display: grid; gap: 2px; text-align: center; pointer-events: none; }
.ss-app-page .ss-donut-center strong,.ss-app-page .ss-home-chart-center strong { overflow-wrap: anywhere; font-size: clamp(12px,1.6vw,17px); line-height: 1.15; font-variant-numeric: tabular-nums; }
.ss-app-page .ss-donut-center span,.ss-app-page .ss-home-chart-center small { color: var(--ss-text-muted); font-size: 11px; }
.ss-app-page .ss-home-chart-canvas { position: relative; width: min(220px,100%); height: 220px; margin: 10px auto 18px; }
.ss-app-page .ss-home-chart-canvas canvas { display: block; }
.ss-app-page .ss-trend-data { margin-top: 14px; }
.ss-app-page .ss-trend-data summary { width: fit-content; color: var(--ss-primary); cursor: pointer; }
.ss-app-page .ss-trend-table-wrap { margin-top: 8px; }
.ss-app-page .ss-trend-data table { width: 100%; min-width: 540px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.ss-app-page .ss-trend-data th,.ss-app-page .ss-trend-data td { padding: 8px 10px; border-bottom: 1px solid var(--ss-border); text-align: right; white-space: nowrap; }
.ss-app-page .ss-trend-data th:first-child { text-align: left; }
.ss-app-page .ss-tags-canvas { margin: 8px 0 14px; }
@media (max-width:700px) {
  .ss-app-page .ss-structure-filters { align-items: stretch; flex-direction: column; gap: 8px; }
  .ss-app-page .ss-structure-divider { display: none; }
  .ss-app-page .ss-analytics-flow,.ss-app-page .ss-analytics-breakdown { flex: auto; width: 100%; }
  .ss-app-page .ss-trend-views,.ss-app-page .ss-structure-views { width: 100%; }
  .ss-app-page .ss-trend-views button,.ss-app-page .ss-structure-views button { flex: 1; padding: 7px 5px; }
  .ss-app-page .ss-trend-canvas { min-width: var(--ss-trend-min-width,100%); height: 280px; }
}
@media (max-width:768px) {
  .ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) { display: grid; gap: 8px; }
}
.ss-app-page .ss-analytics-other:hover { background: transparent; }
@media (max-width: 768px) {
  .ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) > .ss-section-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; overflow: visible; }
  .ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) > .ss-section-tabs button { min-width: 0; padding-inline: 3px; text-align: center; }
  .ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) > .ss-section-select { display: none; }
}
@media (max-width: 430px) {
  .ss-app-page :is(.ss-analytics-navigation,.ss-planning-navigation) > .ss-section-tabs button { font-size: 13px; }
}
@media (max-width: 599px) {
  .ss-app-page .ss-record-page .ss-icon-tabs button { flex-direction: row; min-height: 44px; gap: 2px; }
  .ss-app-page .ss-record-page .ss-icon-tabs .ss-tab-label { font-size: clamp(11px,3vw,13px); }
}
.ss-app-page .ss-transaction-transfer-error { display: block; margin-top: 6px; color: var(--ss-danger); font-size: 12px; }
.ss-app-page .ss-transaction-transfer-error[hidden] { display: none !important; }
.ss-app-page .ss-merchant-field { position: relative; min-width: 0; }
.ss-app-page .ss-merchant-entry { position: relative; }
.ss-app-page .ss-merchant-entry.is-direct { padding: 0; border: 0; background: transparent; }
.ss-app-page .ss-merchant-all .ss-merchant-search { width: 100%; margin-bottom: 8px; }
.ss-app-page .ss-merchant-quick .ss-merchant-popular { display: flex; flex-wrap: nowrap; }
.ss-app-page .ss-merchant-all .ss-merchant-total { display: block; margin-bottom: 8px; }
.ss-app-page .ss-merchant-all .ss-merchant-all-list { max-height: none; overflow: visible; }
.ss-app-page .ss-merchant-all .ss-merchant-load-more { margin-top: 8px; }
.ss-app-page .ss-modal.ss-modal-form #ss-modal-body > #ss-transaction-form[hidden] { display: none !important; }
.ss-app-page .ss-transaction-comment,.ss-app-page .ss-account-display { min-width: 0; }
.ss-app-page .ss-account-display h3 { margin: 0 0 8px; color: var(--ss-text); font-size: 14px; line-height: 1.35; }
.ss-app-page .ss-transaction-comment textarea { width: 100%; min-height: 76px; resize: vertical; }
.ss-app-page .ss-voice-tag-suggestions { display: grid; gap: 10px; margin-top: 9px; padding: 4px; color: var(--ss-ui-ink); }
.ss-app-page .ss-transaction-tag.is-creating .ss-voice-tag-suggestions { display: none; }
.ss-app-page .ss-voice-tag-suggestion { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; padding: 10px 12px; border: 1px solid var(--ss-danger); border-radius: 4px; outline: 1px solid var(--ss-danger); outline-offset: 3px; background: #fff; }
.ss-app-page .ss-voice-tag-create { min-height: 34px; padding: 5px 11px; border: 2px solid var(--ss-primary); border-radius: var(--ss-radius-md); background: #fff; color: var(--ss-primary); font: inherit; font-weight: 700; cursor: pointer; }
.ss-app-page .ss-voice-tag-create:hover,.ss-app-page .ss-voice-tag-create:focus-visible { background: #eaf4f7; border-color: var(--ss-primary); color: var(--ss-primary); box-shadow: 0 0 0 2px rgba(0,51,79,.13); }
.ss-app-page .ss-voice-tag-create:focus-visible { outline: 2px solid var(--ss-primary); outline-offset: 2px; }
.ss-app-page .ss-voice-tag-suggestions small { display: block; color: var(--ss-danger); font-size: 12px; }
.ss-app-page .ss-merchant-suggestions { position: absolute; top: calc(100% + 4px); left: 0; z-index: 5; width: 100%; max-height: 220px; overflow-y: auto; padding: 5px; border: 1px solid var(--ss-ui-border); border-radius: var(--ss-radius-md); background: #fff; box-shadow: 0 12px 24px rgba(4, 39, 61, .16); }
.ss-app-page .ss-merchant-suggestions[hidden] { display: none; }
.ss-app-page .ss-merchant-suggestion { display: block; width: 100%; padding: 9px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--ss-ui-ink); text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.ss-app-page .ss-merchant-suggestion:hover,.ss-app-page .ss-merchant-suggestion[aria-selected="true"] { background: #eaf5ff; color: #0b6796; }
@media (max-width: 599px) { .ss-app-page .ss-transaction-type-picker { gap: 5px; } .ss-app-page .ss-transaction-type-choice { flex-direction: row; gap: 4px; min-height: 50px; padding: 6px 4px; font-size: 11px; } .ss-app-page .ss-transaction-type-icon { width: 26px; height: 26px; } .ss-app-page .ss-transaction-type-icon svg { width: 17px; height: 17px; } .ss-app-page .ss-transaction-transfer-picker { gap: 5px; } .ss-app-page .ss-transaction-transfer-picker button { font-size: 11px; padding-inline: 3px; } }
@media (prefers-reduced-motion: reduce) { .ss-app-page .ss-transaction-type-choice,.ss-app-page .ss-transaction-transfer-picker,.ss-app-page .ss-transaction-transfer-picker button { transition: none; } }
.ss-app-page .ss-tx-filter-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; align-items: end; }
.ss-app-page .ss-tx-filter-form > .ss-field { min-width: 0; }
.ss-app-page .ss-tx-filter-period-row { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.ss-app-page .ss-tx-filter-period { width: min(230px,100%); min-width: 0; }
.ss-app-page .ss-tx-filter-custom { display: flex; gap: 12px; min-width: 0; }
.ss-app-page .ss-tx-filter-custom[hidden] { display: none; }
.ss-app-page .ss-tx-filter-custom .ss-field { min-width: 150px; }
.ss-app-page .ss-tx-filter-actions { display: flex; justify-content: flex-end; gap: 10px; margin-left: auto; }
.ss-app-page .ss-transaction-tag-filter { grid-column: 1 / -1; }
@media (max-width: 1000px) { .ss-app-page .ss-tx-filter-form { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 599px) { .ss-app-page .ss-tx-filter-form { grid-template-columns: 1fr; } .ss-app-page .ss-tx-filter-period-row,.ss-app-page .ss-tx-filter-custom { width: 100%; } .ss-app-page .ss-tx-filter-period { width: 100%; } .ss-app-page .ss-tx-filter-custom .ss-field { flex: 1 1 0; min-width: 0; } .ss-app-page .ss-tx-filter-actions { width: 100%; margin-left: 0; } }
.ss-app-page .ss-voice-inline-hint{display:block;margin-top:6px;color:var(--ss-danger);font-size:12px}
.ss-app-page .ss-voice-inline-hint[hidden]{display:none!important}
.ss-app-page .ss-voice-needs-input .ss-transaction-date-choices,.ss-app-page .ss-voice-needs-input .ss-expense-account-grid,.ss-app-page .ss-voice-needs-input .ss-expense-category-quick{outline:1px solid var(--ss-danger);outline-offset:3px;border-radius:4px}
.ss-app-page .ss-voice-discard-overlay{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:16px;background:rgba(7,22,17,.58)}
.ss-app-page .ss-voice-discard{width:min(460px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;background:var(--ss-bg,#fff);color:var(--ss-text);border-radius:var(--ss-radius-lg,12px);box-shadow:0 16px 48px rgba(0,0,0,.2)}
.ss-app-page .ss-voice-discard h2{margin:0 0 12px;font-size:20px;line-height:1.25}
.ss-app-page .ss-voice-discard p{margin:0 0 22px}
.ss-app-page .ss-voice-discard .ss-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0}
@media(max-width:480px){.ss-app-page .ss-voice-discard{padding:20px}.ss-app-page .ss-voice-discard .ss-form-actions button{flex:1 1 100%}}
.ss-app-page .ss-voice-review-notice{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 14px;border:1px solid #b9dfd0;border-left:4px solid var(--ss-ui-teal,#078c79);border-radius:4px;background:#f0faf6;color:#174c3b;box-shadow:0 8px 20px rgba(5,43,73,.08);font-weight:600}
.ss-app-page #ss-modal-title.ss-voice-operation-title{display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:5px}
.ss-app-page .ss-voice-type-badge{--ss-voice-type-tone:#ff7a7a;display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:3px 9px 3px 4px;border:1px solid var(--ss-voice-type-tone);border-radius:4px;background:#fdecec;color:#922d2d;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.ss-app-page .ss-voice-type-badge.is-income{--ss-voice-type-tone:#4ed59a;background:#eaf9f1;color:#116d4e}
.ss-app-page .ss-voice-type-badge-icon{display:grid;place-items:center;flex:none;width:22px;height:22px;border-radius:50%;background:var(--ss-voice-type-tone);color:#fff}
.ss-app-page .ss-voice-type-badge-icon svg{width:15px;height:15px}
.ss-app-page .ss-voice-type-choice{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ss-app-page .ss-voice-type-choice button{flex:1 1 110px}
.ss-app-page .ss-voice-review-check{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:#d9f1e7;color:#087a67;font-size:17px;font-weight:700}
.ss-app-page .ss-voice-result.ss-voice-result-alert{padding:0;background:transparent;border:0;border-radius:0}
.ss-app-page .ss-voice-status-note{display:grid;gap:3px;padding:13px 15px;border:1px solid #cbd8e0;border-left:4px solid #59768b;border-radius:4px;background:#f5f8fa;color:var(--ss-text);box-shadow:0 8px 20px rgba(5,43,73,.08);font-size:14px}
.ss-app-page .ss-voice-status-note.is-error{border-color:#ecc1bd;border-left-color:var(--ss-danger,#c63d36);background:#fff3f2;color:#8d2823}
.ss-app-page .ss-voice-status-note strong{font-size:15px}
.ss-app-page .ss-voice-result-alert [data-voice-manual]{margin-top:12px}
@media (max-width: 599px) {
  .ss-app-page .ss-sidebar .ss-install-app { display: none; }
  .ss-app-page .ss-sidebar .ss-android-app-link { background: var(--ss-menu-active-bg); color: var(--ss-menu-active-text); font-weight: 700; }
  .ss-app-page .ss-sidebar .ss-android-app-link:hover,
  .ss-app-page .ss-sidebar .ss-android-app-link:focus-visible { background: var(--ss-menu-active-bg); color: var(--ss-menu-active-text); }
}
.ss-app-page .ss-automation-settings{display:grid;gap:12px;border-radius:4px;background:#fff}
.ss-app-page .ss-automation-settings h3,.ss-app-page .ss-automation-settings p{margin:0}
.ss-app-page .ss-automation-settings .ss-setting{align-items:center;gap:16px;padding:9px 0}
.ss-app-page .ss-notification-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.ss-app-page .ss-notification-modes legend{grid-column:1/-1;margin-bottom:10px;font-weight:650}
.ss-app-page .ss-notification-modes .ss-settings-choice{display:flex;align-items:flex-start;gap:9px;min-width:0;border:1px solid var(--ss-line);border-radius:var(--ss-radius,12px);padding:12px;background:#fff;cursor:pointer}
.ss-app-page .ss-notification-modes .ss-settings-choice:has(input:checked){border-color:var(--ss-primary);background:var(--ss-menu-active-bg);color:var(--ss-menu-active-text,#fff)}
.ss-app-page .ss-notification-modes .ss-settings-choice span{display:grid;gap:4px;min-width:0}
.ss-app-page .ss-notification-modes .ss-settings-choice small{line-height:1.35;color:var(--ss-muted)}
.ss-app-page .ss-notification-modes .ss-settings-choice:has(input:checked) small{color:var(--ss-menu-active-text,#fff);opacity:.88}
.ss-app-page .ss-notification-more{border-top:1px solid var(--ss-line);padding-top:12px}
.ss-app-page .ss-notification-more summary{width:max-content;cursor:pointer;color:var(--ss-primary);font-weight:650}
.ss-app-page .ss-notification-more-content{display:grid;gap:12px;margin-top:14px}
.ss-app-page .ss-notification-modes input:focus-visible,.ss-app-page .ss-notification-more summary:focus-visible{outline:2px solid var(--ss-primary);outline-offset:3px}
@media(max-width:680px){.ss-app-page .ss-notification-modes{grid-template-columns:1fr}}
.ss-app-page .ss-settings-time-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:560px){.ss-app-page .ss-settings-time-range{grid-template-columns:1fr}}
@media(min-width:600px){
  .ss-app-page #saldoscan-app[data-section="home"] #ss-content > .ss-grid > :is(.ss-balance-widget,.ss-home-accounts,.ss-home-operations,.ss-home-analytics,.ss-home-budget,.ss-home-goals):not([data-home-paired]){grid-column:1/-1}
}
.ss-app-page .ss-plan-subviews{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.ss-app-page .ss-plan-subviews button{min-width:0;min-height:var(--ss-control-height)}
.ss-app-page .ss-plan-subviews button.is-active{border-color:var(--ss-primary);background:var(--ss-bg-soft);color:var(--ss-primary)}
.ss-app-page .ss-plan-extra{margin:0 0 18px;padding:11px 14px;border:1px solid var(--ss-border);border-radius:var(--ss-radius-md);background:var(--ss-bg)}
.ss-app-page .ss-plan-extra summary{cursor:pointer;font-weight:700}
.ss-app-page .ss-plan-extra .ss-plan-subviews{margin-bottom:0}
.ss-app-page .ss-plan-summary{grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;gap:16px;min-width:0}
.ss-app-page .ss-plan-summary > *{min-width:0}
.ss-app-page .ss-plan-summary strong,.ss-app-page .ss-plan-summary .ss-plan-numbers{overflow-wrap:anywhere}
.ss-app-page .ss-plan-summary small,.ss-app-page .ss-plan-summary .ss-plan-progress{font-size:14px;line-height:1.45}
.ss-app-page .ss-plan-numbers,.ss-app-page .ss-plan-progress{display:grid;gap:6px}
.ss-app-page .ss-plan-summary .ss-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:4px}
.ss-app-page .ss-plan-summary .ss-actions button{min-height:var(--ss-control-height)}
.ss-app-page .ss-plan-progress progress{display:block;width:100%;accent-color:var(--ss-primary)}
.ss-app-page .ss-plan-summary .ss-badge{width:max-content;max-width:100%;white-space:normal;font-size:13px}
.ss-app-page .ss-plan-summary .ss-plan-risk{background:var(--ss-danger-bg,#fff0ec);color:var(--ss-danger,#a32922)}
.ss-app-page .ss-plan-note{margin:16px 0 0;font-size:14px;line-height:1.5}
@media(max-width:900px){.ss-app-page .ss-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ss-app-page .ss-plan-summary{grid-template-columns:minmax(0,1fr);gap:12px}.ss-app-page .ss-plan-summary .ss-actions{border-top:1px solid var(--ss-border);padding-top:8px}}
@media(max-width:430px){.ss-app-page .ss-plan-subviews button{flex:1 1 auto;font-size:14px}}
.ss-app-page .ss-payment-toolbar{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:0 0 8px}
.ss-app-page .ss-payment-toolbar .ss-actions,.ss-app-page .ss-fi-candidate,.ss-app-page .ss-template-list .ss-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.ss-app-page .ss-payment-toolbar .ss-field{min-width:170px;margin:0}
.ss-app-page .ss-fi-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start}
.ss-app-page .ss-fi-card>div:first-child{display:grid;gap:4px;min-width:0}
.ss-app-page .ss-fi-card strong,.ss-app-page .ss-fi-card small{overflow-wrap:anywhere}
.ss-app-page .ss-fi-card .ss-badge{grid-column:1/-1;width:max-content;max-width:100%;white-space:normal}
.ss-app-page .ss-fi-card .ss-actions,.ss-app-page .ss-fi-card .ss-fi-actions{grid-column:1/-1}
.ss-app-page .ss-fi-candidate{padding:8px 0;border-top:1px solid var(--ss-border)}
.ss-app-page .ss-autofill-form{margin-top:12px}
@media(max-width:560px){.ss-app-page .ss-payment-toolbar,.ss-app-page .ss-payment-toolbar .ss-actions{align-items:stretch;width:100%}.ss-app-page .ss-payment-toolbar .ss-actions>*{flex:1 1 100%}.ss-app-page .ss-expense-account-tile-balance{font-size:12px}}
.ss-app-page .ss-data-export{padding:clamp(18px,3vw,30px);border:1px solid var(--ss-border);border-radius:var(--ss-radius-lg);background:var(--ss-bg);box-shadow:var(--ss-shadow);margin-bottom:18px;min-width:0}
.ss-app-page .ss-data-export h2{margin:0 0 8px}.ss-app-page .ss-data-export>p{margin:0 0 20px;max-width:72ch}
.ss-app-page .ss-data-export-form{display:grid;gap:18px;max-width:980px}.ss-app-page .ss-data-export-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ss-app-page .ss-data-export fieldset{border:1px solid var(--ss-border);border-radius:var(--ss-radius-md);padding:12px 15px;min-width:0}.ss-app-page .ss-data-export legend{padding:0 6px;font-weight:700}
.ss-app-page .ss-data-export-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 15px}.ss-app-page .ss-data-export-choices label,.ss-app-page .ss-data-export-archive{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;min-width:0}.ss-app-page .ss-data-export-choices label span{overflow-wrap:anywhere}
.ss-app-page .ss-data-export input[type=checkbox]{width:18px;height:18px;accent-color:var(--ss-primary);flex:none}.ss-app-page .ss-data-export details{border:1px solid var(--ss-border);border-radius:var(--ss-radius-md);padding:12px 15px}.ss-app-page .ss-data-export summary{cursor:pointer;font-weight:700;min-height:24px}
.ss-app-page .ss-data-export .ss-field{max-width:360px}.ss-app-page .ss-data-export-period .ss-field{max-width:none}.ss-app-page .ss-data-export-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ss-app-page .ss-data-export-actions .ss-primary{min-height:var(--ss-control-height);min-width:150px}
.ss-app-page #ss-data-export-status{overflow-wrap:anywhere}.ss-app-page #ss-data-export-status[data-state=error]{color:var(--ss-danger)}.ss-app-page #ss-data-export-status[data-state=success]{color:var(--ss-success)}.ss-app-page #ss-data-export-status[data-state=loading]{color:var(--ss-text-muted)}
.ss-app-page .ss-data-export :is(button,input,select,summary):focus-visible,.ss-app-page .ss-legacy-reports summary:focus-visible{outline:2px solid var(--ss-primary);outline-offset:2px}.ss-app-page .ss-legacy-reports{border:1px solid var(--ss-border);border-radius:var(--ss-radius-md);background:var(--ss-bg);padding:13px}.ss-app-page .ss-legacy-reports>summary{cursor:pointer;font-weight:700}.ss-app-page .ss-legacy-reports>.ss-card{margin-top:15px}
@media(max-width:650px){.ss-app-page .ss-data-export-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.ss-app-page .ss-data-export-period,.ss-app-page .ss-data-export-choices{grid-template-columns:minmax(0,1fr)}.ss-app-page .ss-data-export-actions{align-items:stretch}.ss-app-page .ss-data-export-actions .ss-primary{width:100%}}
.ss-app-page .ss-plan-benefits .ss-entitlement-state{display:block;margin-top:5px;font-size:12px;font-weight:600;line-height:1.3;white-space:normal}
.ss-app-page .ss-plan-benefits .ss-entitlement-state.is-available{color:var(--ss-success)}
.ss-app-page .ss-plan-benefits .ss-entitlement-state.is-locked{color:var(--ss-text-muted)}
