/* Kumbú: shared styles. Cascade order and responsive/theme overrides are intentional. */
:root {--bg: #F5F7FA;--surface-muted: #EEF2F6;--text: #101828;--muted: #59636F;--border: #E4E7EC;--primary: #003F39;--accent: #2FCB88;--accent-soft: #E8F8F1;--danger: #D92D20;--danger-soft: #FEECEB;--warning: #B54708;--warning-soft: #FFF4E5;--info: #0A8D73;--info-soft: #E8F6F2;--shadow: 0 8px 30px rgba(16,24,40,.06);}
* {box-sizing: border-box;}
html, body {margin: 0;min-height: 100%;background: var(--bg);font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color: var(--text);}
body {display: flex;justify-content: center;}
button, input, select, textarea {font: inherit;}
button {cursor: pointer;}
.app {width: 100%;min-height: 100vh;position: relative;padding-bottom: 86px;}
.screen {display: none;}
.screen.active {display: block;}
.eyebrow {font-size: 11px;line-height: 1;letter-spacing: 1.2px;font-weight: 800;color: var(--muted);margin-bottom: 7px;}
h1 {margin: 0 0 18px;}
h2 {margin: 0;}
.header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 18px;}
.header h1 {margin: 0;}
.avatar {width: 44px;height: 44px;border-radius: 50%;background: var(--primary);color: #fff;display: grid;place-items: center;font-weight: 900;border: 0;}
.hero {background: var(--primary);color: #fff;box-shadow: var(--shadow);}
.hero-label {color: #B8C0D3;}
.hero-hint {color: #AEB7CB;max-width: 96%;}
.fx-row {display: flex;gap: 9px;flex-wrap: wrap;}
.fx-pill {border: 1px solid #2D364A;border-radius: 999px;}
.metric-grid {display: grid;grid-template-columns: repeat(3,1fr);gap: 8px;margin-top: 12px;}
.metric {min-width: 0;}
.metric.green {background: var(--accent-soft);}
.metric.red {background: var(--danger-soft);}
.metric.blue {background: var(--info-soft);}
.metric-label {color: var(--muted);font-weight: 700;margin-bottom: 6px;}
.metric-value {font-weight: 850;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.section-head {display: flex;justify-content: space-between;}
.section-head button {border: 0;background: transparent;}
.card {border: 1px solid rgba(228,231,236,.7);box-shadow: 0 3px 16px rgba(16,24,40,.025);}
.quick-grid {display: grid;grid-template-columns: repeat(4,1fr);}
.quick-icon {border: 1px solid var(--border);place-items: center;margin: auto;font-weight: 850;box-shadow: 0 3px 12px rgba(16,24,40,.03);}
.quick-label {color: #344054;}
.strip {display: flex;gap: 10px;overflow: auto;padding-bottom: 2px;scrollbar-width: none;}
.strip::-webkit-scrollbar {display: none;}
.mini-account {flex: 0 0 165px;background: #fff;border: 1px solid var(--border);text-align: left;}
.mini-account .name {color: #344054;}
.mini-account .bal {margin: 6px 0 5px;}
.mini-account .meta {color: var(--muted);}
.progress-top {display: flex;justify-content: space-between;align-items: center;}
.track {background: #EDF0F3;border-radius: 999px;overflow: hidden;}
.fill {height: 100%;background: var(--accent);border-radius: 999px;transition: width .25s;}
.allocation-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}
.allocation-item .label {color: var(--muted);}
.allocation-item .value {font-weight: 800;margin-top: 3px;}
.tx-row, .menu-row, .loan-row, .alert-row {display: flex;align-items: center;border-bottom: 1px solid var(--border);}
.tx-row:last-child, .menu-row:last-child, .loan-row:last-child, .alert-row:last-child {border-bottom: 0;}
.tx-icon {background: var(--surface-muted);display: grid;place-items: center;flex: 0 0 auto;}
.tx-main {min-width: 0;flex: 1;}
.tx-title {white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.tx-meta {color: var(--muted);}
.positive {color: var(--accent);}
.negative {color: var(--danger);}
.tabs-filter {display: flex;overflow: auto;}
.filter-btn {border: 1px solid var(--border);background: #fff;font-weight: 750;}
.fab {position: fixed;right: max(22px,calc((100vw - 560px)/2 + 22px));bottom: 94px;color: #fff;border: 0;box-shadow: 0 10px 24px rgba(11,16,32,.25);z-index: 20;}
.planning-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.goal {padding: 16px;}
.goal .big {font-weight: 900;margin: 8px 0 4px;}
.goal .small {color: var(--muted);}
.project {margin-top: 10px;}
.project-line {display: flex;justify-content: space-between;gap: 10px;}
.project-line span {color: var(--muted);}
.loan-summary {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.loan-summary .card {padding: 16px;}
.loan-summary .label {color: var(--muted);}
.loan-summary .value {font-weight: 900;margin-top: 7px;}
.loan-row button {border: 0;background: transparent;text-align: left;padding: 0;width: 100%;display: flex;align-items: center;gap: 12px;}
.loan-badge {font-weight: 900;padding: 5px 7px;border-radius: 999px;}
.loan-badge.receivable {background: var(--accent-soft);color: var(--accent);}
.loan-badge.payable {background: var(--warning-soft);color: var(--warning);}
.profile {display: flex;align-items: center;gap: 13px;}
.profile .avatar {width: 48px;height: 48px;border-radius: 18px;}
.profile-main {flex: 1;}
.profile-title {font-weight: 850;}
.profile-sub {color: var(--muted);margin-top: 4px;}
.badge {padding: 5px 8px;border-radius: 999px;font-weight: 900;background: var(--warning-soft);color: var(--warning);}
.menu-main {flex: 1;}
.menu-note {color: var(--muted);}
.bottom-nav {position: fixed;bottom: 0;left: 50%;transform: translateX(-50%);width: 100%;max-width: 560px;background: rgba(255,255,255,.96);border-top: 1px solid var(--border);display: grid;grid-template-columns: repeat(5,1fr);z-index: 40;backdrop-filter: blur(16px);padding-bottom: max(0px,env(safe-area-inset-bottom));}
.nav-btn {border: 0;background: transparent;display: flex;flex-direction: column;align-items: center;justify-content: center;}
.primary, .secondary, .danger-btn {width: 100%;border: 0;font-weight: 850;padding: 12px 16px;}
.primary {background: var(--primary);color: #fff;}
.secondary {background: var(--surface-muted);color: var(--text);}
.danger-btn {background: var(--danger-soft);color: var(--danger);}
.modal-backdrop {position: fixed;inset: 0;background: rgba(11,16,32,.55);display: none;align-items: flex-end;justify-content: center;z-index: 100;padding: 0;}
.modal-backdrop.open {display: flex;}
.modal {width: 100%;max-width: 560px;max-height: 92vh;overflow: auto;background: #fff;padding: 22px 18px 28px;}
.modal-head {display: flex;justify-content: space-between;align-items: center;margin-bottom: 16px;}
.close {width: 36px;height: 36px;border-radius: 12px;border: 0;font-size: 20px;}
.field label {display: block;color: #475467;}
.field input, .field select, .field textarea {width: 100%;border: 1px solid var(--border);padding: 12px 13px;outline: none;}
.field input:focus, .field select:focus, .field textarea:focus {box-shadow: 0 0 0 3px rgba(152,162,179,.12);}
.field textarea {min-height: 74px;resize: vertical;}
.form-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.helper {color: var(--muted);line-height: 1.5;margin: 0 0 12px;}
.empty {color: var(--muted);padding: 18px 0;text-align: center;}
.toast {position: fixed;left: 50%;transform: translateX(-50%);bottom: 92px;background: var(--primary);color: white;border-radius: 12px;padding: 10px 14px;font-weight: 700;opacity: 0;pointer-events: none;transition: .2s;z-index: 360;}
.toast.show {opacity: 1;bottom: 102px;}
.subpanel {display: none;}
.subpanel.active {display: block;}
.backlink {border: 0;background: transparent;padding: 7px 8px 7px 0;color: var(--info);font-weight: 800;margin-bottom: 12px;display: inline-flex;align-items: center;gap: 6px;min-height: 38px;cursor: pointer;}
.backlink .back-arrow {line-height: 1;font-weight: 500;display: inline-flex;align-items: center;transform: translateY(-1px);}
.row-between {display: flex;align-items: center;justify-content: space-between;gap: 10px;}
.switch {width: 44px;height: 26px;border-radius: 999px;background: #D0D5DD;position: relative;border: 0;transition: .2s;}
.switch::after {content: "";position: absolute;top: 3px;left: 3px;width: 20px;height: 20px;background: white;border-radius: 50%;transition: .2s;box-shadow: 0 1px 4px rgba(0,0,0,.15);}
.switch.on {background: var(--accent);}
.switch.on::after {left: 21px;}
.notice {border-radius: 16px;padding: 13px 14px;line-height: 1.55;background: var(--info-soft);color: #344054;}
.notice.warn {background: var(--warning-soft);}
.auth-shell {background: linear-gradient(180deg,#003F39 0%,#075149 46%,#F5F7FA 46%);align-items: center;justify-content: center;}
.auth-wrap {width: 100%;max-width: 440px;}
.brand-lockup {color: #fff;text-align: center;margin-bottom: 24px;}
.brand-mark {width: 60px;height: 60px;border-radius: 20px;color: var(--primary);display: grid;place-items: center;font-size: 26px;font-weight: 950;margin: 0 auto 15px;box-shadow: 0 16px 40px rgba(0,0,0,.18);}
.brand-name {font-weight: 900;letter-spacing: -.5px;}
.brand-tag {font-size: 10px;color: #B8C0D3;margin-top: 6px;line-height: 1.55;}
.auth-card {background: #fff;border-radius: 28px;padding: 22px 20px;box-shadow: 0 22px 70px rgba(11,16,32,.22);}
.auth-card h1 {font-size: 24px;margin-bottom: 7px;}
.auth-tabs {display: grid;grid-template-columns: 1fr 1fr;background: var(--surface-muted);border-radius: 13px;padding: 4px;margin: 18px 0;}
.auth-tab {border: 0;border-radius: 10px;background: transparent;color: var(--muted);font-size: 11px;font-weight: 800;padding: 10px;}
.auth-tab.active {background: #fff;color: var(--primary);box-shadow: 0 2px 9px rgba(16,24,40,.08);}
.auth-note {color: var(--muted);}
.auth-demo {margin-top: 10px;background: transparent;border: 0;width: 100%;color: var(--info);font-size: 10px;font-weight: 800;padding: 8px;}
.app.auth-locked {display: none;}
.brand-mark {padding: 0;}
.brand-mark img {display: block;}
.brand-name {font-size: 27px;}
.brand-tag strong {color: #fff;font-weight: 800;}
.app-brand-line {display: flex;align-items: center;gap: 8px;margin-bottom: 6px;}
.app-brand-line img {width: 28px;height: 28px;border-radius: 9px;object-fit: cover;box-shadow: 0 3px 10px rgba(0,63,57,.16);}
.app-brand-name {font-size: 12px;font-weight: 900;letter-spacing: .2px;color: var(--primary);}
.app-brand-tag {font-size: 8px;color: var(--muted);margin-top: 1px;}
.kumbu-signature {display: flex;align-items: center;justify-content: center;gap: 8px;color: var(--muted);font-size: 9px;font-weight: 750;margin: 22px 0 4px;}
.kumbu-signature img {width: 22px;height: 22px;border-radius: 7px;object-fit: cover;}
.profile-click {cursor: pointer;}
.profile-hero {background: var(--primary);color: #fff;text-align: center;}
.profile-avatar-large {width: 78px;height: 78px;border-radius: 26px;background: #fff;color: var(--primary);display: grid;place-items: center;margin: 0 auto 12px;font-size: 27px;font-weight: 950;}
.profile-hero .email {color: #B8C0D3;}
.profile-stat-grid {display: grid;grid-template-columns: 1fr 1fr;}
.profile-stat {background: #fff;border: 1px solid var(--border);}
.profile-stat .k {color: var(--muted);}
.profile-stat .v {font-weight: 850;margin-top: 5px;}
.inline-action {border: 0;background: transparent;color: var(--info);font-weight: 800;padding: 0;}
.profile-chip-row {display: flex;flex-wrap: wrap;justify-content: center;gap: 8px;}
.profile-chip {display: inline-flex;align-items: center;justify-content: center;border-radius: 999px;background: rgba(255,255,255,.14);color: #fff;letter-spacing: .01em;}
.settings-info-card {margin-top: 14px;padding: 16px;}
.settings-info-grid, .home-insights {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.settings-pill {border: 1px solid var(--border);background: linear-gradient(180deg,#fff 0%,#F7FAF9 100%);border-radius: 15px;padding: 12px 12px 10px;display: flex;flex-direction: column;gap: 4px;}
.settings-pill span {font-size: 9px;color: var(--muted);font-weight: 700;text-transform: uppercase;letter-spacing: .06em;}
.settings-pill strong {font-size: 12px;font-weight: 850;color: var(--primary);}
.settings-note {font-size: 10px;color: var(--muted);line-height: 1.55;margin-top: 12px;}
.soft-cta {margin-top: 14px;width: 100%;border-radius: 14px;border: 1px solid var(--border);background: #fff;color: var(--primary);font-size: 11px;font-weight: 850;padding: 12px 14px;}
.home-insights {margin-bottom: 14px;}
.insight-card {padding: 16px 14px;border-radius: 18px;box-shadow: none;}
.insight-card.accent {background: linear-gradient(145deg,#F2ECFF,#FAF7FF);border-color: #E8DDFB;}
.insight-label {font-size: 10px;color: var(--muted);font-weight: 750;}
.insight-value {font-size: 21px;font-weight: 900;line-height: 1.15;margin-top: 6px;}
.insight-sub {display: flex;justify-content: space-between;align-items: flex-end;gap: 8px;margin-top: 12px;font-size: 10px;color: var(--muted);}
.insight-sub strong {font-size: 12px;font-weight: 850;color: var(--primary);}
.setting-block {background: #fff;border: 1px solid var(--border);border-radius: 18px;padding: 6px 16px 2px;margin-top: 14px;}
.section-kicker {font-size: 9px;color: var(--muted);font-weight: 800;letter-spacing: .08em;text-transform: uppercase;padding-top: 10px;}
.menu-row.compact {padding: 12px 0;}
.inline-status {font-size: 10px;font-weight: 800;color: var(--accent);white-space: nowrap;}
.empty-state {padding: 22px 16px;text-align: center;border: 1px dashed var(--border);border-radius: 16px;background: linear-gradient(180deg,#FBFCFD 0%,#F5F8FA 100%);}
.empty-state .empty-title {font-size: 13px;font-weight: 850;color: var(--primary);}
.empty-state .empty-note {font-size: 10px;color: var(--muted);line-height: 1.55;margin-top: 6px;}
.inline-chip {display: inline-flex;align-items: center;gap: 6px;padding: 6px 10px;border-radius: 999px;background: var(--accent-soft);color: var(--primary);font-size: 9px;font-weight: 800;}
.fx-preview-card {margin-bottom: 14px;}
.fx-preview-value {font-size: 12px;font-weight: 850;color: var(--primary);}
.subpanel-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-top: 14px;}
.subpanel-actions .secondary, .subpanel-actions .primary {margin-top: 0;}
@media(max-width:390px) {
  .settings-info-grid, .home-insights {grid-template-columns: 1fr;}
}
.avatar.has-photo, .profile-avatar-large.has-photo {overflow: hidden;padding: 0;background: #fff;}
.avatar.has-photo img, .profile-avatar-large.has-photo img {width: 100%;height: 100%;display: block;object-fit: cover;}

.profile-photo-card {margin-bottom: 14px;}
.profile-photo-row {display: flex;align-items: center;gap: 12px;}
.profile-photo-copy {flex: 1;min-width: 0;}
.profile-photo-title {font-weight: 850;}
.profile-photo-note {color: var(--muted);line-height: 1.45;margin-top: 4px;}
.profile-photo-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;margin-top: 12px;}
.profile-photo-actions.single {grid-template-columns: 1fr;}
.profile-photo-action {display: flex;align-items: center;justify-content: center;text-align: center;min-height: 44px;border-radius: 13px;font-weight: 850;cursor: pointer;padding: 10px 12px;}
.profile-photo-action.primary-action {background: var(--primary);color: #fff;}
.profile-photo-action.remove-action {background: var(--danger-soft);color: var(--danger);border: 0;}
.profile-photo-input {position: absolute;width: 1px;height: 1px;opacity: 0;pointer-events: none;}
@media(min-width:700px) {
  .app {min-height: calc(100vh - 44px);box-shadow: 0 20px 70px rgba(16,24,40,.15);}
}
.app {background: linear-gradient(180deg,#F7FAF9 0%,#F4F7FA 100%);}
.screen {padding-top: 16px;}
.app-header {padding-top: 16px;}
.metric.green {background: linear-gradient(135deg,#E7F8F0,#F1FBF7);border: 1px solid #D8F1E5;}
.metric.blue {background: linear-gradient(135deg,#EAF3FF,#F3F8FF);border: 1px solid #DDEAFB;}
.metric.purple {background: linear-gradient(135deg,#F1EAFE,#F8F4FF);border: 1px solid #E8DDFB;}
.quick {transition: transform .18s ease,box-shadow .18s ease;text-align: center;}
.quick:hover {transform: translateY(-2px);box-shadow: 0 8px 22px rgba(16,24,40,.08);}
.quick .quick-icon {border: 0;box-shadow: none;color: #fff;}
.quick .quick-label {margin-top: 8px;}
.quick[data-new-kind="income"] {background: linear-gradient(145deg,#E6F8EF,#F0FBF6);border-color: #D3F1E1;}
.quick[data-new-kind="income"] .quick-label {color: #087552;}
.quick[data-new-kind="expense"] {background: linear-gradient(145deg,#FDEAEA,#FFF3F2);border-color: #F8D9D6;}
.quick[data-new-kind="expense"] .quick-label {color: #B42318;}
.quick[data-new-kind="transfer"] {background: linear-gradient(145deg,#E8F2FF,#F2F7FF);border-color: #D7E8FC;}
.quick[data-new-kind="transfer"] .quick-label {color: #175CD3;}
.quick[data-new-kind="investment"] {background: linear-gradient(145deg,#FFF3DF,#FFF8EC);border-color: #F7E5C7;}
.quick[data-new-kind="investment"] .quick-label {color: #B54708;}
.mini-account:nth-child(3n+1) {border-top: 3px solid #13A774;}
.mini-account:nth-child(3n+2) {border-top: 3px solid #4F8BE8;}
.mini-account:nth-child(3n+3) {border-top: 3px solid #8B5CF6;}
.planning-grid .goal:first-child {background: linear-gradient(145deg,#E9F9F1,#F7FCF9);border-color: #D8F1E5;}
.planning-grid .goal:last-child {background: linear-gradient(145deg,#F2ECFF,#FAF7FF);border-color: #E8DDFB;}
.loan-summary .card {box-shadow: none;}
.loan-receive-card {background: var(--surface);border-color: var(--border) !important;}
.loan-receive-card .value {color: var(--info);}
.loan-pay-card {background: var(--surface);border-color: var(--border) !important;}
.loan-pay-card .value {color: var(--text);}
button[data-new-loan="given"] {background: #EAF8F1;color: #006B54;border: 1px solid #D4F0E2;}
button[data-new-loan="received"] {background: #FFF0E8;color: #C4320A;border: 1px solid #F9DFD0;}
.tx-icon.kind-income, .tx-icon.kind-loan_received, .tx-icon.kind-loan_collection {background: #E7F8F0;color: #087552;}
.tx-icon.kind-expense, .tx-icon.kind-loan_repayment, .tx-icon.kind-loan_given {background: #FDEAEA;color: #B42318;}
.tx-icon.kind-transfer {background: #E8F2FF;color: #175CD3;}
.tx-icon.kind-savings {background: #E7F8F0;color: #087552;}
.tx-icon.kind-investment {background: #F2ECFF;color: #6941C6;}
.tx-icon.kind-project {background: #FFF3DF;color: #B54708;}
.bottom-nav {padding-left: 8px;padding-right: 8px;}
.nav-btn {width: 100%;position: relative;}
.nav-btn.active::after {content: "";position: absolute;bottom: 7px;width: 5px;height: 5px;border-radius: 50%;background: var(--accent);}
@media(max-width:390px) {
  .quick {min-height: 90px;padding-left: 3px;padding-right: 3px;}
  .quick .quick-icon {width: 44px;height: 44px;}
}
.nav-btn .ico {line-height: 1;font-weight: 800;display: flex;align-items: center;justify-content: center;}
.nav-btn.active {color: var(--primary);}
.nav-btn.active .ico {width: 36px;height: 36px;border-radius: 12px;box-shadow: 0 2px 8px rgba(0,91,80,.10);}
.backlink {font-size: 13px;}
.backlink .back-arrow {font-size: 26px;}
.metric-label {font-size: 10px;}
.allocation-item .label {font-size: 10px;}
.allocation-item .value {font-size: 13px;}
.goal .big {font-size: 21px;}
.goal .small {font-size: 10px;}
.project-line strong {font-size: 14px;}
.project-line span {font-size: 11px;}
.loan-summary .label {font-size: 11px;}
.loan-summary .value {font-size: 21px;}
.profile-title {font-size: 15px;}
.profile-sub {font-size: 11px;}
.badge {font-size: 9px;}
.helper {font-size: 10px;}
.empty {font-size: 12px;}
.toast {font-size: 11px;}
.notice {font-size: 11px;}
.profile-hero .email {font-size: 11px;}
.inline-action {font-size: 11px;}
.profile-photo-title {font-size: 14px;}
.profile-photo-note {font-size: 10px;}
.profile-photo-action {font-size: 11px;}
@media(max-width:390px) {
  .nav-btn .ico {font-size: 25px;}
  .nav-btn.active .ico {width: 34px;height: 34px;}
}
html, body, button, input, select, textarea {font-family: Inter,"SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing: antialiased;text-rendering: optimizeLegibility;font-feature-settings: "calt" 1,"kern" 1;}
h1 {font-family: Inter,"SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;}
h2, .profile-hero .name, .hero-amount, .insight-value, .loan-summary .value {font-family: Inter,"SF Pro Display",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-weight: 800;letter-spacing: -.025em;}
.menu-label, .tx-title, .metric-value, .mini-account .bal, .quick-label, .nav-btn, .profile-stat .v, .settings-pill strong, .progress-top span:last-child {font-weight: 650;letter-spacing: -.01em;}
.hero-label, .metric-label, .mini-account .name, .section-head button, .profile-photo-title, .insight-label, .inline-status, .inline-chip {font-weight: 600;letter-spacing: 0;}
.menu-note, .tx-meta, .hero-hint, .helper, .notice, .profile-photo-note, .settings-note, .insight-sub, .mini-account .meta {font-weight: 400;letter-spacing: 0;}
button.primary, button.secondary, .soft-cta, .profile-photo-action, .filter-btn, .auth-tab, .auth-demo {font-weight: 650;letter-spacing: -.01em;}
.screen-topbar + h1 {margin-top: 0;}
.profile-back-arrow {display: inline-flex;align-items: center;justify-content: center;background: var(--surface-muted);border: 1px solid var(--border);color: var(--primary);}
.profile-avatar-control {position: relative;margin: 0 auto 12px;}
.profile-avatar-control .profile-avatar-large {margin: 0;}
.avatar-photo-add, .avatar-photo-remove {position: absolute;display: flex;align-items: center;justify-content: center;border-radius: 50%;cursor: pointer;z-index: 3;box-shadow: 0 3px 10px rgba(0,0,0,.18);user-select: none;}
.avatar-photo-add {font-size: 0;font-weight: 900;}
.avatar-photo-remove {right: -7px;top: -7px;width: 25px;height: 25px;border: 2px solid var(--primary);background: #fff;color: var(--danger);font-size: 17px;font-weight: 900;line-height: 1;padding: 0;}
.profile-avatar-control:focus-within .avatar-photo-add, .avatar-photo-add:hover {transform: rotate(-12deg) scale(1.05);}
.profile-avatar-control {cursor: pointer;}
.avatar-photo-add {padding: 0;background: #9FE870;box-shadow: 0 6px 16px rgba(0,0,0,.28);transform: none;}
.avatar-photo-add:hover, .profile-avatar-control:focus-within .avatar-photo-add {transform: scale(1.06);}
.avatar-photo-add:focus-visible {outline: 2px solid #fff;outline-offset: 2px;}
.avatar-photo-icon {width: 17px;height: 17px;display: block;}
.photo-sheet-backdrop {background: rgba(0,0,0,.48);align-items: flex-end;justify-content: center;}
.photo-sheet {background: #fff;padding: 12px 18px 28px;box-shadow: 0 -16px 50px rgba(11,16,32,.25);transform: translateY(100%);transition: transform .22s ease;}
.photo-sheet-backdrop.open .photo-sheet {transform: translateY(0);}
.photo-sheet-handle {width: 54px;height: 6px;border-radius: 999px;background: #D0D5DD;margin: 2px auto 18px;}
.photo-sheet-title {font-weight: 900;color: var(--text);}
.photo-sheet-list {display: flex;flex-direction: column;gap: 10px;}
.photo-sheet-action {width: 100%;border: 0;background: #fff;display: flex;align-items: center;justify-content: space-between;gap: 12px;cursor: pointer;text-align: left;}
.photo-sheet-action:hover {background: var(--surface-muted);}
.photo-sheet-main {display: flex;align-items: center;gap: 14px;min-width: 0;}
.photo-sheet-icon {border-radius: 50%;border: 1px solid var(--border);color: var(--primary);display: grid;place-items: center;font-size: 24px;font-weight: 900;flex: 0 0 auto;}
.photo-sheet-text {font-size: 14px;font-weight: 850;color: var(--text);line-height: 1.25;}
.photo-sheet-chevron {color: var(--muted);font-size: 26px;line-height: 1;flex: 0 0 auto;}
.photo-sheet-action.danger .photo-sheet-icon {color: var(--danger);}
.photo-sheet-action.danger .photo-sheet-text {color: var(--danger);}
:root {--premium-bg: #F3F6F5;--premium-surface: #FFFFFF;--premium-ink: #121A19;--premium-muted: #66736F;--premium-line: #E2E9E6;--premium-green: #9FE870;--premium-green-deep: #005C4B;--premium-shadow: 0 10px 30px rgba(0,63,57,.06);--premium-shadow-lg: 0 18px 48px rgba(0,63,57,.10);}
html {background: var(--premium-bg);}
body {background: radial-gradient(circle at 50% -10%,rgba(159,232,112,.12),transparent 35%),
        var(--premium-bg);color: var(--premium-ink);}
.app {background: linear-gradient(180deg,#F8FAF9 0%,#F3F6F5 100%);}
h1 {color: #111918;}
h2 {font-size: 17px;line-height: 1.2;font-weight: 800;letter-spacing: -.025em;color: #17201E;}
.section-head {align-items: center;}
.section-head button {color: var(--primary);text-decoration: none;}
.card, .metric, .mini-account, .goal, .loan-summary .card, .setting-block, .profile-stat {border-color: var(--premium-line);box-shadow: var(--premium-shadow);}
.card {border-radius: 20px;background: rgba(255,255,255,.98);}
.menu-row {min-height: 64px;padding-top: 14px;padding-bottom: 14px;}
.menu-row + .menu-row {border-top-color: #E7ECEA;}
.menu-note {color: #6B7773;}
.chev {color: #A5AFAC;font-size: 22px;font-weight: 500;}

.hero {background: radial-gradient(circle at 88% 0%,rgba(159,232,112,.15),transparent 32%),
        linear-gradient(145deg,#004B42 0%,#003D37 100%);box-shadow: var(--premium-shadow-lg);border: 1px solid rgba(255,255,255,.06);}
.hero-hint {color: rgba(255,255,255,.67);}
.fx-pill {background: rgba(255,255,255,.10);border-color: rgba(255,255,255,.12);}
.metric {border-radius: 18px;min-height: 84px;padding: 15px 13px;box-shadow: none;}
.metric-label {letter-spacing: .01em;}
.metric-value {margin-top: 6px;font-size: 15px;}
.quick {box-shadow: none;}
.quick .quick-icon {width: 50px;height: 50px;border-radius: 17px;font-size: 23px;box-shadow: 0 6px 16px rgba(16,24,40,.10);}
.quick .quick-label {letter-spacing: -.01em;}
.mini-account {box-shadow: 0 7px 22px rgba(16,24,40,.045);border-top-width: 1px !important;position: relative;overflow: hidden;}
.mini-account::before {content: "";position: absolute;left: 0;top: 0;bottom: 0;width: 4px;background: var(--accent);}
.profile-backlink {margin-bottom: 22px;}
.profile-back-arrow {border-color: #E1E8E5;}
.profile-hero {border-radius: 28px;padding: 28px 22px 25px;background: radial-gradient(circle at 50% 0%,rgba(159,232,112,.13),transparent 42%),
        linear-gradient(160deg,#00584D 0%,#003F39 100%);box-shadow: var(--premium-shadow-lg);border: 1px solid rgba(255,255,255,.06);margin-bottom: 16px;}
.profile-avatar-control {width: 88px;height: 88px;margin-bottom: 16px;}
.profile-avatar-control .profile-avatar-large {width: 88px;height: 88px;border-radius: 50%;border: 3px solid rgba(255,255,255,.36);box-shadow: 0 9px 24px rgba(0,0,0,.18);}
.profile-hero .name {letter-spacing: -.035em;}
.profile-chip-row {margin-top: 10px;}
.profile-chip {background: rgba(255,255,255,.13);border: 1px solid rgba(255,255,255,.08);min-height: 31px;padding: 0 13px;}
.profile-hero .email {margin-top: 8px;color: rgba(255,255,255,.70);}
.avatar-photo-add {right: -1px !important;bottom: -1px !important;width: 31px !important;height: 31px !important;background: var(--premium-green) !important;color: #0A271C !important;border: 3px solid #005044 !important;box-shadow: 0 5px 14px rgba(0,0,0,.25) !important;}
.profile-stat-grid {gap: 11px;margin-bottom: 18px;}
.profile-stat {padding: 15px 14px;border-radius: 18px;box-shadow: none;}
.profile-stat .k {letter-spacing: .055em;font-weight: 750;}
.profile-stat .v {color: #14211E;}
.primary {min-height: 49px;border-radius: 16px;font-weight: 850;box-shadow: 0 8px 20px rgba(0,63,57,.12);}
.secondary, .danger-btn {min-height: 48px;border-radius: 16px;font-weight: 800;}
.logout-btn {margin-top: 18px;background: #EEF2F4;border: 1px solid #E4E9EB;}
.field input, .field select, .field textarea {border-color: #DDE5E2;background: #fff;}
.field input:focus, .field select:focus, .field textarea:focus {border-color: #78BDAA;box-shadow: 0 0 0 4px rgba(0,91,80,.08);}
.bottom-nav {padding: 6px 10px max(6px,env(safe-area-inset-bottom));background: rgba(255,255,255,.95);border-top: 1px solid rgba(221,229,226,.88);box-shadow: 0 -9px 28px rgba(16,24,40,.05);backdrop-filter: blur(20px);}
.nav-btn {border-radius: 16px;transition: background .18s ease,color .18s ease,transform .18s ease;}
.nav-btn .ico {transition: .18s ease;}
.nav-btn.active .ico {background: #E5F7EE;}
.photo-sheet {padding: 13px 18px calc(26px + env(safe-area-inset-bottom));box-shadow: 0 -18px 56px rgba(0,0,0,.22);}
.photo-sheet-title {letter-spacing: -.035em;}
.photo-sheet-action {padding: 12px 8px;border-radius: 18px;}
.photo-sheet-action:hover {background: #F3F7F5;}
.photo-sheet-icon {width: 52px;height: 52px;border-color: #D9E2DF;background: #FAFCFB;}
.modal {border-radius: 30px 30px 0 0;box-shadow: 0 -18px 60px rgba(0,0,0,.18);}
@media(min-width:700px) {
  .app {min-height: calc(100vh - 48px);box-shadow: 0 24px 80px rgba(16,24,40,.14);}
}
@media(max-width:390px) {
  h1 {font-size: 28px;}
  .hero {padding: 20px;}
  .profile-hero {padding-left: 18px;padding-right: 18px;}
  .profile-avatar-control, .profile-avatar-control .profile-avatar-large {width: 84px;height: 84px;}
}
.profile-backlink {color: var(--primary);}
.profile-back-arrow {border: 1px solid rgba(255,255,255,.02);box-shadow: 0 10px 24px rgba(0,0,0,.16);font-size: 28px;line-height: 1;font-weight: 500;}
.profile-backlink:hover .profile-back-arrow, .profile-backlink:focus-visible .profile-back-arrow {transform: translateX(-1px);}
.profile-backlink {gap: 14px;font-family: Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-weight: 800;letter-spacing: -.01em;}
.profile-backlink > span:last-child {font-family: inherit;font-size: 13px;font-weight: 800;line-height: 1;color: var(--primary);}
.profile-back-arrow svg {stroke-width: 2.8;stroke-linecap: round;stroke-linejoin: round;}
.profile-backlink:focus-visible {outline: none;}
.profile-backlink {display: inline-flex;align-items: center;justify-content: center;width: 46px;height: 46px;min-width: 46px;min-height: 46px;padding: 0;margin: 0 0 26px;border: 0;border-radius: 50%;background: #EEF1EE;color: #151A17;cursor: pointer;box-shadow: none;font-size: 0;line-height: 0;}
.profile-back-arrow {width: 46px;height: 46px;min-width: 46px;display: grid;place-items: center;border-radius: 50%;background: transparent;color: inherit;border: 0;box-shadow: none;transform: none;padding: 0;}
.profile-back-arrow svg {width: 24px;height: 24px;display: block;fill: currentColor;stroke: none;}
.profile-backlink:hover, .profile-backlink:focus-visible {background: #E5E9E6;color: #101411;outline: none;}
.profile-backlink:hover .profile-back-arrow, .profile-backlink:focus-visible .profile-back-arrow {background: transparent;transform: none;}
.screen-topbar {justify-content: flex-end;}
.invite-pill {border-radius: 999px;border: 1px solid #CBE7D8;background: #DFF5E8;color: #0C6A57;font-weight: 800;letter-spacing: -.01em;box-shadow: 0 3px 10px rgba(12,106,87,.06);}
.top-avatar.avatar {width: 46px;height: 46px;border-radius: 999px;flex: 0 0 46px;}
.section-head h2 {font-size: 20px;letter-spacing: -.03em;}
.tx-row, .menu-row, .loan-row, .alert-row {gap: 14px;padding: 15px 0;}
.tx-icon {border-radius: 999px;background: #EEF2EF;border: 1px solid #D9DFDC;color: #1F2A24;box-shadow: none;}
.tx-icon svg {width: 22px;height: 22px;stroke: currentColor;fill: none;stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round;}
.tx-meta {font-size: 11px;line-height: 1.45;margin-top: 4px;}
.expense-chart-card {padding: 18px;}
.expense-chart-kicker {font-size: 11px;font-weight: 800;color: #667085;text-transform: uppercase;letter-spacing: .04em;}
.expense-chart-value {font-size: 28px;font-weight: 900;line-height: 1.05;letter-spacing: -.04em;margin-top: 6px;}
.expense-chart-caption {font-size: 12px;color: #667085;margin-top: 4px;}
.expense-chart-side {display: flex;flex-direction: column;align-items: flex-end;gap: 4px;text-align: right;}
.expense-chart-side-label {font-size: 11px;font-weight: 800;color: #667085;text-transform: uppercase;letter-spacing: .04em;}
.expense-chart-side strong {font-size: 13px;line-height: 1.35;max-width: 110px;}
.expense-chart-shell {margin-top: 8px;}
.expense-chart-shell svg {display: block;width: 100%;height: auto;}
.expense-chart-note {margin-top: 12px;font-size: 12px;color: #475467;line-height: 1.45;}
.bottom-nav {padding: 7px 8px max(6px,env(safe-area-inset-bottom));background: rgba(255,255,255,.97);border-top: 1px solid #DDE5E2;box-shadow: 0 -10px 28px rgba(16,24,40,.04);}
.nav-btn {color: #667085;letter-spacing: -.01em;}
.nav-btn .ico {background: transparent !important;font-size: 0;}
.nav-btn .ico svg {stroke: currentColor;fill: none;stroke-width: 1.85;stroke-linecap: round;stroke-linejoin: round;}
.nav-btn.active {color: #294F2D;}
.nav-btn.active .ico {box-shadow: none;}
@media(max-width:390px) {
  .invite-pill {padding: 0 14px;font-size: 12px;}
  .expense-chart-value {font-size: 24px;}
  .nav-btn {font-size: 12px;}
}
.profile-back-arrow, .back-arrow {color: inherit !important;}
.profile-backlink>span:last-child:not(.profile-back-arrow), .backlink>span:last-child:not(.back-arrow) {display: none !important;}
.profile-backlink:hover, .profile-backlink:focus-visible, .backlink:hover, .backlink:focus-visible {background: #E5E9E6 !important;color: #103B33 !important;outline: none !important;}
.profile-backlink:hover .profile-back-arrow, .profile-backlink:focus-visible .profile-back-arrow, .backlink:hover .back-arrow, .backlink:focus-visible .back-arrow {background: transparent !important;transform: none !important;}
.salary-check {display: flex;align-items: center;gap: 10px;font-size: 13px;font-weight: 750;color: var(--text);cursor: pointer;}
.salary-check input {width: 18px;height: 18px;min-height: 18px;accent-color: var(--primary);}
.profile-backlink, .backlink {display: inline-flex !important;align-items: center !important;justify-content: center !important;width: 46px !important;height: 46px !important;min-width: 46px !important;min-height: 46px !important;padding: 0 !important;margin: 0 0 26px !important;border: 0 !important;border-radius: 50% !important;background: #EEF1EE !important;color: #153D35 !important;cursor: pointer !important;box-shadow: none !important;font-size: 0 !important;line-height: 0 !important;gap: 0 !important;overflow: visible !important;}
.profile-back-arrow, .back-arrow {width: 46px !important;height: 46px !important;min-width: 46px !important;display: grid !important;place-items: center !important;border-radius: 50% !important;background: transparent !important;border: 0 !important;box-shadow: none !important;transform: none !important;padding: 0 !important;font-size: 0 !important;overflow: visible !important;}
.profile-back-arrow svg, .back-arrow svg {width: 24px !important;height: 24px !important;display: block !important;visibility: visible !important;opacity: 1 !important;fill: #153D35 !important;stroke: none !important;overflow: visible !important;}
.profile-back-arrow svg path, .back-arrow svg path {fill: #153D35 !important;stroke: none !important;visibility: visible !important;opacity: 1 !important;}
.salary-period-action {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-top: 10px;}
.salary-mark-btn {border: 1px solid rgba(255,255,255,.18);background: rgba(255,255,255,.12);color: #fff;border-radius: 999px;min-height: 36px;padding: 0 13px;font-size: 11px;font-weight: 850;white-space: nowrap;cursor: pointer;}
.salary-mark-btn:hover {background: rgba(255,255,255,.18);}
#accountsManage .card {transition: border-color .18s ease,box-shadow .18s ease;}
#accountsManage .card:hover {border-color: #C9DDD5;box-shadow: 0 10px 28px rgba(0,63,57,.07);}
.screen-topbar {display: flex !important;align-items: center !important;justify-content: space-between !important;gap: 14px !important;min-height: 48px !important;margin-bottom: 24px !important;}
.screen-topbar>.top-avatar {margin: 0 !important;flex: 0 0 46px !important;}
.top-actions {margin-left: auto !important;display: flex !important;align-items: center !important;justify-content: flex-end !important;gap: 9px !important;}
.notification-btn {position: relative;min-width: 42px;border-radius: 999px;border: 1px solid #D8E4DF;background: #F2F6F4;padding: 0;display: grid;place-items: center;cursor: pointer;}
.notification-btn svg {width: 21px;height: 21px;fill: none;stroke: currentColor;stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round;display: block;}
.notification-btn:hover, .notification-btn:focus-visible {background: #E8F2EE;border-color: #C7DAD2;outline: none;}
.notification-count {position: absolute;top: 2px;right: 2px;width: 12px;height: 12px;min-width: 9px;padding: 0;border-radius: 999px;background: #E5484D;border: 2px solid #F8FAF9;display: none;pointer-events: none;}
.notification-count.visible {display: block;}
@media(max-width:390px) {
  .screen-topbar {margin-bottom: 22px !important;}
  .notification-btn {width: 40px;height: 40px;min-width: 40px;}
  .notification-btn svg {width: 20px;height: 20px;}
}
.notification-inbox-block {padding: 14px 16px;}
.notification-inbox-block .alert-row {padding: 15px 0;}
.notification-inbox-block .alert-row + .alert-row {border-top: 1px solid var(--border);}
.notification-message {color: inherit;}
.notification-message.is-read .tx-meta {color: #7B8783;}
.notification-title-line {display: flex;align-items: center;min-width: 0;}
.notification-unread-dot {border-radius: 50%;background: var(--accent);box-shadow: 0 0 0 3px rgba(159,232,112,.18);}
.notification-row-chevron {line-height: 1;flex: 0 0 auto;padding-left: 4px;}
.notification-detail-modal {padding-bottom: calc(24px + env(safe-area-inset-bottom));}
.notification-detail-top {display: flex;margin: 2px 0 14px;}
.notification-detail-severity {display: inline-flex;align-items: center;min-height: 28px;padding: 0 11px;border-radius: 999px;font-size: 11px;font-weight: 850;}
.notification-detail-severity.info {background: #EEF4FF;color: #3448A1;}
.notification-detail-severity.warning {background: #FFF4E5;color: #9A5B00;}
.notification-detail-severity.critical {background: #FEECEC;color: #B42318;}
.notification-detail-copy {color: var(--text);font-weight: 650;border: 1px solid var(--border);margin-bottom: 12px;}
.notification-detail-help {font-size: 14px;line-height: 1.5;color: var(--muted);margin-bottom: 16px;}
.simplified-hero {padding-bottom: 18px;}
.hero-mini-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
.hero-mini-card {background: rgba(255,255,255,.12);border: 1px solid rgba(255,255,255,.12);box-shadow: inset 0 1px 0 rgba(255,255,255,.05);}
.hero-mini-kicker {margin-bottom: 7px;text-transform: none;color: rgba(255,255,255,.72);}
.hero-mini-card strong {letter-spacing: -.02em;}
.home-focus-card {background: linear-gradient(180deg,#FFFFFF 0%,#F7FBF9 100%);border-color: #D7E6E0;}
.focus-row {display: flex;justify-content: space-between;align-items: flex-start;gap: 10px;border-bottom: 1px solid #EDF2F0;}
.focus-row:last-of-type {border-bottom: 0;}
.focus-row span {color: #66756F;font-weight: 760;line-height: 1.4;}
.focus-row strong {line-height: 1.1;color: #062F27;text-align: right;}
.focus-row.emphasis {margin-top: 2px;border-bottom: 0;}
.focus-row.emphasis span, .focus-row.emphasis strong {color: #004B42;}
.focus-divider {height: 1px;background: #E6EFEB;margin: 4px 0 12px;}
.focus-help {line-height: 1.55;color: #586763;}
.account-grid {display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px;}
.account-grid .mini-account {display: block;width: 100%;min-height: 122px;padding: 15px 15px 14px;background: linear-gradient(180deg,#FFFFFF 0%,#F7FAF8 100%);border: 1px solid #D8E5E0;box-shadow: 0 8px 22px rgba(0,63,57,.06);}
.account-grid .mini-account .name {font-size: 13px;font-weight: 850;line-height: 1.25;color: #133A32;}
.account-grid .mini-account .bal {font-size: 21px;line-height: 1.08;margin: 10px 0 8px;color: #062F27;letter-spacing: -.03em;}
.account-grid .mini-account .meta {font-size: 11px;line-height: 1.45;color: #61706A;}
.home-helper-note {margin: 10px 2px 0;line-height: 1.55;color: #5E6D68;}
.quick {border: 1px solid #D6E4DE;background: #fff;}
.quick-income {background: linear-gradient(180deg,#EEFBF4 0%,#F9FFFC 100%);}
.quick-expense {background: linear-gradient(180deg,#FFF1EE 0%,#FFF9F7 100%);}
.quick-transfer {background: linear-gradient(180deg,#EEF4FF 0%,#F9FBFF 100%);}
.quick-investment {background: linear-gradient(180deg,#FFF6E8 0%,#FFFBF3 100%);}
.quick .quick-label {color: #12332C;}
@media (max-width:540px) {
  .hero-mini-grid, .account-grid {grid-template-columns: 1fr;}
  .hero-mini-card strong {font-size: 18px;}
  .focus-row strong {font-size: 17px;}
}
.home-account-strip {display: flex;overflow-x: auto;overflow-y: hidden;padding: 2px 2px 9px;margin: 0 -2px;scroll-snap-type: x proximity;scroll-behavior: smooth;-webkit-overflow-scrolling: touch;overscroll-behavior-inline: contain;scrollbar-width: none;touch-action: pan-x;}
.home-account-strip::-webkit-scrollbar {display: none;}
.home-account-strip.empty-mode {display: block;overflow: visible;padding: 0;margin: 0;}
.home-account-empty {width: 100%;min-height: 96px;display: flex;align-items: center;justify-content: space-between;gap: 16px;padding: 18px 20px;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);box-shadow: 0 6px 18px rgba(16,24,40,.04);}
.home-account-empty-copy {min-width: 0;text-align: left;}
.home-account-empty-title {font-size: 14px;font-weight: 750;color: var(--text);margin-bottom: 4px;}
.home-account-empty-note {font-size: 10px;line-height: 1.5;color: var(--muted);}
.home-account-empty-action {flex: 0 0 auto;min-height: 38px;padding: 9px 13px;border: 1px solid var(--border);border-radius: 12px;background: var(--surface-muted);color: var(--primary);font-size: 10px;font-weight: 750;cursor: pointer;}
@media(max-width:390px) {
  .home-account-empty {padding: 16px;align-items: flex-start;}
  .home-account-empty-action {min-height: 36px;padding: 8px 11px;}
}
.home-account-strip .mini-account {flex: 0 0 178px;width: 178px;min-height: 122px;scroll-snap-align: start;display: block;padding: 15px 15px 14px;background: linear-gradient(180deg,#FFFFFF 0%,#F7FAF8 100%);border: 1px solid #D8E5E0;border-radius: 18px;box-shadow: 0 8px 22px rgba(0,63,57,.06);}
.home-account-strip .mini-account .name {font-size: 13px;font-weight: 850;line-height: 1.25;color: #133A32;}
.home-account-strip .mini-account .bal {font-size: 20px;line-height: 1.08;margin: 10px 0 8px;color: #062F27;letter-spacing: -.03em;}
.home-account-strip .mini-account .meta {font-size: 10px;line-height: 1.45;color: #61706A;}
@media(max-width:390px) {
  .home-account-strip .mini-account {flex-basis: 164px;width: 164px;}
}
.notification-inbox-summary {background: linear-gradient(145deg,#004B42 0%,#003B35 100%);color: #fff;margin-bottom: 14px;box-shadow: 0 14px 34px rgba(0,63,57,.14);}
.notification-summary-top {display: flex;align-items: center;justify-content: space-between;gap: 12px;}
.notification-summary-count {align-items: center;justify-content: center;}
.notification-summary-note {color: rgba(255,255,255,.73);}
.notification-toolbar {scrollbar-width: none;}
.notification-toolbar::-webkit-scrollbar {display: none;}
.notification-filter {white-space: nowrap;}
.notification-filter.active {border-color: #BFE7D2;}
.notification-mark-all {border: 0;background: transparent;}
.notification-list-group {box-shadow: 0 7px 24px rgba(16,24,40,.04);}
.notification-list-group .notification-message+ .notification-message {border-top: 1px solid #EDF2F0;}
.notification-message {transition: background .15s ease;}
.notification-message.is-unread {background: linear-gradient(90deg,#F3FBF7 0%,#FFFFFF 70%);}
.notification-message.is-read {background: #fff;}
.notification-type-icon {align-items: center;justify-content: center;}
.notification-message-copy {min-width: 0;flex: 1;}
.notification-title-line {justify-content: space-between;align-items: flex-start;gap: 8px;}
.notification-title-wrap {display: flex;align-items: center;min-width: 0;}
.notification-meta-line {display: flex;align-items: center;flex-wrap: wrap;}
.notification-chip {display: inline-flex;align-items: center;min-height: 23px;padding: 0 8px;border-radius: 999px;font-size: 9px;font-weight: 850;letter-spacing: .02em;background: #F2F4F3;color: #5C6965;}
.notification-chip.actionable {background: #E8F8F0;color: #006B54;}
.notification-chip.critical {background: #FEECEC;color: #B42318;}
.notification-chip.warning {background: #FFF4E5;color: #9A5B00;}
.notification-chip.info {background: #EEF4FF;color: #3448A1;}
.notification-preview {display: block;overflow-wrap: anywhere;}
.notification-row-chevron {align-self: center;}
.notification-empty-refined {text-align: center;background: #fff;}
.notification-empty-icon {margin: 0 auto 12px;display: flex;align-items: center;justify-content: center;}
.notification-empty-refined strong {display: block;color: #19342D;}
.notification-empty-refined p {margin: 6px auto 0;max-width: 280px;line-height: 1.5;}
.notification-detail-modal {border-radius: 28px 28px 0 0;}
.notification-detail-context {display: flex;gap: 8px;align-items: center;flex-wrap: wrap;margin: 0 0 14px;}
.notification-detail-copy {font-size: 16px;line-height: 1.65;padding: 16px;border-radius: 18px;background: #F8FBFA;border-color: #E2ECE8;}
.notification-detail-help {background: #F3F7F5;border-radius: 14px;padding: 11px 12px;color: #687671;}
@media(max-width:390px) {
  .notification-summary-title {font-size: 16px;}
  .notification-message {padding: 14px 12px;}
  .notification-mark-all {margin-left: 0;}
}
:root {--kumbu-bright: #65C843;--kumbu-bright-hover: #58B93A;--kumbu-green-ink: #12330B;--kumbu-dark: #101510;--kumbu-dark-surface: #1B201B;--kumbu-dark-surface-2: #242A24;--kumbu-dark-line: #343B34;--kumbu-dark-text: #F2F5F0;--kumbu-dark-muted: #B3BCB2;}
html, body, button, input, select, textarea {font-family: ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif !important;}
body {line-height: 1.48;}
h1 {font-size: 30px !important;line-height: 1.12 !important;font-weight: 650 !important;letter-spacing: -.035em !important;}
h2, .section-head h2 {font-size: 21px !important;line-height: 1.2 !important;font-weight: 650 !important;letter-spacing: -.025em !important;}
.hero-label {font-size: 16px !important;font-weight: 500 !important;letter-spacing: 0 !important;}
.hero-amount {font-size: 43px !important;line-height: 1.02 !important;font-weight: 700 !important;letter-spacing: -.045em !important;}
.hero-hint {font-size: 14px !important;line-height: 1.55 !important;font-weight: 400 !important;}
.menu-label {line-height: 1.3 !important;letter-spacing: -.01em !important;}
.menu-note {font-weight: 400 !important;}
.tx-title {font-size: 15px !important;line-height: 1.32 !important;font-weight: 600 !important;}
.tx-meta, .helper, .notice {font-size: 13px !important;line-height: 1.5 !important;font-weight: 400 !important;}
.tx-amount {font-size: 15px !important;font-weight: 620 !important;}
.quick .quick-label {font-size: 13px !important;font-weight: 600 !important;}
.quick .quick-icon {font-weight: 600 !important;}
.mini-account .name {font-weight: 560 !important;}
.mini-account .bal {font-weight: 650 !important;letter-spacing: -.025em !important;}
.mini-account .meta {line-height: 1.45 !important;}
.progress-top span:first-child {font-size: 14px !important;font-weight: 520 !important;}
.progress-top span:last-child {font-size: 14px !important;font-weight: 650 !important;}
.allocation-item .label, .goal .small, .loan-summary .label, .profile-stat .k {font-size: 12px !important;font-weight: 450 !important;letter-spacing: .01em !important;}
.allocation-item .value, .goal .big, .loan-summary .value, .profile-stat .v {font-weight: 650 !important;}
.nav-btn.active {font-weight: 650 !important;}
.profile-hero .name {font-size: 22px !important;font-weight: 650 !important;}
.profile-chip {font-size: 12px !important;font-weight: 520 !important;}
.field label {font-weight: 550 !important;}
.field input, .field select, .field textarea {font-weight: 400 !important;}
.primary, .secondary, .danger-btn, .invite-pill {font-size: 14px !important;font-weight: 620 !important;}
.invite-pill, .primary, .quick-income .quick-icon, .fill, .notification-summary-count {background: var(--kumbu-bright) !important;color: var(--kumbu-green-ink) !important;}
.invite-pill:hover, .primary:hover {background: var(--kumbu-bright-hover) !important;}
.nav-btn.active, .section-head button, .inline-action, .positive, .notification-filter.active {color: #4E8F25 !important;}
.notification-btn {color: #0B6557 !important;}
.appearance-intro {font-size: 14px;color: var(--muted);line-height: 1.55;margin-bottom: 14px;}
.theme-choice-grid {display: grid;gap: 10px;}
.theme-choice {width: 100%;border: 1px solid var(--border);background: var(--surface);color: var(--text);border-radius: 18px;padding: 13px;display: flex;align-items: center;gap: 13px;text-align: left;transition: border-color .18s ease,transform .18s ease,background .18s ease;}
.theme-choice.active {border-color: #75C94A;box-shadow: 0 0 0 3px rgba(159,232,112,.18);}
.theme-choice:active {transform: scale(.99);}
.theme-preview {width: 54px;height: 40px;border-radius: 12px;padding: 7px;display: grid;gap: 5px;flex: 0 0 auto;border: 1px solid rgba(0,0,0,.08);}
.theme-preview span {display: block;border-radius: 999px;}
.light-preview {background: #F5F7F5;}
.light-preview span {background: #DCE3DC;}
.light-preview span:first-child {width: 62%;background: #77C84D;}
.dark-preview {background: #151A15;border-color: #353B35;}
.dark-preview span {background: #3B433B;}
.dark-preview span:first-child {width: 62%;background: #9FE870;}
.system-preview {background: linear-gradient(90deg,#F5F7F5 0 50%,#151A15 50%);}
.system-preview span {background: #9AA49A;}
.system-preview span:first-child {width: 62%;background: #7FD252;}
.theme-choice-copy {display: flex;flex-direction: column;gap: 3px;}
.theme-choice-copy strong {font-size: 15px;font-weight: 620;}
.theme-choice-copy small {font-size: 12px;color: var(--muted);line-height: 1.4;font-weight: 400;}
html[data-theme="dark"] {color-scheme: dark;--bg: #101510;--surface: #1B201B;--surface-muted: #242A24;--text: #F2F5F0;--muted: #B3BCB2;--border: #343B34;--accent-soft: #243821;--danger: #FF766E;--danger-soft: #3C2422;--warning: #FFB45D;--warning-soft: #3A3021;--info: #9FE870;--info-soft: #263A23;--premium-bg: #101510;--premium-surface: #1B201B;--premium-ink: #F2F5F0;--premium-muted: #B3BCB2;--premium-line: #343B34;--premium-green: #9FE870;--premium-green-deep: #9FE870;--premium-shadow: 0 10px 30px rgba(0,0,0,.18);--premium-shadow-lg: 0 18px 48px rgba(0,0,0,.25);}
html[data-theme="dark"], html[data-theme="dark"] body {color: #F2F5F0 !important;}
html[data-theme="dark"] body {background: radial-gradient(circle at 50% -15%,rgba(159,232,112,.09),transparent 34%),
        #101510 !important;}
html[data-theme="dark"] .app {background: linear-gradient(180deg,#121712 0%,#101510 100%) !important;}
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] .section-head h2, html[data-theme="dark"] .menu-label, html[data-theme="dark"] .tx-title, html[data-theme="dark"] .mini-account .name {color: #F2F5F0 !important;}
html[data-theme="dark"] .card, html[data-theme="dark"] .setting-block, html[data-theme="dark"] .profile-stat, html[data-theme="dark"] .mini-account, html[data-theme="dark"] .goal, html[data-theme="dark"] .loan-summary .card, html[data-theme="dark"] .notification-message, html[data-theme="dark"] .theme-choice {background: #1B201B !important;border-color: #343B34 !important;color: #F2F5F0 !important;box-shadow: none !important;}
html[data-theme="dark"] .menu-row + .menu-row, html[data-theme="dark"] .notification-message + .notification-message {border-top-color: #303630 !important;}
html[data-theme="dark"] .menu-note, html[data-theme="dark"] .tx-meta, html[data-theme="dark"] .helper, html[data-theme="dark"] .notice, html[data-theme="dark"] .mini-account .meta, html[data-theme="dark"] .profile-stat .k, html[data-theme="dark"] .theme-choice-copy small, html[data-theme="dark"] .appearance-intro {color: #B3BCB2 !important;}
html[data-theme="dark"] .hero {background: radial-gradient(circle at 88% 0%,rgba(159,232,112,.16),transparent 34%),
        linear-gradient(145deg,#20301D 0%,#172218 100%) !important;border: 1px solid #344A31 !important;color: #F5F7F2 !important;box-shadow: none !important;}
html[data-theme="dark"] .hero-label {color: #D8DED5 !important;}
html[data-theme="dark"] .hero-hint {color: #B8C1B6 !important;}
html[data-theme="dark"] .hero-mini-card {background: rgba(255,255,255,.055) !important;border-color: rgba(255,255,255,.10) !important;}
html[data-theme="dark"] .hero-mini-kicker {color: #BFC7BD !important;}
html[data-theme="dark"] .hero-mini-card strong {color: #F5F7F2 !important;}
html[data-theme="dark"] .quick {background: #1B201B !important;border-color: #343B34 !important;box-shadow: none !important;}
html[data-theme="dark"] .quick-income, html[data-theme="dark"] .quick-expense, html[data-theme="dark"] .quick-transfer, html[data-theme="dark"] .quick-investment {background: #1B201B !important;}
html[data-theme="dark"] .quick .quick-label {color: #E9EEE7 !important;}
html[data-theme="dark"] .quick-expense .quick-icon {background: #3A2624 !important;color: #FF7A73 !important;}
html[data-theme="dark"] .quick-transfer .quick-icon {background: #20304B !important;color: #78A8FF !important;}
html[data-theme="dark"] .quick-investment .quick-icon {background: #3B3020 !important;color: #FFB44F !important;}
html[data-theme="dark"] .home-focus-card, html[data-theme="dark"] .expense-chart-card {background: #1B201B !important;border-color: #343B34 !important;}
html[data-theme="dark"] .focus-row {border-bottom-color: #303630 !important;}
html[data-theme="dark"] .focus-row span, html[data-theme="dark"] .focus-help {color: #B3BCB2 !important;}
html[data-theme="dark"] .focus-row strong {color: #F2F5F0 !important;}
html[data-theme="dark"] .track {background: #303630 !important;}
html[data-theme="dark"] .bottom-nav {background: rgba(27,32,27,.97) !important;box-shadow: 0 -8px 28px rgba(0,0,0,.20) !important;}
html[data-theme="dark"] .nav-btn {color: #B8C0B7 !important;}
html[data-theme="dark"] .nav-btn.active {color: #9FE870 !important;}
html[data-theme="dark"] .notification-btn {background: #1B201B !important;color: #9FE870 !important;border-color: #343B34 !important;}
html[data-theme="dark"] .invite-pill {background: #9FE870 !important;color: #173300 !important;border-color: #9FE870 !important;}
html[data-theme="dark"] .profile-hero {background: linear-gradient(145deg,#263523 0%,#182218 100%) !important;box-shadow: none !important;}
html[data-theme="dark"] .profile-chip {background: rgba(159,232,112,.12) !important;border-color: rgba(159,232,112,.18) !important;}
html[data-theme="dark"] .profile-hero .email {color: #B3BCB2 !important;}
html[data-theme="dark"] .profile-back-arrow, html[data-theme="dark"] .back-arrow {background: #252B25 !important;border-color: #353C35 !important;}
html[data-theme="dark"] .profile-back-arrow svg path, html[data-theme="dark"] .back-arrow svg path {fill: #E8EEE5 !important;}
html[data-theme="dark"] .field input, html[data-theme="dark"] .field select, html[data-theme="dark"] .field textarea {background: #171C17 !important;color: #F2F5F0 !important;border-color: #3A423A !important;}
html[data-theme="dark"] .field input:focus, html[data-theme="dark"] .field select:focus, html[data-theme="dark"] .field textarea:focus {border-color: #9FE870 !important;box-shadow: 0 0 0 3px rgba(159,232,112,.12) !important;}
html[data-theme="dark"] .secondary {color: #F2F5F0 !important;}
html[data-theme="dark"] .logout-btn {background: #242A24 !important;color: #F2F5F0 !important;border-color: #343B34 !important;}
html[data-theme="dark"] .notification-inbox-summary {background: linear-gradient(145deg,#202820,#192019) !important;}
html[data-theme="dark"] .notification-filter {background: #232923 !important;color: #C8D0C6 !important;border-color: #343B34 !important;}
html[data-theme="dark"] .notification-filter.active {border-color: #9FE870 !important;}
html[data-theme="dark"] .notification-message.is-unread {border-color: #3B4938 !important;}
html[data-theme="dark"] .notification-message.is-unread .tx-title {color: #F4F7F2 !important;}
html[data-theme="dark"] .notification-unread-dot {background: #9FE870 !important;box-shadow: 0 0 0 3px rgba(159,232,112,.14) !important;}
html[data-theme="dark"] .notification-detail-copy {background: #171C17 !important;color: #EDF2EA !important;border-color: #343B34 !important;}
html[data-theme="dark"] .notification-detail-help {color: #B3BCB2 !important;}
html[data-theme="dark"] .modal {background: #1B201B !important;color: #F2F5F0 !important;border: 1px solid #343B34 !important;}
html[data-theme="dark"] .modal-backdrop {background: rgba(0,0,0,.68) !important;}
html[data-theme="dark"] .close {color: #DCE3DA !important;}
html[data-theme="dark"] .auth-shell {background: linear-gradient(180deg,#111711 0%,#1A2518 45%,#101510 45%) !important;}
html[data-theme="dark"] .auth-card {background: #1B201B !important;color: #F2F5F0 !important;box-shadow: 0 22px 70px rgba(0,0,0,.35) !important;}
html[data-theme="dark"] .auth-tabs {background: #252B25 !important;}
html[data-theme="dark"] .auth-tab {color: #B3BCB2 !important;}
html[data-theme="dark"] .auth-tab.active {background: #343B34 !important;color: #9FE870 !important;box-shadow: none !important;}
html[data-theme="dark"] .auth-note {color: #AEB7AD !important;}
html[data-theme="light"] .invite-pill, html[data-theme="light"] .primary {background: #9FE870 !important;color: #173300 !important;}
html[data-theme="light"] .notification-btn {color: #0A6254 !important;}
@media(max-width:420px) {
  .hero-amount {font-size: 40px !important;}
  h1 {font-size: 28px !important;}
  h2, .section-head h2 {font-size: 20px !important;}
}
html[data-theme="dark"] {--bg: #111311;--surface: #1B1E1B;--surface-muted: #222522;--text: #F3F4F1;--muted: #AAB0AA;--border: #313631;--primary: #9FE870;--accent: #9FE870;--accent-soft: #263022;--premium-bg: #111311;--premium-surface: #1B1E1B;--premium-ink: #F3F4F1;--premium-muted: #AAB0AA;--premium-line: #313631;}
html[data-theme="dark"], html[data-theme="dark"] body {background: #111311 !important;}
html[data-theme="dark"] body {background: radial-gradient(circle at 50% -12%,rgba(159,232,112,.035),transparent 32%),
        #111311 !important;}
html[data-theme="dark"] .app {background: #111311 !important;}
html[data-theme="dark"] .hero {background: radial-gradient(circle at 92% 0%,rgba(159,232,112,.08),transparent 30%),
        linear-gradient(145deg,#242824 0%,#1B1F1B 100%) !important;border-color: #353A35 !important;}
html[data-theme="dark"] .profile-hero {background: linear-gradient(145deg,#242824 0%,#1C201C 100%) !important;border-color: #353A35 !important;}
html[data-theme="dark"] .card, html[data-theme="dark"] .setting-block, html[data-theme="dark"] .profile-stat, html[data-theme="dark"] .mini-account, html[data-theme="dark"] .goal, html[data-theme="dark"] .loan-summary .card, html[data-theme="dark"] .theme-choice {background: #1B1E1B !important;border-color: #313631 !important;}
html[data-theme="dark"] .bottom-nav {background: rgba(27,30,27,.98) !important;border-top-color: #313631 !important;}
.invite-pill, .primary, html[data-theme="dark"] .invite-pill, html[data-theme="dark"] .primary {background: #9FE870 !important;color: #173300 !important;border-color: #9FE870 !important;}
.quick-income .quick-icon {background: #9FE870 !important;color: #173300 !important;}
.nav-btn.active, html[data-theme="dark"] .nav-btn.active {color: #9FE870 !important;}
.nav-btn.active .ico, html[data-theme="dark"] .nav-btn.active .ico {background: transparent !important;}
.notification-btn, html[data-theme="dark"] .notification-btn {color: #9FE870 !important;}
.notification-filter.active, html[data-theme="dark"] .notification-filter.active {background: rgba(159,232,112,.12) !important;color: #9FE870 !important;border-color: rgba(159,232,112,.28) !important;}
.fill {background: #9FE870 !important;}
.notification-summary-count, html[data-theme="dark"] .notification-summary-count {background: #293029 !important;color: #9FE870 !important;border: 1px solid #3B4439 !important;}
html[data-theme="dark"] .notification-inbox-summary {background: #202320 !important;border-color: #323732 !important;}
html[data-theme="dark"] .profile-chip {background: #2A2E2A !important;border-color: #383D38 !important;color: #E5E8E3 !important;}
html[data-theme="dark"] .secondary {background: #252825 !important;border-color: #373C37 !important;}
html[data-theme="dark"] .theme-choice.active {border-color: #9FE870 !important;background: #202420 !important;box-shadow: 0 0 0 2px rgba(159,232,112,.10) !important;}
html[data-theme="dark"] .hero-mini-card {background: rgba(255,255,255,.045) !important;border-color: rgba(255,255,255,.08) !important;}
html[data-theme="light"] {--bg: #F5F6F4;--surface: #FFFFFF;--surface-muted: #F1F3F0;--text: #182018;--muted: #687268;--border: #E0E5DF;--primary: #9FE870;--accent: #9FE870;--accent-soft: #EEF8E8;--premium-bg: #F5F6F4;--premium-surface: #FFFFFF;--premium-ink: #182018;--premium-muted: #687268;--premium-line: #E0E5DF;}
html[data-theme="light"] body, html[data-theme="light"] .app {background: #F5F6F4 !important;color: #182018 !important;}
html[data-theme="light"] .hero {background: linear-gradient(145deg,#263128 0%,#1E2720 100%) !important;border-color: #364239 !important;}
html[data-theme="light"] .card, html[data-theme="light"] .setting-block, html[data-theme="light"] .mini-account, html[data-theme="light"] .profile-stat, html[data-theme="light"] .theme-choice {background: #FFFFFF !important;border-color: #E0E5DF !important;color: #182018 !important;}
html[data-theme="light"] .bottom-nav {background: rgba(255,255,255,.98) !important;border-top-color: #E0E5DF !important;}
html[data-theme="light"] .notification-filter.active {background: #EEF8E8 !important;color: #3F7923 !important;border-color: #D2E9C4 !important;}
html[data-theme="light"] {--primary: #4FAE2F;--accent: #4FAE2F;--info: #2F7E24;--accent-soft: #EDF7E9;--text: #172018;--muted: #5E695F;}
html[data-theme="light"] .section-head button, html[data-theme="light"] .inline-action, html[data-theme="light"] .positive, html[data-theme="light"] .nav-btn.active {color: #367F28 !important;}
html[data-theme="light"] .mini-account .bal, html[data-theme="light"] .focus-row strong, html[data-theme="light"] .metric-value, html[data-theme="light"] .tx-title, html[data-theme="light"] .tx-amount {color: #172018 !important;}
html[data-theme="light"] .focus-row.emphasis span, html[data-theme="light"] .focus-row.emphasis strong {color: #367F28 !important;}
html[data-theme="dark"] {--primary: #7CCB58;--accent: #7CCB58;--info: #8AD867;--accent-soft: #263423;--text: #F5F7F3;--muted: #C0C7BF;}
html[data-theme="dark"] .section-head button, html[data-theme="dark"] .inline-action, html[data-theme="dark"] .positive, html[data-theme="dark"] .nav-btn.active, html[data-theme="dark"] .notification-btn {color: #8AD867 !important;}
html[data-theme="dark"] .mini-account .bal, html[data-theme="dark"] .focus-row strong, html[data-theme="dark"] .metric-value, html[data-theme="dark"] .tx-title, html[data-theme="dark"] .tx-amount {color: #F5F7F3 !important;}
html[data-theme="dark"] .focus-row.emphasis span, html[data-theme="dark"] .focus-row.emphasis strong {color: #8AD867 !important;}
html[data-theme="dark"] .menu-note, html[data-theme="dark"] .tx-meta, html[data-theme="dark"] .helper, html[data-theme="dark"] .notice, html[data-theme="dark"] .mini-account .meta, html[data-theme="dark"] .focus-help {color: #C0C7BF !important;}
.theme-choice {cursor: pointer;}
.theme-choice.active::after {content: "✓";margin-left: auto;width: 28px;height: 28px;border-radius: 50%;display: grid;place-items: center;background: #9FE870;color: #173300;font-size: 15px;font-weight: 700;flex: 0 0 28px;}
.movement-toolbar {border-radius: 18px;}
.movement-search-row {grid-template-columns: minmax(0,1fr) auto;align-items: stretch;}
.movement-search-wrap {display: flex;align-items: center;gap: 10px;padding: 0 13px;transition: border-color .18s ease,box-shadow .18s ease,background .18s ease;}
.movement-search-wrap:focus-within {border-color: rgba(79,174,47,.72);box-shadow: 0 0 0 3px rgba(79,174,47,.10);}
.movement-search-icon {width: 19px;height: 19px;display: grid;place-items: center;flex: 0 0 19px;}
.movement-search-icon svg {width: 18px;height: 18px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}
.movement-search {border: 0 !important;background: transparent !important;outline: 0 !important;box-shadow: none !important;width: 100%;min-width: 0;padding: 12px 0 !important;font-weight: 450;}
.movement-search::placeholder {color: var(--muted);opacity: .86;}
.movement-search-button {border: 1px solid var(--primary);color: #fff;padding: 0 16px;display: inline-flex;align-items: center;justify-content: center;gap: 7px;cursor: pointer;transition: filter .18s ease,transform .08s ease;}
.movement-search-button:hover {filter: brightness(.96);}
.movement-search-button:active {transform: translateY(1px);}
.movement-filter-collapse {border: 1px solid var(--border);background: var(--surface);overflow: hidden;}
.movement-filter-collapse[open] {box-shadow: 0 3px 12px rgba(16,24,40,.035);}
.movement-filter-summary {grid-template-columns: auto 1fr auto;gap: 10px;color: var(--text);user-select: none;}
.movement-filter-summary-main {display: flex;align-items: center;gap: 8px;font-weight: 650;}
.movement-filter-summary-icon {border-radius: 8px;place-items: center;background: var(--accent-soft);color: var(--primary);}
.movement-filter-summary-icon svg, .movement-filter-chevron svg {width: 15px;height: 15px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}
.movement-filter-summary-hint {justify-self: end;color: var(--muted);font-weight: 500;}
.movement-filter-chevron {width: 24px;height: 24px;display: grid;place-items: center;color: var(--muted);transition: transform .2s ease;}
.movement-filter-collapse[open] .movement-filter-chevron {transform: rotate(180deg);}
.movement-filter-panel {border-top: 1px solid var(--border);}
.movement-filter-grid {display: grid;}
.movement-filter-field {display: flex;flex-direction: column;gap: 6px;}
.movement-filter-field label {line-height: 1;color: var(--muted);font-weight: 600;padding-left: 2px;}
.movement-filter-grid select {width: 100%;border: 1px solid var(--border);padding: 0 36px 0 12px;font-weight: 500;outline: 0;transition: border-color .18s ease,box-shadow .18s ease;appearance: none;background-image: linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position: calc(100% - 17px) 20px,calc(100% - 12px) 20px;background-size: 5px 5px,5px 5px;background-repeat: no-repeat;}
.movement-filter-grid select:focus {border-color: rgba(79,174,47,.72);box-shadow: 0 0 0 3px rgba(79,174,47,.10);}
.movement-toolbar-footer {justify-content: flex-end;min-height: 30px;}
.movement-clear {background: transparent;border: 0;color: var(--primary);font-weight: 650;cursor: pointer;}
.movement-clear:hover {text-decoration: underline;}
.tx-row {position: relative;}
.tx-row.clickable {cursor: pointer;padding-right: 36px;}
.tx-edit-indicator {position: absolute;right: 14px;top: 50%;transform: translateY(-50%);font-size: 17px;color: var(--muted);}
.planning-overview {margin-top: 14px;padding: 16px;}
.planning-overview-title {font-size: 15px;font-weight: 750;color: var(--text);margin-bottom: 12px;}
.planning-overview-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.planning-overview-grid>div {padding: 12px;border-radius: 14px;background: var(--surface-2,#f7f8f7);border: 1px solid var(--border);}
.planning-overview-grid span {display: block;font-size: 10px;color: var(--muted);line-height: 1.3;margin-bottom: 5px;}
.planning-overview-grid strong {font-size: 15px;color: var(--text);font-weight: 700;}
.planning-overview-emphasis {background: var(--accent-soft) !important;border-color: rgba(77,166,37,.22) !important;}
.planning-overview-emphasis strong {color: var(--primary) !important;}
.planning-overview-note {font-size: 10px;line-height: 1.5;color: var(--muted);margin-top: 11px;}
.transaction-form-actions {display: grid;grid-template-columns: 1fr !important;gap: 9px;margin-top: 12px;width: 100%;}
.transaction-form-actions .primary, .transaction-form-actions .secondary {margin-top: 0;width: 100%;min-height: 49px;}
#saveTransactionBtn {width: 100%;min-height: 49px;}
html[data-theme="dark"] .movement-search-wrap, html[data-theme="dark"] .movement-filter-grid select {background: var(--kumbu-dark-surface-2);border-color: var(--kumbu-dark-line);color: var(--kumbu-dark-text);}
html[data-theme="dark"] .movement-filter-collapse {background: var(--kumbu-dark-surface-2);border-color: var(--kumbu-dark-line);}
html[data-theme="dark"] .movement-filter-panel {border-top-color: var(--kumbu-dark-line);}
html[data-theme="dark"] .movement-search-button {background: var(--primary);border-color: var(--primary);color: #15210F;}
html[data-theme="dark"] .planning-overview-grid>div {background: var(--kumbu-dark-surface-2);border-color: var(--kumbu-dark-line);}
html[data-theme="dark"] .planning-overview-grid strong {color: var(--kumbu-dark-text);}
@media(min-width:520px) {
  .movement-filter-grid {grid-template-columns: repeat(3,1fr);}
}
@media(max-width:460px) {
  .movement-search-row {grid-template-columns: 1fr;}
  .movement-toolbar {padding: 13px;}
}
@media(max-width:390px) {
  .section-head h2 {font-size: 16px;}
  .tx-title {font-size: 12.5px;}
  .tx-meta {font-size: 10.5px;}
}
.notification-inbox-shell {padding: 0 !important;background: transparent !important;border: 0 !important;box-shadow: none !important;}
.notification-inbox-summary {display: flex;align-items: center;justify-content: space-between;gap: 14px;margin: 0 0 14px;background: #fff;border: 1px solid #E3EAE7;box-shadow: 0 3px 14px rgba(16,24,40,.035);}
.notification-summary-main {display: flex;align-items: center;gap: 12px;min-width: 0;}
.notification-summary-icon {flex: 0 0 40px;background: #EEF8F3;color: #087A61;display: flex;align-items: center;justify-content: center;}
.notification-summary-icon svg {width: 20px;height: 20px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;}
.notification-summary-title {letter-spacing: -.012em;color: #20312C;}
.notification-summary-note {margin-top: 3px !important;color: #6F7C78 !important;line-height: 1.45 !important;}
.notification-summary-count {border-radius: 999px !important;background: #EDF7F2 !important;color: #087A61 !important;font-size: 12px !important;font-weight: 800 !important;}
.notification-toolbar {display: flex !important;align-items: center !important;justify-content: space-between !important;gap: 10px !important;padding: 0 0 12px !important;overflow: visible !important;}
.notification-filter-group {display: inline-flex;align-items: center;gap: 3px;padding: 3px;min-width: 0;}
.notification-filter {min-height: 32px !important;border: 0 !important;border-radius: 8px !important;background: transparent !important;color: #66736F !important;padding: 0 10px !important;font-size: 10.5px !important;}
.notification-filter:hover {color: #263A34 !important;}
.notification-filter.active {background: #fff !important;box-shadow: 0 1px 4px rgba(16,24,40,.08) !important;}
.notification-mark-all {margin-left: 0 !important;color: #087A61 !important;font-size: 10.5px !important;font-weight: 700 !important;padding: 7px 2px !important;}
.notification-section-label {color: #87918E !important;font-weight: 700 !important;}
.notification-list-group {border: 1px solid #E3EAE7 !important;box-shadow: 0 3px 14px rgba(16,24,40,.03) !important;margin-bottom: 14px !important;background: #fff !important;}
.notification-list-group .notification-message + .notification-message {border-top: 1px solid #EEF2F0 !important;}
.notification-message {width: 100%;border: 0;background: #fff;gap: 11px !important;text-align: left;cursor: pointer;}
.notification-message.is-unread {background: #FBFEFC !important;}
.notification-message.is-read {opacity: .86;}
.notification-message.is-unread .tx-title {font-weight: 760 !important;color: #1E302B !important;}
.notification-message.is-read .tx-title {font-weight: 400 !important;color: #485550 !important;}
.notification-type-icon.budget {background: #FFF7EA !important;color: #9A6413 !important;}
.notification-type-icon.loan {background: #FFF0F0 !important;color: #B0443C !important;}
.notification-type-icon.summary {background: #EEF4FA !important;color: #496B8B !important;}
.notification-title-wrap {gap: 6px !important;}
.notification-title-line .tx-title {font-size: 16px !important;line-height: 1.4 !important;letter-spacing: -.006em;white-space: normal;overflow-wrap: anywhere;}
.notification-unread-dot {width: 6px !important;height: 6px !important;flex: 0 0 6px !important;background: #14A27D !important;box-shadow: none !important;}
.notification-preview {margin-top: 4px !important;color: #6B7773 !important;-webkit-line-clamp: 2 !important;}
.notification-meta-line {margin-top: 6px !important;gap: 8px !important;}
.notification-type-text {font-size: 9.5px;color: #8A9491;font-weight: 650;}
.notification-status-text {font-size: 9.5px;font-weight: 700;padding-left: 8px;position: relative;}
.notification-status-text:before {content: "";position: absolute;left: 0;top: 50%;width: 3px;height: 3px;border-radius: 50%;background: currentColor;transform: translateY(-50%);}
.notification-row-chevron {color: #A8B1AE !important;font-size: 19px !important;margin-left: 2px;}
.notification-empty-refined {padding: 32px 20px !important;border: 1px solid #E3EAE7 !important;border-radius: 18px !important;box-shadow: none !important;}
.notification-empty-icon {width: 48px !important;height: 48px !important;border-radius: 15px !important;font-size: 20px !important;background: #EEF8F3 !important;color: #087A61 !important;}
.notification-empty-refined strong {font-size: 14px !important;font-weight: 750 !important;}
.notification-empty-refined p {font-size: 11px !important;color: #77827E !important;}
html[data-theme="dark"] .notification-inbox-summary, html[data-theme="dark"] .notification-list-group, html[data-theme="dark"] .notification-message, html[data-theme="dark"] .notification-empty-refined {background: #17201E !important;border-color: #2A3532 !important;}
html[data-theme="dark"] .notification-message.is-unread {background: #192521 !important;}
html[data-theme="dark"] .notification-summary-icon {background: #20302B !important;color: #63D2B1 !important;}
html[data-theme="dark"] .notification-summary-title, html[data-theme="dark"] .notification-message.is-unread .tx-title {color: #EDF4F1 !important;}
html[data-theme="dark"] .notification-summary-note, html[data-theme="dark"] .notification-preview, html[data-theme="dark"] .notification-type-text {color: #9EAAA6 !important;}
html[data-theme="dark"] .notification-summary-count {background: #20302B !important;color: #63D2B1 !important;}
html[data-theme="dark"] .notification-filter-group {background: #202A27 !important;}
@media(max-width:430px) {
  .notification-toolbar {align-items: flex-start !important;flex-direction: column !important;}
  .notification-filter-group {width: 100%;display: grid;grid-template-columns: repeat(3,1fr);}
  .notification-filter {padding: 0 6px !important;}
  .notification-mark-all {align-self: flex-end;}
  .notification-inbox-summary {padding: 14px;}
  .notification-summary-icon {width: 38px;height: 38px;flex-basis: 38px;}
}
.positive-value, .tx-amount.positive, .positive {color: var(--accent) !important;}
html[data-theme="light"] .positive-value, html[data-theme="light"] .tx-amount.positive, html[data-theme="light"] .positive {color: #367F28 !important;}
html[data-theme="dark"] .positive-value, html[data-theme="dark"] .tx-amount.positive, html[data-theme="dark"] .positive {color: #8AD867 !important;}
:root {--financial-in: #3D8F2D;--financial-out: #C93F3A;--neutral-value: #1F2937;--soft-line: #E6EAE7;}
html[data-theme="dark"] {--financial-in: #8EEA67;--financial-out: #FF7A73;--neutral-value: #F4F7F5;--soft-line: #303832;}
h1, h2, .section-head h2 {letter-spacing: -.025em;}
.helper, .notice, .home-helper-note, .focus-help, .hero-hint, .tx-meta, .menu-note {line-height: 1.5;}
html[data-theme="light"] .tx-meta, html[data-theme="light"] .menu-note, html[data-theme="light"] .helper, html[data-theme="light"] .notice, html[data-theme="light"] .home-helper-note, html[data-theme="light"] .focus-help {color: #66716D !important;}
html[data-theme="dark"] .tx-meta, html[data-theme="dark"] .menu-note, html[data-theme="dark"] .helper, html[data-theme="dark"] .notice, html[data-theme="dark"] .home-helper-note, html[data-theme="dark"] .focus-help {color: #AEB8B2 !important;}
.positive, .positive-value, .tx-amount.positive {color: var(--financial-in) !important;}
.negative, .tx-amount.negative {color: var(--financial-out) !important;}
.mini-account .bal, .loan-summary .value, .metric-value, .focus-row strong, .project-line strong {color: var(--neutral-value);}
html[data-theme="dark"] .mini-account .bal, html[data-theme="dark"] .loan-summary .value, html[data-theme="dark"] .metric-value, html[data-theme="dark"] .focus-row strong, html[data-theme="dark"] .project-line strong {color: var(--neutral-value);}
.hero #homeIncomeMonth, .hero #homeExpenseMonth {color: #fff !important;}
.simplified-hero {padding: 25px 22px 21px;}
.simplified-hero .hero-hint {max-width: 510px;margin-top: 6px;opacity: .92;}
.hero-mini-kicker {letter-spacing: .02em;}
.focus-help {margin-top: 11px;font-size: 10.5px;}
.home-helper-note {font-size: 10.5px;margin-top: 9px;}
.section-head {margin-top: 28px;margin-bottom: 11px;}
.movement-search-row {grid-template-columns: minmax(0,1fr) 102px;}
.movement-search-wrap {background: #fff;border-color: #DDE4E0;box-shadow: 0 2px 10px rgba(16,24,40,.035);}
.movement-search-wrap:focus-within {border-color: #7BC55B;box-shadow: 0 0 0 3px rgba(95,190,55,.10),0 2px 10px rgba(16,24,40,.04);}
.movement-search-button {min-width: 0;min-height: 50px;border-radius: 15px;font-size: 12.5px;font-weight: 700;background: var(--primary);box-shadow: 0 2px 8px rgba(39,113,26,.10);}
.movement-filter-collapse {margin-top: 9px;border-color: #E0E6E2;border-radius: 15px;transition: border-color .18s ease,box-shadow .18s ease;}
.movement-filter-collapse[open] {border-color: #D6E0DA;box-shadow: 0 4px 16px rgba(16,24,40,.04);}
.movement-filter-summary-main {font-size: 12px;}
.movement-filter-summary-icon {color: #3E8E2F;}
.movement-filter-summary-hint {font-size: 10.5px;}
.movement-filter-panel {padding: 0 13px 12px;}
.movement-filter-field label {color: #68736F;}
.movement-filter-grid select {background-color: #FAFBFA;border-color: #E0E6E2;}
.movement-clear {color: #4B7E3A;text-decoration: none !important;}
.movement-clear:hover {opacity: .78;}
.tabs-filter {scrollbar-width: none;-ms-overflow-style: none;}
.tabs-filter::-webkit-scrollbar {display: none;}
.filter-btn {white-space: nowrap;border-radius: 999px;}
.planning-heading {display: flex;align-items: flex-end;justify-content: space-between;gap: 14px;}
.planning-heading h1 {margin-bottom: 4px;}
.planning-heading p {margin: 0;color: var(--muted);font-size: 11px;line-height: 1.45;}
.planning-plan-link {flex: 0 0 auto;border: 0;background: transparent;color: var(--primary);font-weight: 700;padding: 8px 0;cursor: pointer;}
#screen-planning>.section-head:first-of-type {margin-top: 20px;}
#screen-planning .card {box-shadow: 0 2px 12px rgba(16,24,40,.03);}
#screen-planning .progress-top {margin-bottom: 10px;}
#screen-planning .project {padding: 15px;}
.notification-inbox-summary {padding: 15px 16px;border-radius: 16px;box-shadow: none;}
.notification-summary-icon {width: 38px;height: 38px;flex-basis: 38px;border-radius: 12px;}
.notification-summary-title {font-size: 14px !important;font-weight: 700 !important;}
.notification-summary-note {font-size: 11px !important;}
.notification-filter-group {background: #F1F4F2;border-radius: 10px;}
.notification-filter {font-weight: 650 !important;}
.notification-filter.active {color: #245B35 !important;}
.notification-list-group {border-radius: 16px !important;box-shadow: none !important;}
.notification-message {padding: 13px 14px !important;}
.notification-message:hover {background: #FAFCFA !important;}
.notification-message .tx-title {font-weight: 650;}
html[data-theme="dark"] .movement-search-wrap, html[data-theme="dark"] .movement-filter-collapse {background: #1B201C !important;border-color: #303832 !important;box-shadow: none !important;}
html[data-theme="dark"] .movement-filter-grid select {background-color: #202621 !important;border-color: #343C36 !important;}
html[data-theme="dark"] .movement-filter-summary-icon {background: #263522;color: #8EEA67;}
html[data-theme="dark"] .notification-inbox-summary, html[data-theme="dark"] .notification-list-group, html[data-theme="dark"] .notification-message {background: #1B201C !important;border-color: #303832 !important;}
html[data-theme="dark"] .notification-filter-group {background: #252B27;}
html[data-theme="dark"] .notification-filter.active {background: #343B36 !important;color: #DDF7D3 !important;}
html[data-theme="dark"] .notification-message:hover {background: #202621 !important;}
button, .filter-btn, .movement-search-button, .movement-filter-summary {touch-action: manipulation;}
@media(max-width:460px) {
  .screen {padding-left: 16px;padding-right: 16px;}
  .app-header {padding-left: 16px;padding-right: 16px;}
  .movement-search-row {grid-template-columns: minmax(0,1fr) 92px !important;}
  .movement-search-button {width: auto !important;padding: 0 12px;font-size: 11.5px;}
  .movement-filter-summary-hint {display: block !important;max-width: 125px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
  .movement-filter-grid {grid-template-columns: 1fr;}
  .planning-heading {align-items: flex-start;flex-direction: column;gap: 4px;}
  .planning-plan-link {padding: 5px 0 3px;}
  .notification-toolbar {align-items: flex-start !important;flex-direction: column !important;gap: 8px !important;}
  .notification-filter-group {width: 100%;display: grid !important;grid-template-columns: repeat(3,1fr);}
  .notification-filter {padding: 0 6px !important;}
  .notification-mark-all {align-self: flex-end;}
}
@media(max-width:360px) {
  .movement-search-row {grid-template-columns: 1fr !important;}
  .movement-search-button {width: 100% !important;}
  .hero-mini-card strong {font-size: 15px;}
  .quick-grid {gap: 7px;}
  .quick-label {font-size: 10px;}
}
.category-row {display: flex;align-items: center;justify-content: space-between;gap: 16px;width: 100%;}
.category-row .menu-label {flex: 1;min-width: 0;text-align: left;}
.category-delete {margin-left: auto;flex: 0 0 auto;width: 38px;height: 38px;border-radius: 12px;display: grid;place-items: center;}
.tx-detail-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-top: 14px;}
.tx-detail-item {padding: 13px 14px;border: 1px solid var(--line);border-radius: 14px;background: var(--surface-soft);}
.tx-detail-item.wide {grid-column: 1/-1;}
.tx-detail-label {font-size: 12px;color: var(--muted);margin-bottom: 5px;}
.tx-detail-value {font-size: 15px;font-weight: 650;color: var(--text);overflow-wrap: anywhere;}
.tx-detail-amount {font-size: 28px;font-weight: 750;letter-spacing: -.02em;margin: 8px 0 2px;}
.tx-detail-actions {display: flex;gap: 10px;margin-top: 18px;}
.tx-detail-actions button {flex: 1;}
.tx-linked-note {margin-top: 12px;padding: 11px 13px;border-radius: 12px;background: var(--surface-soft);color: var(--muted);font-size: 13px;line-height: 1.45;}
@media(max-width:420px) {
  .tx-detail-grid {grid-template-columns: 1fr;}
  .tx-detail-item.wide {grid-column: auto;}
}
.loan-payment-summary {display: none;grid-template-columns: 1fr 1fr;gap: 10px;margin: 0 0 14px;padding: 12px;border: 1px solid var(--border);border-radius: 16px;background: var(--surface-muted);}
.loan-payment-summary.active {display: grid;}
.loan-payment-stat {min-width: 0;}
.loan-payment-stat .label {display: block;font-size: 10px;font-weight: 700;color: var(--muted);margin-bottom: 4px;}
.loan-payment-stat .value {display: block;font-size: 15px;font-weight: 700;color: var(--text);overflow-wrap: anywhere;}
.loan-payment-stat.remaining .value {color: var(--accent);}
.loan-payment-account {grid-column: 1/-1;padding-top: 10px;border-top: 1px solid var(--border);font-size: 10px;color: var(--muted);}
.loan-payment-account strong {color: var(--text);font-weight: 700;}
.recurring-shell {display: grid;gap: 12px;}
.recurring-row {display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 13px 0;border-bottom: 1px solid var(--border);}
.recurring-row:last-child {border-bottom: 0;}
.recurring-copy {min-width: 0;}
.recurring-title {font-weight: 700;color: var(--text);font-size: 14px;}
.recurring-meta {font-size: 10px;color: var(--muted);margin-top: 3px;}
.recurring-side {text-align: right;display: grid;gap: 6px;justify-items: end;}
.recurring-amount {font-weight: 700;font-size: 14px;white-space: nowrap;}
.recurring-status {display: inline-flex;align-items: center;min-height: 24px;padding: 3px 8px;border-radius: 999px;font-size: 9px;font-weight: 700;border: 1px solid var(--border);background: var(--surface-muted);color: var(--muted);}
.recurring-status.paid {color: var(--accent);background: var(--accent-soft);border-color: transparent;}
.recurring-status.overdue {color: var(--danger);background: rgba(217,45,32,.08);border-color: transparent;}
.recurring-status.pending {color: var(--text);}
.recurring-actions {display: flex;gap: 8px;flex-wrap: wrap;margin-top: 8px;}
.recurring-action {min-height: 34px;padding: 7px 11px;border-radius: 10px;border: 1px solid var(--border);background: var(--surface);color: var(--text);font-weight: 700;font-size: 10px;cursor: pointer;}
.recurring-action.primary-lite {background: var(--accent);border-color: var(--accent);color: #fff;}
.recurring-form-card {padding: 14px;}
.recurring-form-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.cashflow-note {display: grid;grid-template-columns: 1fr auto;gap: 10px;align-items: center;margin-top: 12px;padding: 12px 14px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);}
.cashflow-note .label {font-size: 10px;color: var(--muted);}
.cashflow-note .value {font-size: 15px;font-weight: 700;color: var(--text);}
@media(max-width:520px) {
  .recurring-row {grid-template-columns: auto minmax(0,1fr);}
  .recurring-side {grid-column: 2;text-align: left;justify-items: start;}
  .recurring-form-grid {grid-template-columns: 1fr;}
}
.movement-load-more {width: 100%;margin-top: 12px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);color: var(--text);font-weight: 650;cursor: pointer;}
.movement-load-more[hidden] {display: none !important;}
.account-option-note {font-size: 10px;color: var(--muted);}
.program-scope {display: inline-flex;align-items: center;padding: 3px 7px;border-radius: 999px;background: var(--surface-muted);font-size: 9px;color: var(--muted);font-weight: 650;margin-top: 4px;}
.schedule-mode-fields {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;}
.schedule-field-hidden {display: none !important;}
@media(max-width:420px) {
  .schedule-mode-fields {grid-template-columns: 1fr;}
}
.account-history-actions {display: flex;gap: 7px;flex-wrap: wrap;}
.account-status.closed {background: color-mix(in srgb,var(--danger) 12%,var(--chip));color: var(--danger);}
.account-history-note {margin-top: 5px;font-size: 9px;color: var(--muted);line-height: 1.45;}
.account-close-note {margin-top: 8px;padding: 10px 12px;border-radius: 12px;background: var(--chip);font-size: 9px;line-height: 1.5;color: var(--muted);}
.danger-menu-row .menu-label {color: var(--danger) !important;}
.danger-zone-card {border: 1px solid color-mix(in srgb,var(--danger) 28%,var(--border));background: color-mix(in srgb,var(--danger) 4%,var(--surface));}
.danger-zone-title {font-size: 14px;font-weight: 800;color: var(--danger);margin-bottom: 6px;}
.danger-zone-copy {font-size: 10px;line-height: 1.6;color: var(--muted);}
.danger-zone-list {margin: 12px 0 0;padding-left: 18px;font-size: 10px;line-height: 1.7;color: var(--muted);}
.danger-confirm-box {background: var(--surface-muted);border: 1px solid var(--border);}
.danger-confirm-box label {display: block;font-weight: 700;color: var(--text);}
.danger-confirm-box code {font-family: inherit;font-weight: 800;color: var(--danger);}
.danger-primary {background: var(--danger) !important;color: #fff !important;border-color: var(--danger) !important;}
.danger-primary:disabled {opacity: .45;cursor: not-allowed;}
.movement-all-note {margin: -3px 0 12px;font-size: 9px;line-height: 1.5;color: var(--muted);}
.simple-spent-card {margin-top: 14px;}
.simple-spent-total, .simple-flow-row {display: flex;align-items: center;justify-content: space-between;gap: 12px;}
.simple-spent-total {padding-bottom: 10px;margin-bottom: 4px;border-bottom: 1px solid var(--border);}
.simple-spent-total span, .simple-flow-row span {font-size: 10px;color: var(--muted);}
.simple-spent-total strong {font-size: 16px;}
.simple-flow-row strong {font-size: 11px;}
.simple-flow-row {padding: 8px 0;border-bottom: 1px solid var(--border);}
.simple-flow-row:last-child {border-bottom: 0;}
.simple-spent-note, .tx-route {margin-top: 8px;font-size: 9px;line-height: 1.5;color: var(--muted);}
.tx-route {margin-top: 3px;}
.movement-group-badge {display: inline-flex;align-items: center;border-radius: 999px;font-weight: 750;background: var(--surface-muted);color: var(--muted);}
.movement-group-badge.in {color: var(--accent);}
.movement-group-badge.spending {color: var(--danger);}
.movement-group-badge.application {color: #9a6700;}
.movement-group-badge.transfer {color: #3972d9;}
@media(max-width:520px) {
  .hero-mini-grid {grid-template-columns: 1fr;}
  .hero-mini-card {min-height: auto;}
}
.history-simple-card .focus-row:last-child {border-bottom: 0;}
@media(max-width:560px) {
  .hero-mini-grid {grid-template-columns: 1fr;}
  .hero-mini-card {min-height: auto;}
}
.real-totals-card {margin: 0 0 16px;}
.real-totals-head {display: flex;align-items: flex-start;justify-content: space-between;margin-bottom: 8px;}
.real-totals-title {font-size: 13px;font-weight: 800;}
.real-totals-note {font-size: 9px;color: var(--muted);margin-top: 3px;}
.real-total-row {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 10px 0;border-bottom: 1px solid var(--border);}
.real-total-row:last-child {border-bottom: 0;}
.real-total-row span {font-size: 10px;color: var(--muted);}
.real-total-row strong {font-size: 12px;}
.account-manage-list {display: flex;flex-direction: column;gap: 10px;}
.account-manage-row {display: flex;align-items: flex-start;justify-content: space-between;gap: 18px;padding: 18px;border: 1px solid var(--border);border-radius: 20px;background: var(--card);box-shadow: 0 8px 24px rgba(16,24,40,.035);}
.account-manage-row.is-archived {opacity: .78;background: color-mix(in srgb,var(--card) 88%,var(--bg));}
.account-manage-main {min-width: 0;flex: 1;}
.account-manage-title-line {display: flex;align-items: center;gap: 8px;flex-wrap: wrap;}
.account-income-note {margin-top: 4px;}
.account-manage-side {display: flex;flex-direction: column;align-items: flex-end;gap: 12px;min-width: 170px;}
.account-balance {font-size: 17px;font-weight: 800;white-space: nowrap;color: var(--text);}
.account-actions {display: flex;justify-content: flex-end;gap: 7px;flex-wrap: wrap;}
.compact-action {width: auto;min-height: 38px;padding: 8px 12px;border-radius: 12px;font-size: 11px;}
.danger-soft {color: var(--danger);border-color: color-mix(in srgb,var(--danger) 28%,var(--border));}
.account-status {display: inline-flex;align-items: center;padding: 4px 8px;border-radius: 999px;background: var(--chip);color: var(--muted);font-size: 9px;font-weight: 800;letter-spacing: .03em;text-transform: uppercase;}
.archived-accounts {margin-top: 18px;border-top: 1px solid var(--border);padding-top: 14px;}
.archived-accounts summary {cursor: pointer;display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 10px 2px;font-weight: 800;color: var(--text);list-style: none;}
.archived-accounts summary::-webkit-details-marker {display: none;}
.archived-accounts summary span {display: inline-flex;min-width: 28px;height: 28px;border-radius: 999px;align-items: center;justify-content: center;background: var(--chip);color: var(--muted);font-size: 11px;}
.archived-list {margin-top: 10px;}
.refined-empty {padding: 24px 18px;text-align: center;border: 1px dashed var(--border);border-radius: 18px;background: color-mix(in srgb,var(--card) 82%,var(--bg));}
.refined-empty .empty-title {font-size: 15px;font-weight: 800;color: var(--text);}
.refined-empty .empty-note {font-size: 11px;line-height: 1.55;color: var(--muted);max-width: 390px;margin: 6px auto 0;}
.empty-action {width: auto;margin-top: 14px;min-height: 40px;padding: 9px 15px;}
.manage-list-card {padding: 0 20px;}
.manage-list-card .category-row:last-child {border-bottom: 0;}
.tx-row.clickable:focus-visible, .notification-message:focus-visible, .account-manage-row button:focus-visible {outline: 3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset: 2px;}
@media(max-width:560px) {
  .account-manage-row {padding: 16px;flex-direction: column;gap: 12px;}
  .account-manage-side {width: 100%;min-width: 0;align-items: stretch;gap: 10px;}
  .account-balance {text-align: left;}
  .account-actions {justify-content: flex-start;}
  .compact-action {flex: 1 1 auto;}
}
:root {--bg: #F4F6F4;--surface: #FFFFFF;--surface-muted: #EEF2EF;--text: #17201D;--muted: #65706B;--border: #DDE4E0;--primary: #173E35;--accent: #8BDB63;--accent-strong: #63B83D;--accent-soft: #EAF7E3;--danger: #C94B45;--danger-soft: #FCECEA;--warning: #A76522;--warning-soft: #FFF2E3;--info: #356F61;--info-soft: #EAF3F0;--shadow: 0 10px 30px rgba(20,48,40,.06);--radius-xl: 24px;--radius-lg: 18px;--radius-md: 14px;--tap: 48px;}
html[data-theme="dark"] {--bg: #111411;--surface: #1B1F1B;--surface-muted: #242924;--text: #F3F5F2;--muted: #B2BBB4;--border: #343A34;--primary: #8BDB63;--accent: #8BDB63;--accent-strong: #9BE876;--accent-soft: #283723;--danger: #FF8179;--danger-soft: #3B2725;--warning: #E8AC66;--warning-soft: #372E22;--info: #95D5BC;--info-soft: #24342E;--shadow: none;}
html, body, button, input, select, textarea {font-family: Inter,"SF Pro Text",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;}
body {background: var(--bg);color: var(--text);font-size: 15px;font-weight: 450;}
.app {background: var(--bg);max-width: 560px;padding-bottom: calc(82px + env(safe-area-inset-bottom));}
.screen {padding: 16px 18px 34px;}
.app-header {padding: 16px 18px 34px;}
h1 {font-size: 30px;line-height: 1.08;font-weight: 780;letter-spacing: -.035em;margin-bottom: 8px;}
h2, .section-head h2 {font-size: 17px;line-height: 1.25;font-weight: 720;letter-spacing: -.018em;}
.screen-heading {margin-bottom: 18px;}
.screen-heading h1 {margin: 0 0 6px;}
.screen-heading p, .planning-heading p {font-size: 13px;line-height: 1.5;color: var(--muted);margin: 0;max-width: 440px;}
.screen-topbar {min-height: 46px;margin-bottom: 22px;}
.top-actions {gap: 10px;}
.invite-pill {min-height: 40px;padding: 0 14px;font-size: 12px;display: inline-flex !important;align-items: center !important;justify-content: center !important;white-space: nowrap !important;text-align: center !important;}
.notification-btn {width: 42px;height: 42px;}
.top-avatar {width: 42px;height: 42px;}
.card {border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: none;background: var(--surface);padding: 16px;}
.section-head {margin: 25px 1px 11px;}
.section-head.compact-head {margin-top: 18px;}
.section-head button {font-size: 12px;font-weight: 700;color: var(--info);min-height: 36px;padding: 7px 0;}
.hero {border-radius: 26px;background: linear-gradient(145deg,#19473B 0%,#10362F 100%);box-shadow: 0 16px 34px rgba(16,54,47,.15);padding: 21px 19px 18px;}
html[data-theme="dark"] .hero {background: linear-gradient(145deg,#24473D 0%,#17342D 100%);}
.hero-label {font-size: 13px;font-weight: 600;color: rgba(255,255,255,.72);}
.hero-amount {font-size: 36px;font-weight: 760;letter-spacing: -.045em;margin: 5px 0 2px;color: #fff;}
.hero-hint {font-size: 12px;line-height: 1.45;color: rgba(255,255,255,.68);margin: 0;}
.hero-mini-grid {display: grid !important;grid-template-columns: repeat(3,minmax(0,1fr)) !important;gap: 7px !important;margin-top: 16px !important;}
.hero-mini-card {min-width: 0 !important;min-height: 67px !important;padding: 10px 9px !important;border-radius: 14px !important;background: rgba(255,255,255,.09) !important;border: 1px solid rgba(255,255,255,.08) !important;}
.hero-mini-kicker {display: block;font-size: 10.5px !important;line-height: 1.22;color: rgba(255,255,255,.66);font-weight: 550;min-height: 26px;}
.hero-mini-card strong {display: block;margin-top: 3px;font-size: 13px !important;line-height: 1.15;color: #fff !important;font-weight: 700;overflow-wrap: anywhere;}
.fx-row {margin-top: 8px;}
.fx-pill {font-size: 12px;padding: 5px 8px;color: #fff;border-color: rgba(255,255,255,.15);background: rgba(255,255,255,.08);}
.quick-grid {gap: 8px;align-items: stretch !important;}
.quick {min-height: auto !important;display: flex !important;flex-direction: column !important;align-items: center !important;justify-content: center !important;gap: 10px !important;padding: 14px 10px !important;border: 1px solid var(--border) !important;border-radius: 20px !important;}
.quick-icon {width: 48px !important;height: 48px !important;border-radius: 16px !important;background: var(--surface) !important;border-color: var(--border) !important;color: var(--text);font-size: 21px !important;box-shadow: none !important;display: flex !important;align-items: center !important;justify-content: center !important;line-height: 1 !important;position: relative !important;overflow: hidden !important;}
.quick .quick-icon svg {width: 22px !important;height: 22px !important;stroke: currentColor !important;fill: none !important;stroke-width: 2.2 !important;stroke-linecap: round !important;stroke-linejoin: round !important;}
.quick-label {font-size: 12px !important;line-height: 1.25;margin-top: 7px !important;color: var(--text) !important;font-weight: 600 !important;display: block !important;width: 100% !important;text-align: center !important;}
.quick[data-new-kind="income"] .quick-icon {background: #13A774 !important;color: #fff !important;}
.quick[data-new-kind="expense"] .quick-icon {background: #EF4B45 !important;color: #fff !important;}
.quick[data-new-kind="transfer"] .quick-icon {background: #3478E5 !important;color: #fff !important;}
.quick[data-new-kind="investment"] .quick-icon {background: #F59E0B !important;color: #fff !important;}
.home-focus-card {padding: 14px 16px !important;}
.focus-row {min-height: 41px !important;padding: 7px 0;}
.focus-row span {font-size: 13px !important;color: var(--muted);}
.focus-row strong {font-size: 14px !important;font-weight: 700;}
.focus-row.emphasis span, .focus-row.emphasis strong {color: var(--text) !important;}
.progress-top span:first-child {font-size: 12px;}
.progress-top span:last-child {font-size: 13px;}
.track {height: 7px;margin: 9px 0 2px;}
.home-account-strip {gap: 9px;}
.mini-account {flex-basis: 172px !important;padding: 14px !important;border-radius: 17px !important;box-shadow: none !important;}
.mini-account .name {font-size: 12px !important;}
.mini-account .bal {font-size: 16px !important;}
.mini-account .meta {font-size: 11.5px !important;line-height: 1.4;}
.recent-card {padding: 3px 15px;}
.tx-row {padding: 13px 0;}
.tx-icon {width: 40px;height: 40px;}
.tx-title {font-size: 13.5px;font-weight: 650;}
.tx-meta, .tx-route {font-size: 11.5px !important;line-height: 1.4;}
.tx-amount {font-size: 13px;}
.movement-group-badge {font-size: 10px !important;padding: 2px 6px !important;}
.home-analysis-collapse, .history-overview-collapse {margin-top: 24px;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);overflow: hidden;}
.home-analysis-collapse>summary, .history-overview-collapse>summary {min-height: 54px;padding: 0 15px;display: flex;align-items: center;gap: 10px;cursor: pointer;list-style: none;font-size: 14px;font-weight: 680;}
.home-analysis-collapse>summary::-webkit-details-marker, .history-overview-collapse>summary::-webkit-details-marker {display: none;}
.summary-note {margin-left: auto;color: var(--muted);font-size: 11.5px;font-weight: 500;}
.summary-chevron {font-size: 22px;color: var(--muted);transition: transform .2s;}
.home-analysis-collapse[open] .summary-chevron, .history-overview-collapse[open] .summary-chevron {transform: rotate(90deg);}
.home-analysis-collapse .expense-chart-card {border: 0;border-top: 1px solid var(--border);border-radius: 0;margin: 0;padding: 15px;}
.onboarding-card {margin: 0 0 14px;padding: 15px;border-radius: 18px;background: var(--accent-soft);border: 1px solid color-mix(in srgb,var(--accent) 34%,var(--border));}
.onboarding-card[hidden] {display: none;}
.onboarding-step {display: flex;gap: 11px;align-items: flex-start;}
.onboarding-number {width: 28px;height: 28px;display: grid;place-items: center;flex: 0 0 auto;border-radius: 10px;background: var(--accent);color: #17331F;font-size: 12px;font-weight: 800;}
.onboarding-step strong {font-size: 14px;}
.onboarding-step p {font-size: 12px;line-height: 1.48;color: var(--muted);margin: 4px 0 0;}
.onboarding-action, .onboarding-actions button {min-height: 42px;border-radius: 13px;border: 0;background: var(--primary);color: #fff;font-size: 12px;font-weight: 700;padding: 0 14px;}
.onboarding-action {width: 100%;margin-top: 12px;}
.onboarding-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 8px;margin-top: 12px;}
.movement-toolbar {margin: 0 0 12px !important;padding: 0 !important;background: transparent !important;border: 0 !important;box-shadow: none !important;}
.movement-search-row {display: grid !important;grid-template-columns: minmax(0,1fr) 50px !important;gap: 8px !important;}
.movement-search-wrap {height: 50px;min-height: 50px !important;border: 1px solid var(--border) !important;border-radius: 15px !important;background: var(--surface) !important;box-shadow: none !important;}
.movement-search {font-size: 14px !important;color: var(--text) !important;}
.movement-search-icon {color: var(--muted);}
.movement-filter-collapse {margin: 0 !important;width: 50px;height: 50px;border: 0 !important;background: transparent !important;box-shadow: none !important;}
.movement-filter-summary {width: 50px;height: 50px;min-height: 50px !important;padding: 0 !important;border: 1px solid var(--border);border-radius: 15px;background: var(--surface);display: flex !important;align-items: center !important;justify-content: center !important;cursor: pointer;list-style: none;}
.movement-filter-summary::-webkit-details-marker {display: none;}
.movement-filter-summary-icon {width: 24px !important;height: 24px !important;background: transparent !important;color: var(--text) !important;display: flex !important;align-items: center !important;justify-content: center !important;}
.movement-filter-summary-icon svg {width: 18px !important;height: 18px !important;}
.movement-filter-label, .movement-filter-summary-hint, .movement-filter-chevron {display: none !important;}
.movement-filter-collapse[open]::before {content: "";position: fixed;inset: 0;background: rgba(8,16,13,.42);z-index: 118;pointer-events: none;}
.movement-filter-panel {transform: translateX(-50%) !important;width: min(100%,560px) !important;background: var(--surface) !important;padding: 10px 18px calc(20px + env(safe-area-inset-bottom)) !important;box-shadow: 0 -18px 55px rgba(0,0,0,.20) !important;}
.filter-sheet-handle {width: 48px;height: 5px;border-radius: 999px;background: var(--border);margin: 0 auto 16px;}
.filter-sheet-title strong {display: block;letter-spacing: -.025em;}
.filter-sheet-title span {display: block;margin-top: 4px;color: var(--muted);}
.movement-filter-grid {grid-template-columns: 1fr !important;gap: 10px !important;margin-top: 18px;}
.movement-filter-field label {font-size: 12px !important;}
.movement-filter-grid select {min-height: 48px !important;font-size: 14px !important;border-radius: 14px !important;background: var(--surface) !important;color: var(--text) !important;}
.movement-toolbar-footer {display: flex !important;align-items: center !important;justify-content: space-between !important;gap: 10px;}
.movement-clear {min-height: 44px;padding: 0 12px;font-size: 12px !important;}
.filter-sheet-done {min-width: 120px;border: 0;border-radius: 13px;background: var(--primary);color: #fff;font-weight: 700;}
.tabs-filter {gap: 7px;margin: 0 0 13px;padding: 2px 0 1px;}
.filter-btn {min-height: 38px !important;padding: 0 13px !important;font-size: 12px !important;background: var(--surface) !important;color: var(--muted) !important;}
.filter-btn.active {background: var(--primary) !important;color: #fff !important;border-color: var(--primary) !important;}
.movement-list-card {padding: 2px 15px;}
.movement-load-more {font-size: 13px !important;min-height: 46px !important;}
.fab {width: 56px;height: 56px;border-radius: 18px;bottom: calc(94px + env(safe-area-inset-bottom));background: var(--primary);font-size: 26px;}
.planning-heading {align-items: flex-start !important;margin-bottom: 14px !important;}
.planning-heading h1 {margin: 0 0 5px !important;}
.planning-plan-link {font-size: 12px !important;min-height: 40px !important;}
.history-overview-collapse {margin-top: 11px;}
.history-overview-body {padding: 0 15px 8px;border-top: 1px solid var(--border);}
.history-line {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 12px 0;border-bottom: 1px solid var(--border);}
.history-line:last-child {border-bottom: 0;}
.history-line span {font-size: 12px;color: var(--muted);}
.history-line strong {font-size: 13px;}
.render-anchor {display: none !important;}
.cycle-close-period, .cycle-close-next {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 12px 13px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface-muted);}
.cycle-close-period span, .cycle-close-next span {font-size: 12px;color: var(--muted);}
.cycle-close-period strong, .cycle-close-next strong {font-size: 13px;text-transform: capitalize;}
.cycle-close-summary {display: grid;grid-template-columns: repeat(3,1fr);gap: 8px;margin: 10px 0;}
.cycle-close-summary>div {padding: 12px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);}
.cycle-close-summary span {display: block;font-size: 10.5px;line-height: 1.35;color: var(--muted);min-height: 28px;}
.cycle-close-summary strong {display: block;margin-top: 5px;font-size: 13px;}
.cycle-close-actions {display: grid;grid-template-columns: 1fr 1.35fr;gap: 9px;margin-top: 16px;}
@media(max-width:390px) {
  .cycle-close-summary {grid-template-columns: 1fr;}
  .cycle-close-summary span {min-height: 0;}
  .cycle-close-actions {grid-template-columns: 1fr;}
}
.financial-cycle-card {display: flex;align-items: center;justify-content: space-between;gap: 14px;margin: 0 0 18px;padding: 15px 16px;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);}
.financial-cycle-copy {min-width: 0;}
.financial-cycle-copy span {display: block;font-size: 11.5px;color: var(--muted);}
.financial-cycle-copy strong {display: block;margin-top: 3px;font-size: 17px;text-transform: none;}
.financial-cycle-copy small {display: block;margin-top: 5px;max-width: 330px;font-size: 11px;line-height: 1.45;color: var(--muted);}
.financial-cycle-close {flex: 0 0 auto;min-height: 42px;padding: 0 13px;border: 1px solid var(--border);border-radius: 13px;background: var(--surface-muted);color: var(--text);font-size: 12px;font-weight: 700;cursor: pointer;}
.salary-config-cycle-note, .salary-cycle-target {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-top: 10px;padding: 10px 12px;border: 1px solid var(--border);border-radius: 13px;background: var(--surface-muted);}
.salary-config-cycle-note span, .salary-cycle-target span {font-size: 11.5px;color: var(--muted);}
.salary-config-cycle-note strong, .salary-cycle-target strong {font-size: 12px;text-transform: none;}
.compact-action:disabled {opacity: .55;cursor: not-allowed;}
@media(max-width:420px) {
  .financial-cycle-card {align-items: flex-start;flex-direction: column;}
  .financial-cycle-close {width: 100%;}
}
.next-due-card {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-top: 10px;padding: 12px 14px;border: 1px solid var(--border);border-radius: 15px;background: var(--surface);}
.next-due-card span {font-size: 12px;color: var(--muted);}
.next-due-card strong {font-size: 12px;text-align: right;}
.loan-action-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;margin-top: 11px;}
.loan-action-grid .secondary {font-size: 12px;}
.loan-row-refined button {align-items: flex-start !important;}
.loan-title-line {display: flex;align-items: center;gap: 7px;justify-content: space-between;}
.loan-progress {height: 5px;border-radius: 999px;background: var(--surface-muted);overflow: hidden;margin-top: 9px;}
.loan-progress span {display: block;height: 100%;border-radius: inherit;background: var(--accent);}
.loan-progress-meta {display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-top: 5px;}
.loan-progress-meta span {font-size: 10.5px;color: var(--muted);}
.loan-progress-meta strong {font-size: 12px;}
.loan-badge {font-size: 12px !important;white-space: nowrap;min-width: 90px;text-align: center;}
.debts-backlink {margin-bottom: 18px !important;}
.section-empty {margin-top: 4px !important;}
.commitments-card, .loan-list-card {padding: 14px 16px !important;}
.loan-list-card .loan-row:first-child, .commitments-card .recurring-row:first-child {padding-top: 4px;}
.loan-list-card .loan-row:last-child, .commitments-card .recurring-row:last-child {padding-bottom: 4px;border-bottom: 0 !important;}
.more-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;}
.more-tile {min-height: 126px;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);padding: 15px;text-align: left;color: var(--text);display: grid;grid-template-columns: 1fr auto;grid-template-rows: auto 1fr;gap: 9px;}
.more-tile-icon {width: 38px;height: 38px;border-radius: 13px;background: var(--surface-muted);display: grid;place-items: center;font-size: 18px;color: var(--info);}
.more-tile>span:nth-child(2) {grid-column: 1/-1;}
.more-tile strong {display: block;font-size: 14px;}
.more-tile small {display: block;margin-top: 4px;font-size: 11.5px;line-height: 1.4;color: var(--muted);}
.more-tile b {grid-column: 2;grid-row: 1;font-size: 22px;font-weight: 400;color: var(--muted);}
.more-list {padding: 2px 15px;}
#screen-profile .menu-row {position: relative;padding-left: 48px !important;min-height: 66px;}
#screen-profile .menu-row::before {position: absolute;left: 0;top: 50%;transform: translateY(-50%);width: 36px;height: 36px;border-radius: 12px;background: var(--surface-muted);display: grid;place-items: center;color: var(--info);font-size: 16px;font-weight: 650;}
#screen-profile .menu-row[data-open-subpanel="export"]::before {content: "⇩";}
#screen-profile .menu-row[data-open-subpanel="profile"]::before {content: "○";}
#screen-profile .menu-row[data-open-subpanel="dataManagement"]::before {content: "⇩";}
#screen-profile .menu-row[data-open-subpanel="appearance"]::before {content: "◐";}
#screen-profile .menu-row[data-open-subpanel="security"]::before {content: "⌾";}
#screen-profile .menu-row[data-open-subpanel="notificationSettings"]::before {content: "◌";}
#screen-profile .menu-row[data-open-subpanel="help"]::before {content: "?";}
#screen-profile .menu-row[data-open-subpanel="accounts"]::before {content: "▣";}
#screen-profile .menu-row[data-open-subpanel="categories"]::before {content: "≡";}
#screen-profile .menu-row[data-open-subpanel="projects"]::before {content: "◎";}
#screen-profile .menu-row[data-open-subpanel="recurring"]::before {content: "◷";}
#screen-profile .danger-menu-row::before {content: "×" !important;color: var(--danger) !important;background: var(--danger-soft) !important;}
.menu-label {font-size: 14px !important;font-weight: 650 !important;}
.menu-note {font-size: 12px !important;line-height: 1.42 !important;margin-top: 3px !important;}
.profile-stat .k {font-size: 10.5px !important;}
.profile-stat .v {font-size: 15px !important;}
.field {margin-bottom: 14px;}
.field label {font-size: 12px !important;line-height: 1.3;margin-bottom: 7px !important;}
.field input, .field select, .field textarea {min-height: 50px !important;font-size: 15px !important;border-radius: 14px !important;background: var(--surface) !important;color: var(--text) !important;}
.helper, .notice, .settings-note, .profile-photo-note, .empty-state .empty-note {font-size: 12px !important;line-height: 1.5 !important;}
.primary, .secondary, .danger-btn {min-height: 50px;font-size: 13px !important;border-radius: 14px;}
.transaction-kind-field {padding-bottom: 4px;}
.modal {background: var(--surface) !important;color: var(--text);padding-bottom: calc(25px + env(safe-area-inset-bottom));}
.modal-head h2 {font-size: 21px;}
.close {color: var(--text);background: var(--surface-muted);}
.bottom-nav {height: 78px;grid-template-columns: repeat(4,1fr) !important;background: color-mix(in srgb,var(--surface) 94%,transparent) !important;border-top-color: var(--border) !important;padding: 5px 8px max(5px,env(safe-area-inset-bottom));box-shadow: 0 -8px 24px rgba(20,35,30,.05);}
.nav-btn {font-size: 10.5px !important;font-weight: 600 !important;color: var(--muted) !important;gap: 3px !important;}
.nav-btn .ico {width: 37px !important;height: 34px !important;min-width: 37px !important;min-height: 34px !important;border-radius: 12px !important;}
.nav-btn .ico svg {width: 23px;height: 23px;}
.nav-btn.active {color: var(--text) !important;}
.nav-btn.active .ico {background: var(--accent-soft) !important;color: var(--info) !important;}
.nav-btn.active::after {display: none !important;}
html[data-theme="dark"] body, html[data-theme="dark"] .app {background: var(--bg) !important;}
html[data-theme="dark"] .card, html[data-theme="dark"] .mini-account, html[data-theme="dark"] .quick-icon, html[data-theme="dark"] .movement-search-wrap, html[data-theme="dark"] .movement-filter-summary, html[data-theme="dark"] .more-tile, html[data-theme="dark"] .next-due-card {background: var(--surface) !important;border-color: var(--border) !important;}
html[data-theme="dark"] .filter-btn {background: var(--surface) !important;border-color: var(--border) !important;}
html[data-theme="dark"] .filter-btn.active {background: #31432C !important;border-color: #31432C !important;color: #EAF7E3 !important;}
html[data-theme="dark"] .bottom-nav {background: rgba(27,31,27,.96) !important;}
.recurring-meta, .recurring-status, .account-option-note, .account-history-note, .account-close-note, .cashflow-note .label, .danger-zone-copy, .danger-zone-list, .danger-confirm-box label, .movement-all-note, .simple-spent-note, .notification-section-label, .notification-summary-note, .notification-preview, .notification-type-text, .notification-status-text, .expense-chart-kicker, .expense-chart-caption, .expense-chart-note {font-size: 11.5px !important;line-height: 1.45;}
@media(max-width:390px) {
  .screen {padding-left: 15px;padding-right: 15px;}
  .app-header {padding-left: 15px;padding-right: 15px;}
  .hero {padding-left: 16px;padding-right: 16px;}
  .hero-amount {font-size: 33px;}
  .hero-mini-grid {gap: 5px !important;}
  .hero-mini-card {padding: 9px 7px !important;}
  .hero-mini-kicker {font-size: 9.8px !important;}
  .hero-mini-card strong {font-size: 12px !important;}
  .quick-label {font-size: 11px !important;}
  .more-grid {grid-template-columns: 1fr 1fr;}
  .planning-heading {flex-direction: column !important;gap: 3px !important;}
  .planning-plan-link {padding: 2px 0 !important;}
}
@media(max-width:340px) {
  .hero-mini-grid {grid-template-columns: 1fr !important;}
  .hero-mini-card {min-height: auto !important;}
  .quick-grid {grid-template-columns: repeat(2,1fr);}
  .more-grid {grid-template-columns: 1fr;}
  .loan-action-grid {grid-template-columns: 1fr;}
}
@media(min-width:700px) {
  body {padding: 22px 0;}
  .app {border-radius: 28px;overflow: hidden;box-shadow: 0 20px 70px rgba(16,24,40,.12);}
  .bottom-nav {bottom: 22px;border-radius: 0 0 28px 28px;}
  .movement-filter-panel {bottom: 22px !important;border-radius: 28px !important;}
  .fab {bottom: 116px;}
}
.app-page {position: fixed !important;inset: 0 !important;z-index: 240 !important;display: none !important;overflow: auto !important;background: var(--bg) !important;padding: 0 !important;}
.app-page.open {display: block !important;}
.app-page-inner {width: 100% !important;max-width: 560px !important;min-height: 100dvh !important;max-height: none !important;margin: 0 auto !important;overflow: visible !important;border-radius: 0 !important;background: var(--bg) !important;color: var(--text) !important;box-shadow: none !important;padding: 18px 18px calc(38px + env(safe-area-inset-bottom)) !important;}
.app-page-head {display: flex !important;flex-direction: column-reverse !important;align-items: flex-start !important;gap: 22px !important;margin: 0 0 24px !important;}
.app-page-head h2 {margin: 0 !important;font-size: 29px !important;line-height: 1.08 !important;letter-spacing: -.035em !important;font-weight: 780 !important;}
.app-page .close, .page-back-btn {width: 46px !important;height: 46px !important;min-width: 46px !important;min-height: 46px !important;display: grid !important;place-items: center !important;border: 0 !important;border-radius: 50% !important;padding: 0 !important;background: var(--surface-muted) !important;color: var(--text) !important;cursor: pointer !important;}
.app-page .close svg, .page-back-btn svg {width: 24px;height: 24px;display: block;}
.app-page .close svg path, .page-back-btn svg path {fill: currentColor;}
.app-page .field label {font-size: 13px !important;font-weight: 650 !important;color: var(--text) !important;margin-bottom: 8px !important;}
.app-page .field input, .app-page .field select, .app-page .field textarea {min-height: 54px !important;padding: 0 15px !important;font-size: 15px !important;border-radius: 14px !important;background: var(--surface) !important;color: var(--text) !important;border: 1px solid var(--border) !important;}
.app-page .field textarea {padding-top: 14px !important;}
.app-page .helper, .page-intro {font-size: 13px !important;line-height: 1.55 !important;color: var(--muted) !important;}
.page-intro {margin: -8px 0 22px;}
.app-page .primary, .app-page .secondary, .app-page .danger-btn {min-height: 52px !important;font-size: 14px !important;}
.optional-label {font-weight: 500;color: var(--muted);}
.account-salary-toggle {display: flex;align-items: center;gap: 12px;margin: 4px 0 18px;padding: 15px;border: 1px solid var(--border);border-radius: 16px;background: var(--surface);cursor: pointer;}
.account-salary-toggle input {width: 20px;height: 20px;min-width: 20px;min-height: 20px;flex: 0 0 20px;accent-color: var(--primary);margin: 0;align-self: center;}
.account-salary-toggle span {display: flex;flex-direction: column;justify-content: center;min-height: 20px;min-width: 0;flex: 1;}
.account-salary-toggle strong {display: block;font-size: 14px;line-height: 1.35;margin: 0;}
.account-salary-toggle small {display: block;margin-top: 4px;font-size: 12px;line-height: 1.45;color: var(--muted);}
.account-salary-value[hidden] {display: none !important;}
.confirmation-page-inner {display: flex;flex-direction: column;}
.confirmation-icon {width: 54px;height: 54px;border-radius: 18px;display: grid;place-items: center;background: var(--danger-soft);color: var(--danger);font-size: 24px;font-weight: 800;margin-bottom: 18px;}
.confirmation-message {font-size: 16px;line-height: 1.55;margin: 0 0 16px;color: var(--text);}
.confirmation-warning {margin-bottom: 20px;}
.confirmation-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-top: auto;padding-top: 28px;}
.photo-sheet-backdrop {position: fixed !important;inset: 0 !important;z-index: 240 !important;display: none !important;overflow: auto !important;background: var(--bg) !important;padding: 0 !important;}
.photo-sheet-backdrop.open {display: block !important;}
.photo-sheet {width: 100% !important;max-width: 560px !important;min-height: 100dvh !important;margin: 0 auto !important;border-radius: 0 !important;box-shadow: none !important;background: var(--bg) !important;color: var(--text) !important;padding: 18px 18px calc(38px + env(safe-area-inset-bottom)) !important;transform: none !important;}
.photo-page-back {margin-bottom: 24px;}
.photo-sheet-title {text-align: left !important;font-size: 29px !important;line-height: 1.08 !important;margin: 0 0 24px !important;}
.photo-sheet-list {background: var(--surface) !important;border: 1px solid var(--border) !important;border-radius: 18px !important;overflow: hidden;}
.photo-sheet-action {min-height: 66px !important;}
.movement-filter-collapse[open]::before {display: none !important;}
.movement-filter-panel {position: fixed !important;inset: 0 !important;left: 0 !important;bottom: auto !important;transform: none !important;width: 100% !important;max-width: 560px !important;height: 100dvh !important;min-height: 100dvh !important;margin: 0 auto !important;z-index: 245 !important;background: var(--bg) !important;border-radius: 0 !important;padding: 22px 18px calc(30px + env(safe-area-inset-bottom)) !important;box-shadow: none !important;overflow: auto !important;}
@media(min-width:560px) {
  .movement-filter-panel {left: 50% !important;transform: translateX(-50%) !important;}
}
.filter-sheet-handle {display: none !important;}
.filter-sheet-title {padding-top: 0;position: relative;}
.filter-sheet-title strong {font-size: 29px !important;line-height: 1.08 !important;}
.filter-sheet-title span {font-size: 13px !important;}
.movement-toolbar-footer {margin-top: 28px !important;}
.filter-sheet-done {min-height: 50px !important;font-size: 13px !important;}
.auth-shell {overflow: auto !important;padding: 0 !important;}
.auth-wise-shell {min-height: 100dvh;color: #0E0F0C;}
.auth-wise-brand {max-width: 1180px;}
.auth-wise-brand-copy {display: flex;flex-direction: column;}
.auth-wise-brand-copy span {margin-top: 4px;font-size: 11px;color: #6B7168;}
.auth-wise-main {min-height: calc(100dvh - 86px);justify-content: center;align-items: flex-start;}
.auth-wise-switch {color: #5B6158;}
.auth-wise-switch button, .auth-help-link {border: 0;background: transparent;color: #173F35;font: inherit;font-weight: 750;text-decoration: underline;text-underline-offset: 3px;cursor: pointer;padding: 0;}
.auth-wise-form .field label {display: block;font-weight: 650 !important;color: #1B1E19 !important;margin-bottom: 8px !important;}
.auth-wise-form .field input {border: 1.5px solid #8D9389 !important;background: #fff !important;color: #11140F !important;box-shadow: none !important;}
.auth-wise-form .field input:focus {border-color: #163F35 !important;box-shadow: 0 0 0 3px rgba(22,63,53,.10) !important;}
.auth-password-toggle {color: #173F35;font-weight: 750;}
.auth-wise-submit {background: #9FE870 !important;color: #163300 !important;font-weight: 750 !important;}
.auth-help-link {display: block;font-size: 14px;}
.auth-divider {display: flex;align-items: center;gap: 14px;color: #747A71;font-size: 12px;}
.auth-divider::before, .auth-divider::after {content: "";height: 1px;background: #E1E4DF;flex: 1;}
.auth-demo-wise {margin: 0 !important;border: 1px solid #B9BEB6 !important;background: #fff !important;color: #173F35 !important;font-weight: 700 !important;}
.auth-note {max-width: 420px;color: #777D74 !important;text-align: left !important;}
html[data-theme="dark"] .auth-shell, html[data-theme="dark"] .auth-wise-shell {background: #111311 !important;color: #F4F7F3 !important;}
html[data-theme="dark"] .auth-wise-subtitle, html[data-theme="dark"] .auth-wise-switch, html[data-theme="dark"] .auth-wise-brand-copy span {color: #AEB6AD !important;}
html[data-theme="dark"] .auth-wise-form .field label {color: #F4F7F3 !important;}
html[data-theme="dark"] .auth-wise-form .field input, html[data-theme="dark"] .auth-demo-wise {background: #1B1E1B !important;color: #F4F7F3 !important;border-color: #4A514A !important;}
html[data-theme="dark"] .auth-wise-switch button, html[data-theme="dark"] .auth-help-link, html[data-theme="dark"] .auth-password-toggle {color: #9FE870 !important;}
html[data-theme="dark"] .auth-divider::before, html[data-theme="dark"] .auth-divider::after {background: #313631 !important;}
@media(max-width:520px) {
  .auth-wise-brand {padding: 18px;}
  .auth-wise-main {padding: 32px 18px 46px;}
  .auth-wise-panel h1 {font-size: 32px !important;}
  .app-page-inner, .photo-sheet {padding-left: 16px !important;padding-right: 16px !important;}
  .form-grid {grid-template-columns: 1fr !important;}
}
html[data-theme="dark"] .app-page, html[data-theme="dark"] .app-page-inner, html[data-theme="dark"] .photo-sheet, html[data-theme="dark"] .movement-filter-panel {background: var(--bg) !important;color: var(--text) !important;}
.auth-shell {position: fixed !important;inset: 0 !important;z-index: 300 !important;display: block !important;overflow-x: hidden !important;overflow-y: auto !important;overscroll-behavior-y: contain;-webkit-overflow-scrolling: touch;background: #fff !important;padding: max(14px,env(safe-area-inset-top))
    max(16px,env(safe-area-inset-right))
    max(20px,env(safe-area-inset-bottom))
    max(16px,env(safe-area-inset-left)) !important;}
.auth-shell.hidden {display: none !important;}
.auth-wise-shell {width: 100% !important;max-width: 430px !important;min-height: calc(100dvh - max(14px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom))) !important;margin: 0 auto !important;display: flex !important;flex-direction: column !important;background: transparent !important;}
.auth-wise-brand {width: 100% !important;margin: 0 !important;padding: 2px 0 0 !important;display: flex !important;align-items: center !important;justify-content: flex-start !important;gap: 9px !important;min-height: 44px !important;}
.auth-wise-brand .brand-mark {width: 38px !important;height: 38px !important;min-width: 38px !important;border-radius: 12px !important;margin: 0 !important;box-shadow: none !important;}
.auth-wise-brand-copy strong {font-size: 18px !important;line-height: 1.05 !important;font-weight: 800 !important;letter-spacing: -.025em !important;}
.auth-wise-brand-copy span {display: none !important;}
.auth-wise-main {width: 100% !important;min-height: 0 !important;flex: 1 !important;display: block !important;padding: 34px 0 24px !important;}
.auth-wise-panel {width: 100% !important;max-width: none !important;margin: 0 !important;}
.auth-wise-panel h1 {margin: 0 !important;font-size: 30px !important;line-height: 1.08 !important;font-weight: 780 !important;letter-spacing: -.038em !important;color: #0E0F0C !important;}
.auth-wise-subtitle {margin: 9px 0 0 !important;font-size: 14px !important;line-height: 1.48 !important;color: #62685F !important;}
.auth-wise-switch {margin: 7px 0 27px !important;font-size: 13px !important;line-height: 1.4 !important;}
.auth-wise-switch button, .auth-help-link {min-height: 32px !important;display: inline-flex !important;align-items: center !important;font-size: 13px !important;touch-action: manipulation;}
.auth-wise-form {width: 100% !important;}
.auth-wise-form .field {margin-bottom: 17px !important;}
.auth-wise-form .field label {font-size: 13px !important;line-height: 1.3 !important;margin: 0 0 7px !important;}
.auth-wise-form .field input {width: 100% !important;height: 56px !important;min-height: 56px !important;padding: 0 15px !important;border-radius: 13px !important;font-size: 16px !important;line-height: 1 !important;}
.auth-wise-submit {width: 100% !important;height: 56px !important;min-height: 56px !important;margin-top: 3px !important;border-radius: 999px !important;font-size: 15px !important;touch-action: manipulation;}
.auth-help-link {margin: 14px 0 0 !important;padding: 0 !important;}
.auth-help-link[hidden] {display: none !important;}
.auth-divider {margin: 24px 0 18px !important;}
.auth-demo-wise {width: 100% !important;min-height: 54px !important;border-radius: 999px !important;font-size: 13px !important;padding: 0 16px !important;}
.auth-note {margin: 20px 2px 0 !important;font-size: 10.5px !important;line-height: 1.5 !important;}
@media (max-height:700px) {
  .auth-wise-main {padding-top: 22px !important;}
  .auth-wise-panel h1 {font-size: 27px !important;}
  .auth-wise-switch {margin-bottom: 20px !important;}
  .auth-wise-form .field {margin-bottom: 13px !important;}
  .auth-divider {margin: 18px 0 14px !important;}
  .auth-note {margin-top: 14px !important;}
}
@media (max-width:350px) {
  .auth-shell {padding-left: 14px !important;padding-right: 14px !important;}
  .auth-wise-main {padding-top: 27px !important;}
  .auth-wise-panel h1 {font-size: 28px !important;}
  .auth-wise-subtitle {font-size: 13px !important;}
}
@media (min-width:600px) {
  .auth-shell {background: #F4F7F3 !important;padding-top: 34px !important;}
  .auth-wise-shell {max-width: 430px !important;min-height: auto !important;padding: 22px 24px 28px !important;border-radius: 24px !important;background: #fff !important;box-shadow: 0 18px 60px rgba(18,35,28,.10) !important;}
  .auth-wise-main {padding-top: 30px !important;}
}
html[data-theme="dark"] .auth-shell {background: #111311 !important;}
html[data-theme="dark"] .auth-wise-shell {background: transparent !important;}
html[data-theme="dark"] .auth-wise-panel h1 {color: #F4F7F3 !important;}
html[data-theme="dark"] .auth-wise-subtitle, html[data-theme="dark"] .auth-wise-switch {color: #AEB6AD !important;}
@media (min-width:600px) {
  html[data-theme="dark"] .auth-shell {background: #0D100D !important;}
  html[data-theme="dark"] .auth-wise-shell {background: #171A17 !important;box-shadow: 0 18px 60px rgba(0,0,0,.30) !important;}
}
@supports (height:100svh) {
  .auth-wise-shell {min-height: calc(100svh - max(14px,env(safe-area-inset-top)) - max(20px,env(safe-area-inset-bottom))) !important;}
}
.auth-wise-switch button[hidden] {display: none !important;}
.app-page #salaryField {margin-top: 4px !important;padding: 0 !important;}
.app-page .salary-check {display: grid !important;grid-template-columns: 22px minmax(0,1fr) !important;align-items: center !important;column-gap: 10px !important;width: 100% !important;min-height: 42px !important;margin: 0 !important;padding: 0 !important;cursor: pointer !important;}
.app-page .salary-check input[type="checkbox"] {appearance: auto !important;-webkit-appearance: checkbox !important;width: 20px !important;height: 20px !important;min-width: 20px !important;min-height: 20px !important;max-width: 20px !important;max-height: 20px !important;margin: 0 !important;padding: 0 !important;border: 0 !important;border-radius: 4px !important;box-shadow: none !important;accent-color: #49B52B !important;justify-self: center !important;}
.app-page .salary-check span {display: block !important;margin: 0 !important;padding: 0 !important;font-size: 13px !important;line-height: 1.35 !important;font-weight: 700 !important;color: var(--text) !important;}
.app-page #salaryField>.helper {margin: 5px 0 12px 32px !important;max-width: calc(100% - 32px) !important;}
.app-page .salary-cycle-target {margin-left: 32px !important;width: calc(100% - 32px) !important;}
@media(max-width:360px) {
  .app-page #salaryField>.helper {margin-left: 30px !important;max-width: calc(100% - 30px) !important;}
  .app-page .salary-cycle-target {margin-left: 30px !important;width: calc(100% - 30px) !important;}
}
.actual-only-note {margin: 12px 0 0;padding: 12px 14px;border: 1px solid var(--border);border-radius: 15px;background: var(--surface-muted);font-size: 12px;line-height: 1.5;color: var(--muted);}
#recentMovementsViewAll[hidden], #planningHistoryOverview[hidden] {display: none !important;}
.notification-page-head {display: flex;align-items: flex-start;justify-content: space-between;gap: 14px;margin-bottom: 18px;}
.notification-page-head h1 {margin: 0 0 6px !important;}
.notification-page-head p {margin: 0;max-width: 410px;font-size: 12.5px;line-height: 1.5;color: var(--muted);}
.notification-settings-link {flex: 0 0 auto;border: 0;background: transparent;color: var(--primary);font-size: 12px;font-weight: 700;padding: 8px 0;cursor: pointer;}
.notification-health-card {display: flex;align-items: center;justify-content: space-between;gap: 14px;padding: 16px;background: var(--surface);border: 1px solid var(--border);border-radius: 18px;margin-bottom: 11px;}
.notification-health-main {display: flex;align-items: center;gap: 12px;min-width: 0;}
.notification-health-icon {width: 40px;height: 40px;flex: 0 0 40px;display: grid;place-items: center;border-radius: 13px;background: #EEF8F1;color: #347A2A;font-size: 18px;font-weight: 850;}
.notification-health-main strong {display: block;font-size: 14px;line-height: 1.25;color: var(--text);}
.notification-health-main span {display: block;margin-top: 3px;font-size: 11px;line-height: 1.4;color: var(--muted);}
.notification-health-card.has-warning .notification-health-icon {background: #FFF5E8;color: #B66314;}
.notification-health-card.has-critical .notification-health-icon {background: #FFF0EF;color: #C33E38;}
.notification-summary-count {display: grid !important;place-items: center !important;min-width: 30px !important;height: 30px !important;padding: 0 8px !important;}
.notification-priority-grid {display: grid;grid-template-columns: repeat(3,1fr);gap: 8px;margin-bottom: 16px;}
.notification-priority-item {min-width: 0;padding: 11px 10px;background: var(--surface);border: 1px solid var(--border);border-radius: 14px;}
.notification-priority-item span {display: block;min-height: 28px;font-size: 9.5px;line-height: 1.25;color: var(--muted);}
.notification-priority-item strong {display: block;margin-top: 4px;font-size: 17px;line-height: 1;color: var(--text);}
.notification-priority-item.critical strong {color: #C33E38;}
.notification-priority-item.warning strong {color: #B66314;}
.notification-priority-item.info strong {color: #397261;}
.notification-toolbar {margin-bottom: 6px !important;}
.notification-mark-all {white-space: nowrap;}
.notification-section-label {margin: 13px 3px 7px !important;font-size: 10px !important;text-transform: none !important;letter-spacing: 0 !important;color: var(--muted) !important;}
.notification-list-group {overflow: hidden;}
.notification-message {display: flex !important;align-items: flex-start !important;}
.notification-type-icon {width: 38px !important;height: 38px !important;flex: 0 0 38px !important;display: grid !important;place-items: center !important;border-radius: 12px !important;font-size: 14px !important;font-weight: 800 !important;}
.notification-type-icon.spending, .notification-type-icon.schedule, .notification-type-icon.loan {background: #FFF5E8 !important;color: #A95912 !important;}
.notification-type-icon.salary, .notification-type-icon.summary {background: #EEF8F1 !important;color: #347A2A !important;}
.notification-type-icon.balance {background: #FFF0EF !important;color: #C33E38 !important;}
.notification-type-icon.project {background: #F1F1FC !important;color: #5959A7 !important;}
.notification-type-icon.account {background: #F2F5F4 !important;color: #56645F !important;}
.notification-preview {font-size: 15px !important;line-height: 1.6 !important;}
.notification-status-text.critical {color: #C33E38 !important;}
.notification-status-text.warning {color: #B66314 !important;}
#subpanelContent>.page-intro {margin-top: -5px;}
html[data-theme="dark"] .notification-health-card, html[data-theme="dark"] .notification-priority-item {background: #1B201C !important;border-color: #303832 !important;}
html[data-theme="dark"] .notification-health-icon {background: #243123 !important;color: #91E271 !important;}
html[data-theme="dark"] .notification-health-card.has-warning .notification-health-icon {background: #34291D !important;color: #F3B665 !important;}
html[data-theme="dark"] .notification-health-card.has-critical .notification-health-icon {background: #392321 !important;color: #FF8B84 !important;}
@media(max-width:390px) {
  .notification-page-head {flex-direction: column;gap: 4px;}
  .notification-settings-link {padding: 3px 0 6px;}
  .notification-priority-item {padding: 10px 8px;}
  .notification-priority-item span {font-size: 9px;}
}
#screen-movements .movement-toolbar {margin: 14px 0 13px !important;padding: 0 !important;background: transparent !important;border: 0 !important;box-shadow: none !important;}
#screen-movements .movement-search-row {display: block !important;width: 100% !important;}
#screen-movements .movement-search-wrap {width: 100% !important;height: 52px !important;min-height: 52px !important;display: flex !important;align-items: center !important;gap: 10px !important;padding: 0 14px !important;border: 1px solid var(--border) !important;border-radius: 15px !important;background: var(--surface) !important;box-shadow: none !important;}
#screen-movements .movement-search-wrap:focus-within {border-color: color-mix(in srgb,var(--primary) 65%,var(--border)) !important;box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent) !important;}
#screen-movements .movement-search {width: 100% !important;min-width: 0 !important;height: auto !important;min-height: 0 !important;padding: 0 !important;border: 0 !important;background: transparent !important;box-shadow: none !important;outline: none !important;font-size: 14px !important;color: var(--text) !important;}
#screen-movements .movement-filter-collapse {position: relative !important;inset: auto !important;display: block !important;width: 100% !important;height: auto !important;min-height: 0 !important;margin: 9px 0 0 !important;padding: 0 !important;overflow: hidden !important;border: 1px solid var(--border) !important;border-radius: 15px !important;background: var(--surface) !important;box-shadow: none !important;}
#screen-movements .movement-filter-collapse[open] {border-color: color-mix(in srgb,var(--primary) 22%,var(--border)) !important;box-shadow: 0 4px 14px rgba(16,24,40,.035) !important;}
#screen-movements .movement-filter-collapse[open]::before {display: none !important;content: none !important;}
#screen-movements .movement-filter-summary {width: 100% !important;height: auto !important;min-height: 47px !important;display: grid !important;grid-template-columns: minmax(0,1fr) auto auto !important;align-items: center !important;gap: 9px !important;padding: 0 12px !important;margin: 0 !important;border: 0 !important;border-radius: 0 !important;background: transparent !important;color: var(--text) !important;cursor: pointer !important;list-style: none !important;}
#screen-movements .movement-filter-summary::-webkit-details-marker {display: none !important;}
#screen-movements .movement-filter-summary-main {display: flex !important;align-items: center !important;gap: 9px !important;min-width: 0 !important;font-size: 12.5px !important;font-weight: 680 !important;}
#screen-movements .movement-filter-summary-icon {width: 30px !important;height: 30px !important;flex: 0 0 30px !important;display: grid !important;place-items: center !important;border-radius: 10px !important;background: var(--accent-soft) !important;color: var(--info) !important;}
#screen-movements .movement-filter-summary-icon svg {width: 17px !important;height: 17px !important;fill: none !important;stroke: currentColor !important;stroke-width: 1.9 !important;stroke-linecap: round !important;stroke-linejoin: round !important;}
#screen-movements .movement-filter-label {display: inline !important;font-size: 12.5px !important;font-weight: 680 !important;}
#screen-movements .movement-filter-summary-hint {display: block !important;justify-self: end !important;max-width: 190px !important;overflow: hidden !important;text-overflow: ellipsis !important;white-space: nowrap !important;color: var(--muted) !important;font-size: 10.5px !important;font-weight: 500 !important;}
#screen-movements .movement-filter-chevron {width: 26px !important;height: 26px !important;display: grid !important;place-items: center !important;color: var(--muted) !important;transition: transform .2s ease !important;}
#screen-movements .movement-filter-chevron svg {width: 16px !important;height: 16px !important;fill: none !important;stroke: currentColor !important;stroke-width: 1.9 !important;stroke-linecap: round !important;stroke-linejoin: round !important;}
#screen-movements .movement-filter-collapse[open] .movement-filter-chevron {transform: rotate(180deg) !important;}
#screen-movements .movement-filter-panel {position: static !important;inset: auto !important;left: auto !important;right: auto !important;top: auto !important;bottom: auto !important;transform: none !important;width: 100% !important;max-width: none !important;height: auto !important;min-height: 0 !important;margin: 0 !important;padding: 13px 12px 12px !important;overflow: visible !important;z-index: auto !important;border: 0 !important;border-top: 1px solid var(--border) !important;border-radius: 0 !important;background: transparent !important;box-shadow: none !important;}
#screen-movements .filter-sheet-handle, #screen-movements .filter-sheet-title, #screen-movements .filter-page-back {display: none !important;}
#screen-movements .movement-filter-grid {display: grid !important;grid-template-columns: 1fr !important;gap: 11px !important;margin: 0 !important;}
#screen-movements .movement-filter-field {display: flex !important;flex-direction: column !important;gap: 6px !important;}
#screen-movements .movement-filter-field label {padding: 0 2px !important;font-size: 11px !important;line-height: 1.25 !important;color: var(--muted) !important;font-weight: 600 !important;}
#screen-movements .movement-filter-grid select {width: 100% !important;min-height: 48px !important;padding: 0 38px 0 13px !important;border: 1px solid var(--border) !important;border-radius: 13px !important;background-color: var(--surface-muted) !important;color: var(--text) !important;font-size: 13px !important;}
#screen-movements .movement-toolbar-footer {display: flex !important;align-items: center !important;justify-content: space-between !important;gap: 10px !important;min-height: 0 !important;margin: 13px 0 0 !important;}
#screen-movements .movement-clear {min-height: 42px !important;padding: 0 8px !important;border: 0 !important;background: transparent !important;color: var(--primary) !important;font-size: 12px !important;font-weight: 680 !important;}
#screen-movements .filter-sheet-done {min-width: 108px !important;min-height: 42px !important;padding: 0 16px !important;border: 0 !important;border-radius: 12px !important;background: var(--primary) !important;color: #fff !important;font-size: 12px !important;font-weight: 700 !important;}
#screen-movements .tabs-filter {margin-top: 0 !important;}
@media(max-width:390px) {
  #screen-movements .movement-filter-summary-hint {max-width: 135px !important;font-size: 10px !important;}
  #screen-movements .movement-filter-panel {padding-left: 11px !important;padding-right: 11px !important;}
}
@media(max-width:340px) {
  #screen-movements .movement-filter-summary-hint {display: none !important;}
  #screen-movements .movement-filter-summary {grid-template-columns: 1fr auto !important;}
}
html[data-theme="dark"] #screen-movements .movement-filter-collapse, html[data-theme="dark"] #screen-movements .movement-search-wrap {background: var(--surface) !important;border-color: var(--border) !important;}
html[data-theme="dark"] #screen-movements .movement-filter-grid select {background: var(--surface-muted) !important;color: var(--text) !important;border-color: var(--border) !important;}
#fabAdd[hidden] {display: none !important;}
.notification-section-label:first-child {margin-top: 8px !important;}
.account-confirm-modal-backdrop {position: fixed;inset: 0;z-index: 390;display: none;align-items: center;justify-content: center;padding: 20px;background: rgba(12,18,15,.42);backdrop-filter: blur(3px);}
.account-confirm-modal-backdrop.open {display: flex;}
.account-confirm-modal {width: min(100%,360px);background: var(--surface);color: var(--text);border: 1px solid var(--border);border-radius: 22px;padding: 22px 18px 18px;box-shadow: 0 24px 70px rgba(0,0,0,.22);text-align: center;}
.account-confirm-modal-icon {width: 46px;height: 46px;margin: 0 auto 13px;display: grid;place-items: center;border-radius: 15px;background: var(--danger-soft);color: var(--danger);font-size: 21px;font-weight: 800;}
.account-confirm-modal.reactivate .account-confirm-modal-icon {background: var(--accent-soft);color: var(--info);}
.account-confirm-modal h2 {margin: 0;font-size: 20px;line-height: 1.2;letter-spacing: -.02em;}
.account-confirm-modal p {margin: 8px 0 19px;font-size: 13px;line-height: 1.5;color: var(--muted);}
.account-confirm-modal-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;}
.account-confirm-modal-actions .primary, .account-confirm-modal-actions .secondary {min-height: 48px;}
.account-confirm-modal.delete #accountConfirmYes {background: var(--danger) !important;color: #fff !important;}
html[data-theme="dark"] .account-confirm-modal {background: var(--surface) !important;border-color: var(--border) !important;}
.hero-flow-note {margin: 10px 0 0;padding-top: 10px;border-top: 1px solid rgba(255,255,255,.10);color: rgba(255,255,255,.72);font-size: 10.5px;line-height: 1.45;}
@media(max-width:390px) {
  .hero-flow-note {font-size: 10px;}
}
.auth-password-wrap {position: relative !important;}
.auth-password-wrap input {position: relative !important;z-index: 1 !important;}
.auth-password-toggle {position: absolute !important;z-index: 4 !important;top: 50% !important;transform: translateY(-50%) !important;display: flex !important;align-items: center !important;justify-content: center !important;border: 0 !important;background: transparent !important;cursor: pointer !important;pointer-events: auto !important;touch-action: manipulation !important;-webkit-tap-highlight-color: transparent;user-select: none !important;}
.auth-password-toggle:focus-visible {outline: 2px solid var(--primary) !important;outline-offset: 2px !important;}
.notification-inbox-shell {margin-top: 4px;}
.notification-toolbar {margin-top: 0 !important;}
.financial-cycle-copy strong, .salary-config-cycle-note strong, .salary-cycle-target strong {text-transform: none !important;}
.salary-cycle-target {display: grid !important;grid-template-columns: minmax(0,1fr) auto !important;align-items: center !important;}
.salary-cycle-target strong {text-align: right;max-width: 190px;line-height: 1.35;}
.salary-cycle-help {margin: 7px 0 0 32px;max-width: calc(100% - 32px);color: var(--muted);font-size: 11.5px;line-height: 1.5;}
@media(max-width:360px) {
  .salary-cycle-help {margin-left: 30px;max-width: calc(100% - 30px);}
}
.danger-confirm-box {margin-top: 16px !important;padding: 16px !important;border-radius: 18px !important;background: color-mix(in srgb,var(--danger) 4%,var(--surface)) !important;border: 1px solid color-mix(in srgb,var(--danger) 22%,var(--border)) !important;}
.danger-confirm-kicker {margin-bottom: 7px;color: var(--danger);font-size: 11px;font-weight: 800;text-transform: uppercase;letter-spacing: .06em;}
.danger-confirm-box label {margin-bottom: 11px !important;font-size: 13px !important;line-height: 1.5 !important;}
.danger-confirm-input-wrap {position: relative;}
.danger-confirm-box input {width: 100% !important;min-height: 54px !important;padding: 0 16px !important;border: 1.5px solid color-mix(in srgb,var(--danger) 35%,var(--border)) !important;border-radius: 14px !important;background: var(--surface) !important;color: var(--text) !important;font-size: 16px !important;font-weight: 700 !important;letter-spacing: .04em;outline: none !important;}
.danger-confirm-box input:focus {border-color: var(--danger) !important;box-shadow: 0 0 0 3px color-mix(in srgb,var(--danger) 10%,transparent) !important;}
.danger-confirm-box input.is-valid {border-color: var(--primary) !important;box-shadow: 0 0 0 3px color-mix(in srgb,var(--primary) 9%,transparent) !important;}
.danger-confirm-status {display: block;margin-top: 8px;color: var(--muted);font-size: 11px;font-weight: 650;}
.danger-confirm-status.is-valid {color: var(--primary);}
.danger-confirm-help {margin-top: 8px;color: var(--muted);font-size: 11px;line-height: 1.45;}
.danger-primary {min-height: 54px !important;}
.contact-purpose-note {margin: -2px 0 15px;padding: 11px 12px;border: 1px solid var(--border);border-radius: 13px;background: var(--surface-muted);color: var(--muted);font-size: 11px;line-height: 1.5;}
.contact-purpose-note strong {color: var(--text);font-weight: 700;}
.username-edit-row {display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 8px;align-items: center;}
.username-input-wrap {display: flex;align-items: center;min-height: 52px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);overflow: hidden;}
.username-input-wrap>span {flex: 0 0 auto;padding-left: 14px;color: var(--text);font-size: 15px;font-weight: 750;}
.username-input-wrap input {min-width: 0 !important;width: 100% !important;min-height: 50px !important;padding: 0 13px 0 4px !important;border: 0 !important;border-radius: 0 !important;background: transparent !important;box-shadow: none !important;outline: none !important;font-size: 14px !important;font-weight: 650 !important;color: var(--text) !important;}
.username-regenerate {min-height: 52px !important;padding: 0 13px !important;white-space: nowrap !important;}
.username-status {margin-top: 7px;color: var(--muted);font-size: 11px;line-height: 1.45;}
.username-status.ok {color: var(--primary);}
.username-status.error {color: var(--danger);}
@media(max-width:390px) {
  .username-edit-row {grid-template-columns: 1fr;}
  .username-regenerate {width: 100%;}
}
.commitment-metric {padding-top: 2px;}
.commitment-metric+.commitment-metric {margin-top: 16px;padding-top: 15px;border-top: 1px solid var(--border);}
.metric-help {margin-top: 5px;color: var(--muted);font-size: 10.8px;line-height: 1.45;}
.commitment-metric .track {margin-top: 9px;margin-bottom: 0;}
.coverage-metric .fill {background: var(--primary);}
.cycle-history-collapse {margin: 16px 0;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);overflow: hidden;}
.cycle-history-collapse>summary {display: grid;grid-template-columns: 1fr auto auto;align-items: center;gap: 8px;min-height: 58px;padding: 0 16px;list-style: none;cursor: pointer;}
.cycle-history-collapse>summary::-webkit-details-marker {display: none;}
.cycle-history-collapse>summary>span:first-child {font-size: 14px;font-weight: 750;}
.cycle-history-list {border-top: 1px solid var(--border);}
.cycle-history-row {width: 100%;display: grid;grid-template-columns: 1fr auto;gap: 8px 12px;align-items: center;padding: 14px 16px;border: 0;border-bottom: 1px solid var(--border);background: transparent;text-align: left;color: var(--text);cursor: pointer;}
.cycle-history-row:last-child {border-bottom: 0;}
.cycle-history-row strong {display: block;font-size: 13px;}
.cycle-history-row small {display: block;margin-top: 3px;font-size: 10.5px;color: var(--muted);}
.cycle-history-row .cycle-history-balance {text-align: right;}
.cycle-history-row .cycle-history-balance span {display: block;font-size: 9.5px;color: var(--muted);}
.cycle-history-row .cycle-history-balance strong {margin-top: 2px;font-size: 12px;}
.cycle-history-empty {padding: 16px;color: var(--muted);font-size: 12px;line-height: 1.5;}
.cycle-history-detail-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-top: 16px;}
.cycle-history-detail-grid>div {padding: 13px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);}
.cycle-history-detail-grid span {display: block;font-size: 10.5px;color: var(--muted);}
.cycle-history-detail-grid strong {display: block;margin-top: 5px;font-size: 14px;}
.cycle-detail-reconciliation {margin-top: 14px;padding: 14px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface-muted);}
.cycle-detail-reconciliation span {display: block;font-size: 10.5px;color: var(--muted);}
.cycle-detail-reconciliation strong {display: block;margin-top: 4px;font-size: 14px;}
.cycle-detail-reconciliation small {display: block;margin-top: 4px;font-size: 10.5px;color: var(--muted);}
.audit-hero {margin: 0 0 14px;padding: 16px;border: 1px solid var(--border);border-radius: 18px;background: var(--surface);}
.audit-hero-top {display: flex;align-items: flex-start;justify-content: space-between;gap: 12px;}
.audit-hero-kicker {font-size: 11px;color: var(--muted);}
.audit-hero-title {margin-top: 4px;font-size: 20px;font-weight: 800;letter-spacing: -.025em;}
.audit-status {flex: 0 0 auto;min-height: 32px;padding: 0 11px;border-radius: 999px;display: inline-flex;align-items: center;justify-content: center;font-size: 11px;font-weight: 800;}
.audit-status.ok {background: var(--accent-soft);color: var(--info);}
.audit-status.warn {background: var(--danger-soft);color: var(--danger);}
.audit-summary-grid {display: grid;grid-template-columns: repeat(3,1fr);gap: 8px;margin-top: 14px;}
.audit-summary-card {padding: 11px;border: 1px solid var(--border);border-radius: 13px;background: var(--surface-muted);}
.audit-summary-card span {display: block;font-size: 9.5px;color: var(--muted);}
.audit-summary-card strong {display: block;margin-top: 4px;font-size: 15px;}
.audit-section {margin-top: 17px;}
.audit-section-head {display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-bottom: 8px;}
.audit-section-head h2 {margin: 0;font-size: 16px;}
.audit-section-head span {font-size: 10.5px;color: var(--muted);}
.audit-list {display: grid;gap: 8px;}
.audit-item {width: 100%;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);padding: 12px;text-align: left;color: var(--text);}
button.audit-item {cursor: pointer;}
.audit-item-top {display: flex;align-items: flex-start;gap: 10px;}
.audit-dot {width: 10px;height: 10px;margin-top: 4px;border-radius: 50%;flex: 0 0 10px;background: var(--muted);}
.audit-item.critical .audit-dot {background: var(--danger);}
.audit-item.warning .audit-dot {background: #b7791f;}
.audit-item.info .audit-dot {background: var(--info);}
.audit-item-copy {min-width: 0;flex: 1;}
.audit-item-title {font-size: 12.5px;font-weight: 800;line-height: 1.35;}
.audit-item-message {margin-top: 3px;font-size: 11px;line-height: 1.45;color: var(--muted);}
.audit-item-meta {margin-top: 7px;font-size: 9.5px;color: var(--muted);}
.audit-empty {padding: 16px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface-muted);text-align: center;}
.audit-empty strong {display: block;font-size: 13px;}
.audit-empty span {display: block;margin-top: 4px;font-size: 10.5px;color: var(--muted);line-height: 1.45;}
.audit-actions {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;margin-top: 14px;}
.audit-explain {margin-top: 12px;padding: 12px;border-radius: 13px;background: var(--surface-muted);color: var(--muted);font-size: 10.5px;line-height: 1.5;}
@media(max-width:390px) {
  .audit-summary-grid {grid-template-columns: 1fr 1fr;}
  .audit-summary-card:last-child {grid-column: 1/-1;}
  .audit-actions {grid-template-columns: 1fr;}
}
.auth-password-toggle {width: 46px !important;min-width: 46px !important;height: 46px !important;min-height: 46px !important;right: 5px !important;padding: 0 !important;border-radius: 12px !important;color: var(--muted) !important;font-size: 0 !important;}
.auth-password-toggle:hover, .auth-password-toggle:active {background: var(--surface-muted) !important;color: var(--text) !important;}
.auth-eye-icon {width: 21px;height: 21px;fill: none;stroke: currentColor;stroke-width: 1.8;stroke-linecap: round;stroke-linejoin: round;pointer-events: none;}
.auth-password-wrap input {padding-right: 62px !important;}
.auth-checking #authShell, .auth-checking #app {visibility: hidden !important;}
#startupScreen {position: fixed;inset: 0;z-index: 9999;background: #F5F7F4;display: flex;align-items: center;justify-content: center;flex-direction: column;gap: 20px;color: #153d32;font: 16px system-ui;}
#startupScreen img {width: 100px;height: 100px;border-radius: 24px;}
[hidden] {display: none !important;}
.brand-mark {background: transparent !important;box-shadow: none !important;overflow: visible !important;}
.brand-mark img {width: 100%;height: 100%;object-fit: contain;border-radius: 12px;}
#heroFlowNote {display: none !important;}
.sr-only {position: absolute !important;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;}
button:disabled {cursor: default;opacity: .55;}
.auth-wise-submit:disabled {opacity: .65;cursor: wait;}
.kumbu-dialog {box-sizing: border-box;width: min(440px,calc(100% - 32px));max-height: 85dvh;border: 1px solid var(--border,#ddd);border-radius: 22px;padding: 24px;background: var(--surface,#fff);color: var(--text,#17251d);box-shadow: 0 24px 80px #0004;}
.kumbu-dialog::backdrop {background: #071b16a6;}
.kumbu-dialog h2 {font-size: 22px;margin: 0 0 12px;line-height: 1.2;}
.kumbu-dialog p {font-size: 14px;line-height: 1.55;margin: 10px 0 20px;}
.kumbu-dialog .dialog-actions {display: flex;gap: 12px;margin-top: 20px;justify-content: flex-end;}
.kumbu-dialog .dialog-actions button {flex: 1;min-height: 46px;border-radius: 14px;}
.kumbu-dialog input {width: 100%;box-sizing: border-box;}
.kumbu-dialog label {display: block;margin: 14px 0 7px;font-size: 13px;}
.dialog-message {font-size: 13px;line-height: 1.5;margin-top: 12px;min-height: 20px;}
#syncIssue {position: fixed;top: 12px;left: 50%;transform: translateX(-50%);width: min(440px,calc(100% - 40px));z-index: 140;box-sizing: border-box;padding: 12px 16px;border-radius: 14px;background: var(--surface,#fff);box-shadow: 0 4px 24px #0002;border: 1px solid var(--border,#ddd);font-size: 12px;}
#syncIssue button {margin-left: 12px;border: 0;color: var(--info,#075b4a);background: transparent;font-weight: 700;text-decoration: underline;}
.user-greeting {flex: 1;min-width: 0;font-size: 14px;overflow: hidden;text-overflow: ellipsis;}
.screen-topbar {gap: 10px;}
.screen-topbar .top-actions {flex-shrink: 0;}
.finance-insight {margin: 16px 0;padding: 16px;}
.finance-insight button {max-width: 100%;}
.finance-insight h3 {margin: 0 0 12px;}
.finance-insight .row-between {gap: 12px;padding: 9px 0;border-bottom: 1px solid var(--border);}
.user-greeting {font-size: clamp(18px,4.8vw,22px);font-weight: 700;line-height: 1.2;white-space: normal;}
.screen-topbar .invite-pill {padding: 10px 14px;font-size: 14px;}
.screen-topbar .top-actions {gap: 8px;}
.semantic-icon {width: 23px;height: 23px;flex-shrink: 0;vertical-align: middle;}
.more-tile-icon .semantic-icon {width: 28px;height: 28px;}
.category-label, #screen-more .menu-label {display: flex;align-items: center;gap: 10px;}
.cycle-donut {display:block;width:100%;max-width:480px;margin:20px auto;overflow:visible;}
.cycle-donut .donut-slice{shape-rendering:geometricPrecision;}
.cycle-donut .slice-leader{fill:none;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.9;}
.cycle-donut .slice-percent{font-size:12px;font-weight:750;fill:var(--text);paint-order:stroke fill;stroke:var(--surface);stroke-width:2px;stroke-linejoin:round;}
.analysis-heading {font-size: 18px;padding: 18px 16px;margin: 0;border-bottom: 1px solid var(--border);}
.evolution-row {padding: 12px 0;}
.evolution-row small {display: block;color: var(--muted);margin: 6px 0 10px;font-size: 12px;}
.evolution-row strong {font-size: 14px;}
.evolution-track {height: 14px;background: var(--surface-muted);border-radius: 6px;overflow: hidden;}
.evolution-track span {display: block;height: 100%;background: #087f6b;border-radius: 6px;}
.cycle-evolution-title {display: flex;justify-content: space-between;gap: 12px;align-items: baseline;margin: 8px 0 12px;}
.cycle-evolution-title strong {font-size: 16px;}
.cycle-evolution-title span, .cycle-evolution-note {font-size: 11px;color: var(--muted);}
.cycle-line-chart {display: block;width: 100%;height: auto;}
.cycle-evolution-note {margin: 10px 0 0;line-height: 1.45;}
.cycle-chart-legend {display: flex;flex-wrap: wrap;gap: 12px;margin-top: 8px;color: var(--muted);font-size: 10px;}
.cycle-chart-legend span {display: inline-flex;align-items: center;gap: 5px;}
.legend-line {width: 18px;height: 2px;background: #1769D1;border-radius: 2px;}
.legend-dot {width: 8px;height: 8px;border: 2px solid #1769D1;border-radius: 50%;background: #fff;}
.cycle-pie-head {display: flex;align-items: center;justify-content: space-between;gap: 10px;}
.cycle-pie-head h2 {margin: 0;}
.cycle-pie-head select {max-width: 160px;border: 1px solid var(--border);border-radius: 10px;padding: 7px 8px;background: var(--surface);font-size: 10px;color: var(--text);}
.cycle-donut text {font: 10px system-ui;fill: var(--muted);}
.cycle-donut .donut-total {font-size: 12px;font-weight: 750;fill: var(--text);}
.outflow-legend {list-style: none;margin: 12px 0;padding: 0;}
.outflow-legend li {display: flex;align-items: center;gap: 9px;padding: 12px 0;border-bottom: 1px solid var(--border);}
.outflow-legend li>span:nth-last-child(2) {flex: 1;min-width: 0;overflow-wrap: anywhere;}
.outflow-legend strong {font-size: 14px;text-align: right;white-space: nowrap;}
.outflow-legend small {display: block;font-size: 12px;color: var(--muted);font-weight: 400;margin-top: 3px;}
.slice-dot {width: 10px;height: 10px;border-radius: 50%;flex-shrink: 0;}
.planning-extra {border: 1px solid var(--border);border-radius: 18px;background: var(--surface);padding: 16px;margin: 16px 0;}
.planning-extra>summary {cursor: pointer;font-size: 17px;font-weight: 650;}
#cycleDatesForm label {display: block;margin: 12px 0;}
#cycleDatesForm input {display: block;width: 100%;margin-top: 6px;}
#cycleDatesError {color: var(--danger);}
@media(max-width:400px) {
  .user-greeting {font-size: 18px;}
  .screen-topbar .invite-pill {font-size: 13px;padding: 9px 11px;}
  .screen-topbar {gap: 8px;}
}
.salary-role-badge {display: inline-block;margin-left: 4px;}
.salary-role-badge.primary {background: #E7F8F0;}
.salary-role-badge.secondary {background: #EAF2FF;}
.movement-cycle-separator {justify-content: space-between;margin-top: 8px;border-bottom: 1px solid var(--border);}
.movement-cycle-separator small {font-size: 9px;color: var(--muted);font-weight: 500;}
.kumbu-update-prompt {position: fixed;left: 14px;right: 14px;bottom: 92px;z-index: 80;background: #fff;border: 1px solid var(--border);border-radius: 18px;padding: 16px;box-shadow: 0 12px 30px rgba(16,24,40,.18);}
.kumbu-update-prompt[hidden] {display: none;}
.kumbu-update-prompt strong {display: block;font-size: 15px;}
.kumbu-update-prompt p {margin: 6px 0 12px;color: var(--muted);font-size: 12px;}
.kumbu-update-actions {display: flex;gap: 8px;}
.kumbu-update-actions button {flex: 1;min-height: 38px;border-radius: 11px;border: 1px solid var(--border);font-weight: 750;}
.kumbu-update-actions .primary {background: var(--primary);color: #fff;border-color: var(--primary);}
.salary-role-badge {display: inline-flex !important;align-items: center;padding: 2px 5px !important;border: 0 !important;border-radius: 4px !important;background: transparent !important;font-size: 8px !important;line-height: 1 !important;vertical-align: middle;}
.salary-role-badge.primary {color: #32851f;}
.salary-role-badge.secondary {color: #2866b5;}
.mini-account .name {display: flex;align-items: center;justify-content: flex-start;gap: 6px;padding-right: 0;}
.mini-account .salary-role-badge {position: static;order: -1;flex: 0 0 auto;padding: 0 !important;border: 0 !important;border-radius: 0 !important;background: none !important;font-size: 8px !important;font-weight: 750;}
.movement-cycle-separator {display: flex;align-items: center;gap: 10px;margin: 14px 0 6px;padding: 0;border: 0;color: var(--primary);font-weight: 800;font-size: 12px;}
.movement-cycle-separator::before, .movement-cycle-separator::after {content: "";height: 1px;background: var(--border);flex: 1;}
.movement-cycle-separator span {white-space: nowrap;}
.movement-cycle-separator small {display: none;}
.cycle-dot {width: 8px;height: 8px;border-radius: 50%;display: inline-block;background: #98A2B3;}
.cycle-dot.income {background: #12B76A;}
.cycle-dot.expense {background: #F04438;}
.cycle-dot.boundary {background: #475467;border-radius: 2px;}
.cycle-line-legend {display: flex;flex-wrap: wrap;gap: 10px;margin: 0 0 8px;font-size: 11px;color: #667085;}
.cycle-line-legend span {display: inline-flex;align-items: center;gap: 6px;}
.cycle-line-swatch {width: 16px;height: 0;border-top: 2px solid #294F2D;display: inline-block;}
.cycle-line-swatch.carry {border-top-style: dashed;border-top-color: #98A2B3;}
.home-cycle-indicators {margin-top: 12px;border-top: 1px solid var(--border);padding-top: 10px;}
.home-cycle-indicators>summary {list-style: none;cursor: pointer;display: flex;align-items: center;justify-content: space-between;gap: 10px;color: var(--primary);font-size: 12px;font-weight: 800;}
.home-cycle-indicators>summary::-webkit-details-marker {display: none;}
.home-cycle-indicators>summary::after {content: "›";font-size: 18px;line-height: 1;transition: transform .2s ease;}
.home-cycle-indicators[open]>summary::after {transform: rotate(90deg);}
.home-cycle-indicators-body {padding-top: 12px;display: grid;gap: 14px;}
.planning-analysis-details {margin-top: 14px;}
.planning-analysis-details>summary, .planning-secondary-metrics>summary {font-weight: 800;}
.planning-secondary-metrics {margin-top: 12px;}
.planning-cycle-distribution {margin-top: 14px;}
.planning-cycle-distribution #cycleSpendingChart {margin-top: 12px;}
#screen-planning .planning-extra+.planning-extra {margin-top: 10px;}
#screen-home .home-analysis-collapse {margin-bottom: 0;}
@media(max-width:420px) {
  .home-cycle-indicators>summary {min-height: 40px;}
}
.planning-action-head {margin-top: 20px;}
.planning-action-head h2 {font-size: 16px;}
.planning-detail-block {padding: 12px 0;border-top: 1px solid var(--border);}
.planning-detail-block:first-child {border-top: 0;}
#cyclePendingActions[hidden] {display: none !important;}
#cyclePendingActions .finance-insight {margin-top: 18px;}
#cyclePendingActions .finance-insight h3 {margin: 0 0 10px;}
#screen-planning #projectList .card {margin-bottom: 10px;}
#screen-planning .financial-cycle-copy small {max-width: 360px;}
#screen-planning .financial-cycle-card {margin-bottom: 12px;}
.data-action-grid {display: grid;grid-template-columns: 1fr 1fr;gap: 9px;margin-top: 12px;}
.data-action-grid button {min-height: 42px;}
.backup-file-note {font-size: 11.5px;line-height: 1.5;color: var(--muted);margin-top: 10px;}
.session-status-copy {font-size: 11.5px;color: var(--muted);margin-top: 3px;}
.onboarding-progress {display: flex;align-items: center;justify-content: space-between;gap: 10px;margin-bottom: 10px;font-size: 10.5px;font-weight: 750;color: var(--muted);}
.onboarding-progress-track {flex: 1;height: 5px;border-radius: 999px;background: color-mix(in srgb,var(--border) 75%,transparent);overflow: hidden;}
.onboarding-progress-track>span {display: block;height: 100%;border-radius: inherit;background: var(--accent);}
@media(max-width:390px) {
  .data-action-grid {grid-template-columns: 1fr;}
}
:root {--focus-ring: #1570EF;--tap-size: 44px;--text-xs: 12px;--text-sm: 13px;}
html {-webkit-text-size-adjust: 100%;text-size-adjust: 100%;scroll-behavior: smooth;}
body {-webkit-tap-highlight-color: transparent;overscroll-behavior-y: none;}
.skip-link {position: fixed;left: 14px;top: 10px;z-index: 1000;transform: translateY(-160%);padding: 10px 14px;border-radius: 10px;background: var(--text);color: var(--surface);font-size: 13px;font-weight: 800;text-decoration: none;box-shadow: var(--shadow);}
.skip-link:focus {transform: translateY(0);}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible {outline: 3px solid color-mix(in srgb,var(--focus-ring) 58%,transparent);outline-offset: 2px;}
button:disabled, [aria-disabled="true"] {cursor: not-allowed;opacity: .58;}
:where(.primary,.secondary,.danger-btn,.filter-sheet-done,.movement-clear,.inline-action,.financial-cycle-close,.movement-load-more) {min-height: var(--tap-size);}
:where(.nav-btn,.quick,.avatar,.notification-btn,.invite-pill,.close,.auth-password-toggle) {min-width: var(--tap-size);min-height: var(--tap-size);}
:where(.money,.hero-amount,.metric-value,.mini-account .bal,.tx-amount,.loan-summary .value,.focus-row strong,.project-line strong,.month-overview-item strong) {font-variant-numeric: tabular-nums lining-nums;}
.eyebrow, .metric-label, .mini-account .meta, .allocation-item .label, .tx-meta, .goal .small, .loan-summary .label, .profile-sub, .menu-note, .field label, .helper, .empty, .badge, .loan-badge, .hero-mini-kicker, .section-kicker, .recurring-meta, .notification-meta-line {font-size: var(--text-xs) !important;line-height: 1.45;}
.nav-btn, .quick-label, .filter-btn, .section-head button {font-size: 12px !important;}
.card {border-color: color-mix(in srgb,var(--border) 88%,transparent);}
.empty, .empty-state, .refined-empty, .notification-empty-refined, .home-account-empty {border: 1px dashed color-mix(in srgb,var(--border) 92%,transparent);border-radius: 16px;background: color-mix(in srgb,var(--surface-muted) 42%,transparent);padding: 18px 16px !important;}
.empty-title {font-size: 14px !important;font-weight: 800;}
.empty-note {font-size: 12px !important;line-height: 1.5;}
.toast {max-width: min(430px,calc(100vw - 28px));text-align: center;line-height: 1.4;box-shadow: 0 10px 28px rgba(16,24,40,.18);}
.bottom-nav {padding-bottom: max(6px,env(safe-area-inset-bottom)) !important;}
.app {padding-bottom: calc(88px + env(safe-area-inset-bottom));}
.screen {scroll-margin-top: 12px;}
.screen-heading p, .planning-heading p, .page-intro {font-size: 13px !important;line-height: 1.55 !important;}
.expense-chart-shell svg {overflow: visible;}
.sr-cycle-summary {position: absolute !important;width: 1px !important;height: 1px !important;padding: 0 !important;margin: -1px !important;overflow: hidden !important;clip: rect(0,0,0,0) !important;white-space: nowrap !important;border: 0 !important;}
@media(hover:hover) and (pointer:fine) {
  button:not(:disabled), summary, [data-nav], [data-open-subpanel] {transition: transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease;}
  button:not(:disabled):hover {filter: brightness(.985);}
  .card:hover {border-color: color-mix(in srgb,var(--border) 75%,var(--primary) 25%);}
}
button:not(:disabled):active {transform: scale(.985);}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior: auto;}
  *, *::before, *::after {animation-duration: .01ms !important;animation-iteration-count: 1 !important;transition-duration: .01ms !important;scroll-behavior: auto !important;}
  button:active {transform: none;}
}
@media(prefers-contrast:more) {
  :root {--border: #B8C0CC;--muted: #414B57;}
  .card, .mini-account, .filter-btn {border-width: 1.5px;}
}
@media(max-width:360px) {
  .screen {padding-left: 14px !important;padding-right: 14px !important;}
  .app-header {padding-left: 14px !important;padding-right: 14px !important;}
  .hero-amount {font-size: 32px !important;}
}
.auth-legal-consent {margin-top: 12px;}
.auth-legal-check {display: flex;align-items: flex-start;gap: 9px;color: var(--muted);font-size: 11px;line-height: 1.45;}
.auth-legal-check input {width: 18px;height: 18px;min-width: 18px;margin-top: 1px;accent-color: var(--primary);}
.auth-legal-check a, .auth-legal-links a, .legal-links a {color: var(--info);font-weight: 750;text-decoration: none;}
.auth-legal-links {display: flex;justify-content: center;gap: 14px;flex-wrap: wrap;margin-top: 17px;font-size: 10.5px;}
.legal-card {padding: 18px;}
.legal-card h2 {font-size: 17px;margin: 0 0 8px;}
.legal-card p {font-size: 12px;line-height: 1.6;color: var(--muted);}
.legal-links {display: grid;gap: 10px;margin-top: 12px;}
.legal-link-card {display: flex;align-items: center;justify-content: space-between;gap: 12px;padding: 14px;border: 1px solid var(--border);border-radius: 14px;background: var(--surface);color: var(--text) !important;}
.legal-link-card span {display: block;}
.legal-link-card strong {display: block;font-size: 13px;}
.legal-link-card small {display: block;color: var(--muted);font-size: 11px;margin-top: 3px;}
.legal-pending {margin-top: 14px;}
.auth-legal-links[hidden] {display: none !important;}
.help-faq-list {display: grid;gap: 10px;}
.help-faq-item {border: 1px solid var(--border);border-radius: 14px;background: var(--surface);overflow: hidden;}
.help-faq-item>summary {list-style: none;cursor: pointer;padding: 15px 16px;font-weight: 750;font-size: 13px;color: var(--text);display: flex;align-items: center;justify-content: space-between;gap: 12px;}
.help-faq-item>summary::-webkit-details-marker {display: none;}
.help-faq-item>summary::after {content: '›';font-size: 20px;line-height: 1;color: var(--muted);transition: transform .18s ease;}
.help-faq-item[open]>summary::after {transform: rotate(90deg);}
.help-faq-body {padding: 0 16px 16px;border-top: 1px solid var(--border);}
.help-faq-body p {margin: 12px 0 0;font-size: 12px;line-height: 1.6;color: var(--muted);}
.help-faq-body .secondary {margin-top: 12px;}
.app-header {display: flow-root;padding-bottom: 0 !important;}
.app-header[hidden], .app-header .invite-pill[hidden] {display: none !important;}
#screen-home, #screen-movements, #screen-planning, #screen-more {padding-top: 0;}
#screen-planning .planning-detail-block {margin-top: 22px;}

/* Cash-flow colours and loan reminder controls. */
html[data-theme] .hero-mini-card:nth-child(1) .hero-mini-kicker{color:#50d99a!important}
html[data-theme] .hero-mini-card:nth-child(2) .hero-mini-kicker{color:#ff8078!important}
html[data-theme] .hero-mini-card:nth-child(3) .hero-mini-kicker{color:#ffc34d!important}
.loan-row-refined{flex-wrap:wrap}
.loan-row-refined > button[data-loan-pay]{flex:1 0 100%}
.loan-row-refined .loan-reminder-button{width:auto;margin-left:50px;padding:9px 12px;gap:7px;border-radius:10px;background:var(--surface-muted);color:var(--info);font-size:12px;font-weight:700;align-items:center!important}
.loan-reminder-button .semantic-icon{width:16px;height:16px}
.loan-settled-list{margin-top:18px}.loan-settled-list summary{cursor:pointer;font-weight:700}
.reminder-dialog{width:min(560px,calc(100vw - 24px));max-height:90vh;overflow:auto}
.reminder-dialog img{display:block;width:100%;height:auto;border-radius:20px;margin:12px 0}
.reminder-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.reminder-actions a{display:flex;align-items:center;justify-content:center;text-decoration:none}
.audit-date-fields[hidden]{display:none}
#cycleDateReason{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}
.category-row .switch{flex-shrink:0}.category-label{min-width:0}
@media(max-width:360px){.reminder-actions{grid-template-columns:1fr}.loan-reminder-button{margin-left:0!important}.loan-badge{min-width:74px}}

/* V58: readable financial information, compact controls kept at least 14px. */
body {font-size:16px;line-height:1.5}
.tx-title,.menu-label,.notification-preview,.page-intro,.field label,.helper,.tx-detail-value {font-size:16px!important;line-height:1.5!important}
.tx-meta,.menu-note,.mini-account small,.hero-hint,.cycle-evolution-note,.cycle-evolution-title span,.loan-progress-meta,.notification-meta-line,.nav-label,.quick-label {font-size:14px!important;line-height:1.5!important}
input,select,textarea {font-size:16px!important;min-height:46px}
.tx-amount,.mini-account .money,.focus-row strong,.hero-mini-value {font-size:18px!important;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;white-space:normal!important}
.hero-mini-kicker {font-size:14px!important}.hero-mini-grid {gap:8px}
.cycle-evolution .expense-chart-shell svg text {fill:var(--muted)}
.cycle-evolution .expense-chart-shell svg>rect {fill:var(--surface-muted)}
.cycle-donut .slice-percent{font-size:13px}.outflow-legend{font-size:16px}
.movement-history {margin:20px 0;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}
.movement-history summary {font-size:16px;font-weight:700;cursor:pointer}.movement-history p {padding-block:12px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
html[data-theme="dark"] {--muted:#C5CEC6;--surface:#242924;--border:#465047}
html[data-theme="dark"] .cycle-evolution svg path {stroke:#9DE86E}
html[data-theme="dark"] .cycle-evolution svg line {stroke:#566257}
html[data-theme="dark"] .cycle-evolution svg circle:not([fill="transparent"]) {fill:#9DE86E}
@media(max-width:380px){.hero-mini-value {font-size:16px!important}.hero-mini-kicker {font-size:13px!important}.loan-title-line {flex-wrap:wrap}.tx-row {gap:10px}}
.hero-mini-card strong {font-size:18px!important;line-height:1.4!important;white-space:normal!important;overflow-wrap:normal}
.mini-account .bal {font-size:20px!important}.mini-account .meta,.mini-account .name,.badge,.loan-badge,.recurring-meta {font-size:14px!important}
.focus-row {display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px!important}.focus-row strong {white-space:nowrap!important;overflow-wrap:normal}
.nav-btn {font-size:13px!important}.tx-title {white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
#chartTrendText {font-size:14px!important;color:var(--muted)!important}
@media(max-width:380px){.focus-row {grid-template-columns:1fr!important}.focus-row strong {justify-self:start}.hero-mini-card {display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-mini-card strong {font-size:18px!important}.nav-btn {font-size:12px!important}}

/* V59: full amounts never compete for a narrow column. */
.hero-mini-card {min-width:0}
.hero-mini-card strong {max-width:100%;overflow-wrap:anywhere!important}
@media(max-width:600px){
 .hero-mini-grid {grid-template-columns:1fr!important;gap:8px!important}
 .hero-mini-card {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center;gap:16px!important;padding:12px 14px!important;min-height:52px!important}
 .hero-mini-card strong {text-align:right;font-size:19px!important;line-height:1.4!important;white-space:normal!important}
 .hero-mini-kicker {font-size:14px!important;margin:0!important}
}
#startupScreen {background:radial-gradient(ellipse at 50% 30%,#e9f3e4 0%,#f5f7f4 65%);color:#183d30;gap:0;padding:32px;text-align:center;min-height:100dvh}
.startup-brand {display:flex;align-items:center;flex-direction:column}
#startupScreen img {width:76px;height:76px;border-radius:22px;box-shadow:0 12px 36px #123b2412;margin-bottom:20px}
.startup-brand strong {font-size:36px;font-weight:800;letter-spacing:-1.3px;line-height:1.2}
.startup-brand>span {font-size:16px;line-height:1.5;color:#506252;margin-top:12px}
.startup-progress {width:144px;height:4px;overflow:hidden;border-radius:20px;background:#dbe6d6;margin-top:36px}
.startup-progress>span {display:block;width:44%;height:100%;border-radius:inherit;background:#498d32;animation:kumbu-loading 1.35s ease-in-out infinite}
.startup-label {font-size:14px;color:#506252;margin-top:16px}
.startup-footer {position:absolute;bottom:max(32px,env(safe-area-inset-bottom));font-size:13px;letter-spacing:.6px;color:#657363}
@keyframes kumbu-loading {0%{transform:translateX(-110%)}100%{transform:translateX(330%)}}
@media(min-width:800px){#startupScreen img {width:88px;height:88px}.startup-brand strong {font-size:42px}.startup-progress {width:180px}}
@media(prefers-color-scheme:dark){#startupScreen {background:radial-gradient(ellipse at 50% 30%,#23321f,#101710 70%);color:#f1f6ed}.startup-brand>span,.startup-label,.startup-footer {color:#bccab6}.startup-progress {background:#33452c}.startup-progress>span {background:#9de86e}}
html[data-theme="dark"] #startupScreen {background:radial-gradient(ellipse at 50% 30%,#23321f,#101710 70%);color:#f1f6ed}
html[data-theme="dark"] .startup-brand>span,html[data-theme="dark"] .startup-label,html[data-theme="dark"] .startup-footer {color:#bccab6}
@media(prefers-reduced-motion:reduce){.startup-progress>span {animation:none;width:100%;opacity:.65}}

/* V61: readable theme surfaces and actions. */
html[data-theme="dark"] .notification-message .tx-title,html[data-theme="dark"] .notification-title-line,html[data-theme="dark"] .kumbu-update-prompt strong,html[data-theme="dark"] .kumbu-dialog h2 {color:var(--text)!important;opacity:1!important}
html[data-theme="dark"] .notification-preview,html[data-theme="dark"] .kumbu-update-prompt p,html[data-theme="dark"] .kumbu-dialog p {color:var(--muted)!important;opacity:1!important}
html[data-theme="dark"] .kumbu-update-prompt {background:var(--surface)!important;border:1px solid var(--border);color:var(--text)!important;box-shadow:0 12px 40px #0008}
html[data-theme="dark"] .secondary,html[data-theme="dark"] #kumbuUpdateLater {background:#303b2d!important;color:#f0f5ed!important;border:1px solid #66725e!important}
html[data-theme="dark"] .notification-status-text.critical,html[data-theme="dark"] .negative {color:#ffaaa3!important}
html[data-theme="dark"] .notification-status-text.warning {color:#f6c77d!important}
.reminder-actions .secondary {display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;border:1px solid var(--border);border-radius:14px;text-decoration:none}
.kumbu-dialog {max-height:calc(100dvh - 32px);overflow-y:auto}
#cyclePendingActions .focus-row {grid-template-columns:minmax(0,1fr) auto!important;align-items:center}
#cyclePendingActions .focus-row span {min-width:0;overflow-wrap:anywhere}
#cyclePendingActions .focus-row strong {white-space:normal!important;text-align:right}
.release-tools {display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.release-tools button {min-height:48px}
#startupScreen,html[data-theme="dark"] #startupScreen {background:#0b180c url('/icons/startup-v64.png') center/cover no-repeat!important;color:#f2f8ee!important}
#startupScreen .startup-brand>span,#startupScreen .startup-label,#startupScreen .startup-footer {color:#c6d7c1!important}
#startupScreen .startup-progress {background:#33482b}#startupScreen .startup-progress>span {background:#9de86e}
#refreshProgress {position:fixed;z-index:10001;inset:0 0 auto;height:4px;background:#39502c;pointer-events:none}
#refreshProgress[hidden] {display:none}#refreshProgress span {display:block;width:30%;height:100%;background:#9de86e;animation:kumbu-loading 1.1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){#refreshProgress span {animation:none;width:100%}}
#kumbuUpdatePrompt {z-index:10000!important}

#cyclePendingActions .row-between {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding-block:16px}
#cyclePendingActions .row-between>span {font-size:16px;line-height:1.5;overflow-wrap:anywhere}
#cyclePendingActions .row-between>button {min-height:46px;white-space:normal;font-size:16px!important}
@media(max-width:480px){#cyclePendingActions .row-between {grid-template-columns:1fr}#cyclePendingActions .row-between>button {justify-self:start;width:auto!important;max-width:100%}}
html[data-theme="dark"] .tx-title,html[data-theme="dark"] .tx-detail-label,html[data-theme="dark"] .menu-label {color:var(--text)!important}

#startupScreen .startup-progress {position:absolute;bottom:max(48px,env(safe-area-inset-bottom));margin:0}

/* Shared accessible controls and compact planning rows. */
#cyclePendingActions .attention-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--border)}
#cyclePendingActions .attention-copy{min-width:0;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
#cyclePendingActions .attention-amount{width:auto!important;max-width:none!important;min-width:0;padding:9px 10px!important;border:0;border-radius:12px;background:var(--surface-2,var(--bg));color:var(--text);font-size:14px!important;font-weight:650;white-space:nowrap}
.attention-status{display:flex;align-items:center;gap:5px;font-size:12px;margin-top:4px}.attention-status.warning{color:#98600d}.attention-status.receiving{color:#08795b}.attention-status i{width:5px;height:5px;border-radius:50%;background:currentColor}
html[data-theme="dark"] .attention-status.warning{color:#ffbe67}html[data-theme="dark"] .attention-status.receiving{color:#6ce5b8}
.feedback-menu-icon{font-size:26px;color:var(--green,#4a8c32)}.feedback-rating{border:0;padding:12px 0;display:flex;flex-wrap:wrap;gap:8px}.feedback-rating legend{font-weight:600;margin-bottom:8px}.feedback-rating label{position:relative}.feedback-rating input{position:absolute;opacity:0;width:1px;height:1px}.feedback-rating span{display:block;padding:12px 10px;border:1px solid var(--border);border-radius:12px;cursor:pointer}.feedback-rating input:checked+span{background:#b2ed87;color:#15370f;border-color:#42722f}.feedback-rating input:focus-visible+span{outline:2px solid var(--text);outline-offset:3px}
select.select-enhanced{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;padding:0!important;pointer-events:none!important;min-height:0!important}
button.kumbu-select{display:block!important;width:100%!important;min-height:48px;padding:13px 40px 13px 14px!important;text-align:left!important;font:inherit!important;font-weight:400!important;line-height:1.4!important;color:var(--text)!important;background:var(--card,#fff)!important;border:1px solid var(--border)!important;border-radius:14px!important;position:relative;overflow-wrap:anywhere}
button.kumbu-select:after{content:'⌄';position:absolute;right:15px;top:50%;transform:translateY(-55%);font-size:20px}button.kumbu-select:disabled{opacity:.5}button.kumbu-select:focus-visible{outline:2px solid #4b9835;outline-offset:2px}button.kumbu-select[aria-invalid="true"]{border-color:#ca4d4d!important}
.kumbu-select-popup{position:fixed;z-index:20000;box-sizing:border-box;padding:8px;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 36px #0003;background:var(--card,#fff);color:var(--text);overflow:auto;overscroll-behavior:contain}
.kumbu-select-popup .select-title{font-size:13px;font-weight:650;padding:8px 10px;color:var(--muted)}.kumbu-select-popup input{width:100%;min-height:44px;margin:4px 0 8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px}
.kumbu-select-popup [role="option"]{display:block;width:100%;min-height:46px;background:transparent;color:var(--text);text-align:left;font-size:16px;line-height:1.4;padding:11px 12px;border:0;border-radius:10px;font-weight:400}.kumbu-select-popup [role="option"][hidden]{display:none}.kumbu-select-popup [role="option"][aria-selected="true"]{background:#e4f3db;color:#234819;font-weight:650}.kumbu-select-popup [role="option"]:focus-visible{outline:2px solid #67a848;outline-offset:-2px}.kumbu-select-popup [role="option"]:disabled{opacity:.45}
html[data-theme="dark"] button.kumbu-select,html[data-theme="dark"] .kumbu-select-popup{background:#222a20!important;color:#f3f6ef!important}html[data-theme="dark"] .kumbu-select-popup [role="option"][aria-selected="true"]{background:#354b2c;color:#c4f39c}
@media(max-width:360px){#cyclePendingActions .attention-row{gap:8px}#cyclePendingActions .attention-copy{font-size:14px}#cyclePendingActions .attention-amount{font-size:13px!important;padding:8px!important}}

/* v65: consistent profile controls and responsive photo sheet. */
#screen-profile .menu-row[data-open-subpanel="feedback"]::before{content:"☆"}
#screen-profile .menu-row[data-open-subpanel="about"]::before{content:"i"}
.profile-avatar-control,.profile-avatar-control .profile-avatar-large{width:88px!important;height:88px!important;border-radius:50%;border:0;box-shadow:none}
.avatar-photo-add{right:0px!important;bottom:0px!important;width:28px!important;height:28px!important;background:#70e8b7!important;color:#0A271C!important;border:2px solid #005044!important;min-height:0!important;min-width:0!important}
.avatar-photo-add svg{width:16px;height:16px}

#photoSheetBackdrop{background:rgba(0,0,0,.65)!important;padding:12px!important;align-items:flex-end;justify-content:center}
#photoSheetBackdrop.open{display:flex!important}
#photoSheetBackdrop .photo-sheet{width:100%!important;max-width:560px!important;min-height:0!important;max-height:calc(100dvh - 32px);overflow:auto;margin:0!important;border-radius:28px!important;padding:12px 24px calc(24px + env(safe-area-inset-bottom))!important;background:var(--surface)!important;box-shadow:0 -12px 40px #0003!important}
.photo-sheet-handle{display:block;width:44px;height:5px;margin:0 auto 26px;background:var(--border)}
#photoSheetBackdrop .photo-page-back{display:none}
#photoSheetBackdrop .photo-sheet-title{font-size:28px;margin:0 0 22px}
#photoSheetBackdrop .photo-sheet-action{min-height:78px!important;background:transparent!important;color:var(--text)!important;padding:8px 0!important}
#photoSheetBackdrop .photo-sheet-icon{width:52px;height:52px;color:var(--text);border:1px solid var(--border)}
.photo-sheet-icon svg{width:26px;height:26px}
#photoSheetBackdrop .photo-sheet-text{font-size:18px;font-weight:600}
#photoSheetBackdrop .photo-sheet-action:disabled{opacity:.4}
@media(min-width:700px){#photoSheetBackdrop{align-items:center}#photoSheetBackdrop .photo-page-back{display:block;position:absolute;right:20px;top:12px;margin:0}#photoSheetBackdrop .photo-sheet{position:relative;padding-top:28px!important}.photo-sheet-handle{display:none}}
button.kumbu-select:after{content:'+';font-size:24px;font-weight:400}
button.kumbu-select[aria-expanded="true"]:after{content:'−'}
#startupScreen,html[data-theme="dark"] #startupScreen{padding:0!important;background:#0b180c!important}
#startupAnimation,#startupScreen img.startup-animation-fallback{width:100%;height:100%;max-height:100dvh;object-fit:contain;border-radius:0;box-shadow:none;margin:0}
#photoSheetBackdrop .photo-page-back{display:none!important}
#photoSheetBackdrop .photo-sheet-list{border:0!important;background:transparent!important;overflow:visible}
#photoSheetBackdrop .photo-sheet-icon{background:transparent!important;color:var(--text)!important}
#photoSheetBackdrop .photo-sheet-text{color:var(--text)!important}
@media(min-width:700px){#photoSheetBackdrop .photo-page-back{display:flex!important}}

.apk-download-link{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border-radius:14px;background:var(--accent);color:#163514;text-decoration:none;font-weight:650}.apk-download-link[hidden]{display:none}

#startupScreen img.startup-animation-fallback{filter:url(#startupUniform)}
#photoSheetBackdrop #photoPageBack{align-items:center!important;justify-content:center!important;padding:0!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;line-height:1}
#photoSheetBackdrop #photoPageBack svg{display:block;width:22px!important;height:22px!important;flex:none;margin:0!important;transform:none!important}
#installPwaBtn{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}#installPwaBtn small{font-size:13px;font-weight:400}
#startupScreen,html[data-theme="dark"] #startupScreen{background:#0c1a0d!important}

/* V68: shared production tokens. Keep semantic roles consistent across screens. */
@font-face{font-family:Kumbu Inter;src:url('/fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{
 --font-ui:'Kumbu Inter',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;
 --type-title:1.75rem;--type-section:1.25rem;--type-body:1rem;--type-small:.875rem;--type-caption:.75rem;
 --bg:#f4f7f5;--surface:#ffffff;--card:#ffffff;--surface-muted:#edf2ee;
 --text:#17241e;--muted:#53645a;--border:#d7e1da;--action-ink:#286a31;
 --accent:#9fe870;--accent-soft:#eaf6e4;--danger:#b42318;--danger-soft:#fff0ee;
 --warning:#945000;--warning-soft:#fff4df;--info:#176454;--info-soft:#e6f4ed;
 --kumbu-bright:#9fe870;--kumbu-bright-hover:#90d85f;--kumbu-green-ink:#163514;
 --premium-bg:var(--bg);--premium-surface:var(--surface);--premium-ink:var(--text);--premium-muted:var(--muted);--premium-line:var(--border);
 --text-xs:var(--type-small);--text-sm:var(--type-small);--focus-ring:#176454;
}
html[data-theme="dark"]{
 --bg:#101810;--surface:#1b261e;--card:#1b261e;--surface-muted:#28352c;
 --text:#f1f6ef;--muted:#bac8bf;--border:#45554a;--action-ink:#a9ec82;
 --accent:#9fe870;--accent-soft:#283d24;--danger:#ffaaa1;--danger-soft:#442b29;
 --warning:#ffd08a;--warning-soft:#3d3322;--info:#9fe870;--info-soft:#253d2f;
 --premium-bg:var(--bg);--premium-surface:var(--surface);--premium-ink:var(--text);--premium-muted:var(--muted);--premium-line:var(--border);--focus-ring:#b3ef92;
}
html body,html button,html input,html select,html textarea,html h1,html h2,html h3,
html .hero-amount,html .profile-hero .name,html .loan-summary .value,html .insight-value,html .profile-backlink{font-family:var(--font-ui)!important}
html{font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
html body{font-size:var(--type-body);font-weight:400;line-height:1.5;color:var(--text)!important;background:var(--bg)!important}
html[data-theme] .app{background:var(--bg)!important}
html[data-theme] h1{font-size:var(--type-title)!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.025em!important;color:var(--text)!important;overflow-wrap:anywhere}
html[data-theme] h2,html[data-theme] .section-head h2{font-size:var(--type-section)!important;font-weight:650!important;line-height:1.3!important;letter-spacing:-.015em!important;color:var(--text)!important}
html[data-theme] h3{font-size:var(--type-body)!important;font-weight:650;line-height:1.4;color:var(--text)}
html[data-theme] .card,html[data-theme] .setting-block,html[data-theme] .mini-account,
html[data-theme] .notification-message,html[data-theme] .theme-choice,html[data-theme] .more-tool,
html[data-theme] .account-manage-row,html[data-theme] .profile-stat{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}
html[data-theme] .tx-title,html[data-theme] .menu-label,html[data-theme] .notification-title,
html[data-theme] .notification-message-title,html[data-theme] .field label,html[data-theme] .more-tool strong{font-size:var(--type-body)!important;font-weight:600!important;line-height:1.45!important;color:var(--text)!important}
html[data-theme] .screen-heading p,html[data-theme] .planning-heading p,html[data-theme] .page-intro,
html[data-theme] .notification-preview{font-size:var(--type-body)!important;font-weight:400!important;line-height:1.55!important;color:var(--muted)!important}
html[data-theme] .tx-meta,html[data-theme] .menu-note,html[data-theme] .helper,html[data-theme] .empty-note,
html[data-theme] .notification-meta-line,html[data-theme] .theme-choice-copy small,html[data-theme] .appearance-intro,
html[data-theme] .goal .small,html[data-theme] .profile-sub,html[data-theme] .profile-stat .k,
html[data-theme] .mini-account .meta,html[data-theme] .recurring-meta,html[data-theme] .legal-card p,
html[data-theme] .help-faq-body p,html[data-theme] .auth-note,html[data-theme] .auth-legal-check,
html[data-theme] .auth-legal-links,html[data-theme] .tx-route,html[data-theme] .cycle-evolution-note,
html[data-theme] .more-tool small{font-size:var(--type-small)!important;font-weight:400!important;line-height:1.5!important;color:var(--muted)!important}
html[data-theme] .primary,html[data-theme] .secondary,html[data-theme] .danger-btn,
html[data-theme] .filter-btn,html[data-theme] .inline-action,html[data-theme] .invite-pill{font-size:var(--type-small)!important;font-weight:600!important;line-height:1.45!important;min-height:44px}
html[data-theme] .primary,html[data-theme] .invite-pill{background:var(--kumbu-bright)!important;color:var(--kumbu-green-ink)!important}
html[data-theme] .secondary{background:var(--surface-muted)!important;color:var(--text)!important;border-color:var(--border)!important}
html[data-theme] .danger-btn{background:var(--danger-soft)!important;color:var(--danger)!important}
html[data-theme] .nav-btn,html[data-theme] .quick .quick-label{font-size:var(--type-caption)!important;font-weight:500!important;line-height:1.4!important}
html[data-theme] .nav-btn{color:var(--muted)!important}
html[data-theme] .nav-btn.active,html[data-theme] .section-head button,html[data-theme] .inline-action,
html[data-theme] .positive,html[data-theme] .notification-filter.active,html[data-theme] .backlink{color:var(--action-ink)!important}
html[data-theme] .negative,html[data-theme] .notification-attention{color:var(--danger)!important}
html[data-theme] .loan-badge.receivable{color:var(--action-ink)!important;background:var(--accent-soft)!important}
html[data-theme] .loan-badge.payable{color:var(--warning)!important;background:var(--warning-soft)!important}
html[data-theme] .field input,html[data-theme] .field select,html[data-theme] .field textarea,
html[data-theme] .kumbu-select-trigger{font-size:var(--type-body)!important;font-weight:400!important;line-height:1.5!important;min-height:48px;background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}
html[data-theme] input::placeholder,html[data-theme] textarea::placeholder{color:var(--muted);opacity:1}
html[data-theme] .hero-amount{font-size:clamp(2rem,9vw,2.75rem)!important;font-weight:700!important;line-height:1.15!important;letter-spacing:-.035em!important;color:#f5faf2!important;font-variant-numeric:tabular-nums}
html[data-theme] .hero-label,html[data-theme] .hero-hint{color:#c8d5c9!important}
html[data-theme] .tx-amount,html[data-theme] .focus-row strong,html[data-theme] .account-balance{font-size:var(--type-body)!important;font-weight:650!important;line-height:1.45!important;font-variant-numeric:tabular-nums}
html[data-theme] .hero-mini-card strong{font-size:1.125rem!important;font-weight:650!important;font-variant-numeric:tabular-nums}
html[data-theme] .profile-hero .name{font-size:1.5rem!important;font-weight:650!important;line-height:1.3!important}
html[data-theme] .notification-btn{color:var(--info)!important;background:var(--surface-muted)!important;border-color:var(--border)!important;box-shadow:none!important}
html[data-theme] .top-avatar,html[data-theme] .avatar{border:0!important;box-shadow:none!important}
html[data-theme] .bottom-nav{background:var(--surface)!important;border-color:var(--border)!important}
html[data-theme] .kumbu-update-prompt{background:var(--surface)!important;color:var(--text)!important}
html[data-theme] :focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
html[data-theme] .card>h2+p{margin-top:8px}
html[data-theme] .card+.card{margin-top:16px}
/* Adjacent cards in a grid share one row; vertical stack spacing must not shift them. */
html[data-theme] .loan-summary > .card { margin: 0; height: 100%; box-sizing: border-box; }
.loan-summary { align-items: stretch; }
.loan-summary > .card { display: flex; flex-direction: column; justify-content: space-between; gap: 8px; }
#cycleDatesDialog > details { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 20px; }
#cycleDatesDialog > details > summary { padding: 8px 0; cursor: pointer; }
#cycleDatesForm .dialog-actions { margin-top: 24px; gap: 12px; }
#cycleDateFields label { display: grid; gap: 8px; margin-top: 16px; }
#cycleDateFields input { width: 100%; box-sizing: border-box; min-height: 48px; border: 1px solid var(--border); border-radius: 12px; padding: 12px; background: var(--surface); color: var(--text); font: inherit; }
.auth-checking #kumbuUpdatePrompt { display: none !important; }
@media(min-width:800px){:root{--type-title:2rem}}
@media(prefers-reduced-motion:reduce){html *,html *::before,html *::after{scroll-behavior:auto!important;transition:none!important}}
html[data-theme] .more-tile strong{font-size:var(--type-body)!important;font-weight:600!important;line-height:1.4!important;color:var(--text)!important}
html[data-theme] .more-tile small,html[data-theme] .financial-cycle-copy>span,html[data-theme] .financial-cycle-copy>small,
html[data-theme] .summary-note,html[data-theme] .metric-help,html[data-theme] .onboarding-progress,
html[data-theme] .home-account-empty-note,html[data-theme] .movement-filter-field label,
html[data-theme] #screen-movements .movement-filter-summary-hint,html[data-theme] .notification-type-text,
html[data-theme] .notification-status-text,html[data-theme] .notification-summary-note,
html[data-theme] .account-option-note,html[data-theme] .account-history-note,html[data-theme] .account-close-note,
html[data-theme] .expense-chart-note,html[data-theme] .expense-chart-caption,html[data-theme] .session-status-copy,
html[data-theme] .backup-file-note,html[data-theme] .simple-spent-note,html[data-theme] .recurring-status{font-size:var(--type-small)!important;line-height:1.5!important;color:var(--muted)!important}
html[data-theme] .financial-cycle-copy>strong{font-size:1.125rem!important;font-weight:650!important;line-height:1.4}
html[data-theme] .financial-cycle-close,html[data-theme] .home-account-empty-action{font-size:var(--type-small)!important;min-height:44px;font-weight:600!important}
html[data-theme] .attention-status.warning,html[data-theme] .notification-status-text.warning{color:var(--warning)!important}
html[data-theme] .attention-status.receiving,html[data-theme] .recurring-status.paid{color:var(--action-ink)!important}
html[data-theme] .notification-status-text.critical,html[data-theme] .recurring-status.overdue{color:var(--danger)!important}
@media(max-width:600px){.cycle-pie-head{align-items:stretch;flex-direction:column;gap:12px}.cycle-pie-head h2{width:100%}.cycle-pie-head .kumbu-select{max-width:100%!important;width:100%!important}}
html[data-theme] #screen-movements .movement-filter-field label{font-size:var(--type-small)!important;line-height:1.5!important}
html[data-theme] .avatar,html[data-theme] .top-avatar,html[data-theme] .onboarding-action,html[data-theme] .filter-btn.active{background:var(--kumbu-bright)!important;color:var(--kumbu-green-ink)!important}
html[data-theme] .profile-avatar-large{background:var(--surface-muted)!important;color:var(--action-ink)!important}
html[data-theme] .home-account-empty-action{color:var(--action-ink)!important}
html[data-theme] .profile-stat .v{color:var(--text)!important;font-variant-numeric:tabular-nums}
html[data-theme] .chev{color:var(--muted)!important}
/* Financial plan: the same surface, type and contrast tokens as Planning. */
.financial-plan h3 { margin: 12px 0; }
.plan-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.plan-heading h2 { margin: 0; }
.plan-heading button { flex-shrink: 0; }
.plan-metrics { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin: 20px 0; }
.budget-row { padding: 20px 0; border-top: 1px solid var(--border); }
.budget-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.budget-heading strong { overflow-wrap:anywhere; }
.budget-state { font-size:12px; font-weight:650; padding:5px 9px; border-radius:12px; background:var(--surface-muted); color:var(--text); }
.budget-state.over { background:#fbe9e4; color:#9b2920; }
.budget-state.near { background:#fff0d2; color:#805300; }
html[data-theme="dark"] .budget-state.over { background:#502923; color:#ffd5cc; }
html[data-theme="dark"] .budget-state.near { background:#463817; color:#ffe1a1; }
.budget-row progress { display:block; width:100%; height:8px; accent-color:var(--accent); margin:12px 0; }
.budget-row:has(.over) progress { accent-color:#b44732; }
.budget-row:has(.near) progress { accent-color:#b17b18; }
.budget-row:has(.over) .fill { background:#b44732!important; }
.budget-row:has(.near) .fill { background:#b17b18!important; }
.plan-budget-editor { margin-top:20px; border-top:1px solid var(--border); padding-top:12px; }
.plan-budget-editor summary { min-height:48px; display:flex; align-items:center; cursor:pointer; font-weight:650; }
.plan-budget-editor summary::after { content:'+'; margin-left:auto; font-size:22px; }
.plan-budget-editor[open] summary::after { content:'−'; }
.budget-input { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto; gap:12px; align-items:end; border-bottom:1px solid var(--border); padding:16px 0; }
.budget-input .field { margin:0; min-width:0; }
.budget-input input,.budget-input select { width:100%; box-sizing:border-box; }
.budget-input button { min-height:48px; }
#addPlanBudget { margin:16px 0; }
.plan-alert-setting { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:52px; margin:12px 0; }
.plan-alert-setting .switch { flex-shrink:0; cursor:pointer; }
.plan-net { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:20px 0; border-block:1px solid var(--border); }
.plan-net strong { font-size:24px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.plan-history-table { overflow-x:auto; margin:20px 0; }
.plan-history-table table { width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
.plan-history-table caption { text-align:left; color:var(--muted); padding-bottom:12px; }
.plan-history-table th,.plan-history-table td { padding:12px 8px; text-align:left; border-bottom:1px solid var(--border); }
.plan-history-table td:nth-child(2) { text-align:right; }
.plan-history-table tbody th,.plan-history-table td:last-child { white-space:nowrap; }
@media(max-width:600px) { .budget-input { grid-template-columns:minmax(0,1fr); } .budget-input button { justify-self:start; } }
.plan-metrics span, .plan-metrics strong { display: block; overflow-wrap: anywhere; }
.plan-metrics span { font-size: 14px; margin-bottom: 6px; }
.plan-metrics strong { font-size: 20px; font-variant-numeric: tabular-nums; }
.plan-guidance { line-height: 1.6; }
.plan-accounts { padding: 0; margin: 20px 0; border: 0; min-width: 0; }
.plan-accounts legend { font-weight: 650; }
.plan-account { display: flex; align-items: center; gap: 12px; padding: 12px 0; }
.plan-account input[type=checkbox] { width: 22px; height: 22px; flex: 0 0 22px; }
.plan-account span { flex: 1; overflow-wrap: anywhere; }
.plan-account strong { font-variant-numeric: tabular-nums; }
.plan-observed > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; }
@media(max-width: 380px) { .plan-metrics strong { font-size: 18px; } .plan-account { flex-wrap: wrap; } }

/* v72: layouts use the available viewport, with shared controls at every size. */
body { padding:0; }
.app { max-width:none; border-radius:0; box-shadow:none; overflow:visible; }
.bottom-nav { width:100%; max-width:none; left:0; transform:none; bottom:0; border-radius:0; }
#mainApp { width:100%; max-width:1600px; margin:0 auto; }
.home-aside,.home-accounts,.home-recent,.home-analysis-collapse { min-width:0; }
#screen-home .home-aside .section-head:first-child { margin-top:24px; }
#financialPlanForm .field { display:flex; flex-direction:column; gap:6px; margin:0 0 20px!important; }
#financialPlanForm .field .helper { display:block; margin:0!important; padding:0!important; line-height:1.45!important; }
#financialPlanForm .plan-accounts { margin:16px 0; }
#financialPlanForm .plan-accounts > .helper { margin:6px 0 10px!important; }
#financialPlanForm .plan-account { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; padding:10px 0; min-height:48px; margin:0!important; }
#financialPlanForm .plan-account input[type=checkbox] { height:22px!important; min-height:22px!important; width:22px!important; margin:0!important; padding:0!important; box-shadow:none; }
#financialPlanForm .plan-account strong { font-size:14px; }
.home-account-strip { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); gap:16px!important; overflow:visible!important; }
html[data-theme] #accountStrip .bank-card { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; min-width:0; min-height:228px; width:100%; padding:24px!important; text-align:left; border:1px solid #ffffff25!important; border-radius:24px!important; background:linear-gradient(125deg,#114b43,#092e2c)!important; color:#fff!important; box-shadow:0 10px 24px #10392e18!important; position:relative; overflow:hidden; }
html[data-theme] #accountStrip .bank-card-1 { background:linear-gradient(125deg,#234983,#142546)!important; }
html[data-theme] #accountStrip .bank-card-2 { background:linear-gradient(125deg,#67487c,#30223e)!important; }
html[data-theme] #accountStrip .bank-card-3 { background:linear-gradient(125deg,#75532c,#3b2c1b)!important; }
.bank-card::after { content:''; position:absolute; width:220px; height:220px; border:1px solid #ffffff14; border-radius:50%; right:-85px; top:35px; box-shadow:0 0 0 30px #ffffff05,0 0 0 60px #ffffff03; pointer-events:none; }
.bank-card-top,.bank-card-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; position:relative; z-index:1; font-size:12px; color:#e2efeb; }
.bank-card-top { text-transform:uppercase; letter-spacing:1px; }
.bank-card-chip { display:block; width:34px; height:26px; border:1px solid #edcd88; border-radius:6px; background:linear-gradient(120deg,#e7c579,#fcdfa5); margin:20px 0 12px; position:relative; }
.bank-card-chip::before { content:''; position:absolute; inset:6px 0; border-block:1px solid #96733c; }
html[data-theme] #accountStrip .bank-card .name { color:#fff!important; font-size:17px!important; font-weight:650; }
.bank-card-caption { color:#d5e5df; font-size:12px; margin-top:14px; }
html[data-theme] #accountStrip .bank-card .bal { color:#fff!important; font-size:28px!important; line-height:1.2; margin:4px 0 18px; overflow-wrap:anywhere; }
.bank-card-bottom { margin-top:auto; flex-wrap:wrap; }
.sticker-icon { --sticker-ink:#29745e; --sticker-fill:#c6f4de; color:var(--sticker-ink)!important; background:var(--sticker-fill); border-radius:10px; padding:4px; box-sizing:content-box; filter:drop-shadow(0 2px 1px #00000012); }
.sticker-water,.sticker-bank,.sticker-car,.sticker-phone,.sticker-swap { --sticker-ink:#285caa; --sticker-fill:#d8eaff; }
.sticker-bolt,.sticker-food,.sticker-wallet,.sticker-leisure { --sticker-ink:#916014; --sticker-fill:#fff0b5; }
.sticker-health,.sticker-bag,.sticker-pig { --sticker-ink:#a63f65; --sticker-fill:#ffe0eb; }
.sticker-book,.sticker-build,.sticker-calendar,.sticker-report,.sticker-tag { --sticker-ink:#7053a5; --sticker-fill:#ece0ff; }
#screen-profile .menu-row::before { background:#dff4e9!important; color:#28674c!important; box-shadow:0 2px 0 #254c2610; }
#screen-profile .menu-row[data-open-subpanel="feedback"]::before { content:'★'; background:#fff0b5!important; color:#99670c!important; }
#screen-profile .menu-row[data-open-subpanel="about"]::before { background:#d8eaff!important; color:#285caa!important; }
#screen-profile .menu-row[data-open-subpanel="help"]::before,#screen-profile .menu-row[data-open-subpanel="appearance"]::before { background:#ece0ff!important; color:#7053a5!important; }
#screen-profile .menu-row[data-open-subpanel="notificationSettings"]::before { background:#fff0b5!important; color:#916014!important; }
.bottom-nav .nav-btn .ico { border-radius:12px; padding:5px; width:34px; height:34px; background:#dff4e9!important; color:#28674c!important; }
.bottom-nav .nav-btn[data-nav="movements"] .ico { background:#d8eaff!important; color:#285caa!important; }
.bottom-nav .nav-btn[data-nav="planning"] .ico { background:#fff0b5!important; color:#916014!important; }
.bottom-nav .nav-btn[data-nav="more"] .ico { background:#ece0ff!important; color:#7053a5!important; }
.welcome-download[hidden] { display:none!important; }
.category-create { display:flex; gap:16px; flex-wrap:wrap; align-items:end; }
.category-create .field { flex:1; min-width:200px; margin:0; }
.category-create p { flex-basis:100%; margin:0; color:var(--danger); }
.chart-inspector { margin:18px 0 0; }
.chart-inspector label { display:block; font-weight:600; font-size:14px; }
.chart-inspector select { width:100%; }
.chart-point-detail { display:block; padding:12px 14px; border-radius:12px; margin-top:12px; background:var(--surface-muted); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.chart-point { cursor:pointer; }
.chart-point:focus { outline:none; }
.chart-point:focus .chart-dot,.chart-point.selected .chart-dot { r:4.5; stroke:#122c23; stroke-width:2; }
.expense-chart-shell svg { display:block; width:100%; max-height:410px; }
.feedback-consent { display:grid; grid-template-columns:22px 1fr; gap:10px; align-items:start; margin:20px 0; line-height:1.5; }
.feedback-consent input { width:20px!important; height:20px!important; min-height:20px!important; margin:3px 0!important; }
#welcomePage[hidden],#authPanel[hidden] { display:none!important; }
.auth-shell { width:100%; max-width:none!important; }
.auth-wise-shell { width:100%!important; max-width:1320px!important; margin:0 auto!important; padding:28px clamp(20px,4vw,64px)!important; }
.auth-wise-main { width:100%!important; max-width:none!important; display:block!important; }
#authPanel { max-width:440px!important; margin:40px auto!important; }
.welcome-back { border:0; padding:10px 0; margin-bottom:20px; background:transparent; color:var(--text); }
.welcome-hero { display:grid; grid-template-columns:1.25fr 1fr; align-items:center; gap:64px; padding:64px 0; }
.welcome-kicker { display:block; font-weight:650; color:#2e7256; margin-bottom:18px; }
html[data-theme] #welcomeTitle { font-size:clamp(36px,4.5vw,64px)!important; line-height:1.07!important; letter-spacing:-2px; max-width:660px; margin:0 0 24px; }
.welcome-hero p { font-size:20px!important; line-height:1.6; max-width:600px; color:var(--muted); }
.welcome-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.welcome-actions button { width:auto!important; min-height:50px; padding:14px 24px; }
.welcome-download { display:inline-block; margin-top:20px; color:var(--info); text-underline-offset:4px; }
.welcome-art { border-radius:42px; padding:50px; background:linear-gradient(145deg,#133e31,#0c211c); display:flex; align-items:center; flex-direction:column; gap:32px; min-height:380px; justify-content:center; box-shadow:0 20px 55px #133e3120; }
.welcome-art img { width:150px; height:150px; border-radius:32px; box-shadow:0 15px 35px #0003; }
.welcome-art span { color:#e8f5df; font-size:30px; font-weight:650; text-align:center; line-height:1.2; }
.welcome-features,.welcome-reviews { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.welcome-features article,.public-review { padding:28px; background:var(--surface); border:1px solid var(--border); border-radius:24px; }
.welcome-features article > span { font-size:32px; display:block; margin-bottom:18px; }
.welcome-features h2 { font-size:20px!important; }.welcome-features p { color:var(--muted); line-height:1.6; }
.welcome-community { padding:64px 0 24px; }.welcome-community h2 { font-size:28px!important; margin-bottom:20px; }
#communityStats { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
#communityStats > strong { font-size:32px; }.community-rating { margin-left:auto; color:var(--muted); }
.public-stars { color:#936207; font-size:22px; }.public-review p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; }.public-review footer { font-size:13px; color:var(--muted); }
.community-empty { grid-column:1/-1; color:var(--muted); }.welcome-footer { display:flex; gap:24px; padding:24px 0; border-top:1px solid var(--border); }.welcome-footer a { color:var(--muted); }
@media(min-width:700px) {
  .screen { padding:28px 36px!important; }
  .app-header { padding-inline:36px; }
  #screen-home.active { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  #screen-home > #onboardingCard,#screen-home > .home-accounts { grid-column:1/-1; }
  #screen-home .hero { margin:0!important; }
  #screen-home .home-aside .section-head:first-child { margin-top:0; }
  #screen-home .home-analysis-collapse { margin-top:0; }
  .home-account-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #financialPlanForm { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
  #financialPlanForm .field { margin:0!important; }
  #financialPlanForm .plan-accounts,#financialPlanForm #planError,#financialPlanForm > button { grid-column:1/-1; }
  #screen-profile { max-width:920px; margin:auto; }
  .more-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media(min-width:1100px) {
  .app { padding-left:208px; padding-bottom:32px; }
  .bottom-nav { width:208px; max-width:208px; top:0; bottom:0; height:100dvh; padding:32px 16px!important; display:flex!important; flex-direction:column; justify-content:flex-start; gap:10px; border-top:0; border-right:1px solid var(--border); border-radius:0; }
  .bottom-nav::before { content:'Kumbú'; display:block; font-size:30px; font-weight:800; padding:10px 14px 40px; color:var(--text); }
  .bottom-nav .nav-btn { flex:none; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; gap:14px; width:100%; min-height:58px; padding:10px 14px; border-radius:14px; }
  .bottom-nav .nav-btn.active { background:var(--surface-muted); }.bottom-nav .nav-btn > span:last-child { font-size:15px!important; }
  .home-account-strip { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .screen { padding:32px 44px!important; }
  .app-header { padding-inline:44px; }
  .more-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #subpanelContent { max-width:1200px; margin:auto; }
}
@media(max-width:699px) {
  .welcome-hero { grid-template-columns:1fr; gap:28px; padding:32px 0; }.welcome-art { min-height:230px; padding:26px; flex-direction:row; border-radius:28px; }.welcome-art img { width:100px; height:100px; border-radius:22px; }.welcome-art span { font-size:24px; text-align:left; }
  .welcome-features,.welcome-reviews { grid-template-columns:1fr; }.welcome-community { padding-top:36px; }.community-rating { margin-left:0; flex-basis:100%; }
  html[data-theme] #welcomeTitle { letter-spacing:-1px; }.welcome-hero p { font-size:17px!important; }
}

/* v73: native-only animation and unrestricted vertical scrolling. */
html:not(.native-startup) #startupScreen {display:none!important}
.home-account-strip {touch-action:pan-y;scroll-snap-type:none;overscroll-behavior-inline:auto}
.auth-wise-main {padding-top:8px!important}
.welcome-hero {padding:32px 0 40px;gap:44px}
.welcome-features article {box-shadow:none;background:var(--surface)}
.welcome-art {box-shadow:none;background:#163c2d}
@media(max-width:699px){.auth-wise-shell{padding-top:18px!important}.welcome-hero{padding:20px 0 28px}.welcome-kicker{margin-bottom:12px}.welcome-actions{margin-top:20px}}

.sync-review-dialog{max-width:560px;width:calc(100% - 32px);max-height:85dvh;overflow:auto;padding:24px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--text)}.sync-review-dialog::backdrop{background:#0b211b99}.sync-review-actions,.sync-copies{display:grid;gap:12px;margin:20px 0}.sync-review-dialog p{line-height:1.6}

/* v74: mobile card scrolling, remembered web login, compact recurring items, and improved chart/stat presentation. */
.home-account-strip{display:flex!important;overflow-x:auto!important;overflow-y:hidden!important;gap:14px!important;grid-template-columns:none!important;scroll-snap-type:x proximity!important;scroll-behavior:smooth;touch-action:pan-x!important;overscroll-behavior-inline:contain!important;padding:2px 2px 10px!important;margin:0 -2px!important}
.home-account-strip.empty-mode{display:block!important;overflow:visible!important;padding:0!important;margin:0!important}
html[data-theme] #accountStrip .bank-card{flex:0 0 clamp(270px,82vw,320px)!important;width:clamp(270px,82vw,320px)!important;min-height:auto!important;aspect-ratio:1.586/1!important;border-radius:28px!important;padding:24px!important;scroll-snap-align:start}
html[data-theme] #accountStrip .bank-card .name{font-size:18px!important}
html[data-theme] #accountStrip .bank-card .bal{font-size:30px!important;line-height:1.14!important}
@media(min-width:1100px){.home-account-strip{gap:18px!important}.home-account-strip .bank-card{flex-basis:320px!important;width:320px!important}}

.category-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.category-pay-action{min-height:38px;padding:0 14px;white-space:nowrap}
.recurring-row-compact{grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important;padding:11px 0!important}
.recurring-row-compact .recurring-copy{display:grid;gap:7px}
.recurring-topline,.recurring-bottomline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.recurring-bottomline{align-items:center}
.recurring-row-compact .recurring-amount{font-size:17px;font-weight:800;white-space:nowrap}
.recurring-row-compact .recurring-actions{margin-top:2px;gap:8px;flex-wrap:wrap}
.recurring-row-compact .recurring-action{min-height:36px;padding:0 14px}
@media(max-width:699px){.recurring-row-compact .recurring-topline{align-items:flex-start}.recurring-row-compact .recurring-amount{font-size:16px}.recurring-row-compact .recurring-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}

.cycle-pie-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 14px}
.cycle-pie-stat{padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:var(--surface-muted)}
.cycle-pie-stat strong{display:block;font-size:20px;line-height:1.1;margin-bottom:6px}
.cycle-pie-stat span{display:block;font-size:12px;line-height:1.45;color:var(--muted)}
@media(max-width:699px){.cycle-pie-stats{grid-template-columns:1fr}}
.chart-point.selected .chart-dot,.chart-point:hover .chart-dot{r:4.75;stroke:#17372d;stroke-width:2}
.chart-point-detail{border:1px solid var(--border);background:var(--surface)}

.returning-panel,.password-panel{max-width:520px!important}
.remembered-card{display:grid;gap:18px;justify-items:center;padding:26px 0 8px;text-align:center}
.remembered-inline-brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:22px;letter-spacing:-.02em;color:#163f35}
.remembered-inline-brand img{width:34px;height:34px;border-radius:10px}
.remembered-avatar{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#e7efe9;color:#17372d;font-size:28px;font-weight:800;overflow:hidden;border:1px solid #d2ded6;box-shadow:0 10px 28px rgba(17,37,29,.08)}
.remembered-avatar.has-photo img,.remembered-avatar img{width:100%;height:100%;object-fit:cover}
.remembered-avatar-large{width:92px;height:92px;margin:12px 0 2px}
.remembered-identity{display:grid;gap:4px;text-align:center}
.remembered-identity strong{font-size:18px;line-height:1.2}
.remembered-identity span{font-size:14px;color:var(--muted)}
.remembered-secondary{width:100%;min-height:52px;border-radius:999px}
.password-panel .auth-help-link{margin-top:16px;justify-self:center}
.password-identity{margin:2px 0 2px}
.auth-wise-panel[hidden],#rememberedPage[hidden],#passwordPanel[hidden]{display:none!important}
.button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;display:inline-block;animation:kumbu-button-spin .85s linear infinite}
button.is-loading{display:inline-flex!important;align-items:center;justify-content:center;gap:10px}
@keyframes kumbu-button-spin{to{transform:rotate(360deg)}}
@media(max-width:699px){.remembered-card{padding-top:16px}.returning-panel,.password-panel{max-width:none!important}.remembered-inline-brand{font-size:20px}}
html[data-theme="dark"] .remembered-inline-brand{color:#f0f6f2}
html[data-theme="dark"] .remembered-avatar{background:#202420;color:#f0f6f2;border-color:#363d36}
html[data-theme="dark"] .cycle-pie-stat{background:#1c211d}

/* v0.74.1: user-requested corrections. */
.category-delete-action{min-height:34px;padding:0 10px;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--border));background:transparent}
.category-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

.recurring-shell{gap:0!important;padding:4px 14px!important}
.recurring-row-compact{padding:8px 0!important;gap:9px!important;align-items:start!important}
.recurring-row-compact .tx-icon{width:34px;height:34px;min-width:34px;margin-top:2px}
.recurring-row-compact .recurring-copy{gap:4px!important}
.recurring-row-compact .recurring-title{font-size:13px!important;line-height:1.25}
.recurring-row-compact .recurring-meta{font-size:10px!important;margin-top:0!important;line-height:1.35}
.recurring-row-compact .recurring-amount{font-size:14px!important;line-height:1.2}
.recurring-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:1px;flex-wrap:nowrap}
.recurring-tags{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.recurring-row-compact .program-scope,.recurring-row-compact .recurring-status{min-height:20px;padding:2px 6px;font-size:8.5px;margin:0}
.recurring-row-compact .recurring-actions{display:flex!important;grid-template-columns:none!important;gap:5px!important;flex-wrap:nowrap!important;margin:0!important;flex-shrink:0}
.recurring-row-compact .recurring-action{min-height:29px!important;padding:4px 8px!important;border-radius:8px!important;font-size:9px!important}
@media(max-width:390px){.recurring-footer{align-items:flex-start}.recurring-tags{max-width:52%}.recurring-row-compact .recurring-action{padding-inline:7px!important}}

.cycle-pie-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.cycle-pie-controls select{max-width:180px}
.cycle-currency-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.cycle-currency-summary span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);font-size:11px;color:var(--muted)}
.cycle-currency-summary b{color:var(--text)}
.cycle-detail-currencies{margin:14px 0;padding:12px 14px;border:1px solid var(--border);background:var(--surface-muted);border-radius:14px}
.cycle-detail-currencies>strong{display:block;margin-bottom:7px}
.cycle-detail-currencies>div{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cycle-detail-currencies span{font-weight:700}
.cycle-detail-currencies small{color:var(--muted);line-height:1.4}
@media(max-width:600px){.cycle-pie-controls{width:100%;display:grid;grid-template-columns:1fr 110px}.cycle-pie-controls select{max-width:none!important;width:100%!important}}

/* Restore account cards exactly to the pre-v0.74.0 presentation (v0.73.3). */
.home-account-strip{--account-card-width:clamp(292px,86vw,360px);display:flex!important;flex-flow:row nowrap!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:2px 18px 14px 2px!important;margin:0 -2px!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:2px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain!important;scrollbar-width:none;touch-action:pan-x pan-y!important;grid-template-columns:none!important}
.home-account-strip.empty-mode{display:block!important;overflow:visible!important;padding:0!important;margin:0!important}
html[data-theme] #accountStrip .bank-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:0 0 var(--account-card-width)!important;min-width:var(--account-card-width)!important;max-width:360px!important;width:var(--account-card-width)!important;aspect-ratio:1.585 / 1!important;min-height:0!important;padding:20px!important;text-align:left;border:1px solid #ffffff25!important;border-radius:22px!important;background:linear-gradient(125deg,#114b43,#092e2c)!important;color:#fff!important;box-shadow:0 10px 24px #10392e18!important;position:relative;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}
html[data-theme] #accountStrip .bank-card-1{background:linear-gradient(125deg,#234983,#142546)!important}
html[data-theme] #accountStrip .bank-card-2{background:linear-gradient(125deg,#67487c,#30223e)!important}
html[data-theme] #accountStrip .bank-card-3{background:linear-gradient(125deg,#75532c,#3b2c1b)!important}
.bank-card-chip{display:block;width:32px;height:24px;border:1px solid #edcd88;border-radius:6px;background:linear-gradient(120deg,#e7c579,#fcdfa5);margin:14px 0 9px;position:relative;flex:0 0 auto}
html[data-theme] #accountStrip .bank-card .name{color:#fff!important;font-size:16px!important;font-weight:650;line-height:1.2}
.bank-card-caption{color:#d5e5df;font-size:11px;margin-top:9px}
html[data-theme] #accountStrip .bank-card .bal{color:#fff!important;font-size:26px!important;line-height:1.15!important;margin:3px 0 12px;overflow-wrap:anywhere}
.bank-card-bottom{margin-top:auto;flex-wrap:nowrap;font-size:11px}
@media(max-width:699px){.home-account-strip{--account-card-width:calc(100vw - 48px);gap:12px!important}html[data-theme] #accountStrip .bank-card{padding:18px!important}html[data-theme] #accountStrip .bank-card .bal{font-size:24px!important}.bank-card-chip{margin:11px 0 7px}}

/* v0.74.5 — contrato único de scroll para todas as páginas principais.
   Planeamento usa o mesmo scroll vertical da página, sem contentor próprio,
   sem touch-action especial e sem contain/overflow específicos no ecrã. */
html,body{
  max-width:100%;
  overflow-x:clip;
}
.app,#mainApp,.screen{
  min-width:0;
  max-width:100%;
}
#screen-planning{
  width:100%;
  min-width:0;
  max-width:100%;
}
#screen-planning>*{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
#screen-planning :where(.financial-cycle-card,#financialPlanCard,.financial-plan,#financialPlanForm,.cycle-history-collapse,.cycle-history-list,.cycle-history-row,#cyclePendingActions,#projectList,.project,.planning-detail-block,#cycleSpendingChart,.finance-insight,.cycle-pie-head,.cycle-pie-controls,.cycle-pie-stats,.outflow-legend,.plan-metrics,.plan-observed,.plan-accounts,.plan-account,.budget-row,.budget-heading,.row-between,.project-line,.progress-top,.expense-chart-shell){
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
#screen-planning .expense-chart-shell,
#screen-planning .expense-chart-shell svg,
#screen-planning .cycle-donut{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto;
}
#screen-planning .cycle-history-collapse>summary{
  grid-template-columns:minmax(0,1fr) minmax(0,auto) auto;
}
#screen-planning .summary-note,
#screen-planning .financial-cycle-copy,
#screen-planning .financial-cycle-copy strong,
#screen-planning .financial-cycle-copy small,
#screen-planning .cycle-history-row strong,
#screen-planning .cycle-history-row small,
#screen-planning .cycle-history-balance strong,
#screen-planning .plan-guidance,
#screen-planning .helper,
#screen-planning .plan-net strong,
#screen-planning .plan-observed strong,
#screen-planning .plan-account strong,
#screen-planning .budget-heading strong,
#screen-planning .outflow-legend strong,
#screen-planning .project-line strong,
#screen-planning .project-line span,
#screen-planning .progress-top span{
  min-width:0;
  max-width:100%;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
#screen-planning .plan-history-table{
  width:100%;
  max-width:100%;
  overflow:visible;
}
#screen-planning .plan-history-table table{
  width:100%!important;
  max-width:100%!important;
  table-layout:fixed;
}
#screen-planning .plan-history-table th,
#screen-planning .plan-history-table td{
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
#screen-planning #cyclePendingActions .attention-row{
  grid-template-columns:minmax(0,1fr) minmax(0,auto);
  min-width:0;
  max-width:100%;
}
#screen-planning #cyclePendingActions .attention-copy{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
}
#screen-planning #cyclePendingActions .attention-amount{
  width:auto!important;
  min-width:0!important;
  max-width:min(48%,240px)!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
#screen-planning .outflow-legend li{
  min-width:0;
  max-width:100%;
}
#screen-planning .outflow-legend strong{
  flex:0 1 auto;
  min-width:0;
}

/* A navegação é independente do conteúdo rolável. Não depende do ecrã activo
   nem de qualquer ancestor do .app para manter a posição no viewport. */
.app.auth-locked + .bottom-nav{display:none!important}
@media(max-width:1099px){
  .bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    top:auto!important;
    width:auto!important;
    max-width:none!important;
    transform:none!important;
    z-index:1000!important;
  }
}
@media(min-width:1100px){
  .bottom-nav{
    position:fixed!important;
    left:0!important;
    right:auto!important;
    top:0!important;
    bottom:0!important;
    width:208px!important;
    max-width:208px!important;
    transform:none!important;
    z-index:1000!important;
  }
}
@media(max-width:699px){
  #screen-planning .cycle-pie-controls{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%;
  }
  #screen-planning .cycle-pie-controls select,
  #screen-planning .cycle-pie-controls .kumbu-select{
    width:100%!important;
    max-width:100%!important;
  }
  #screen-planning .cycle-pie-stats,
  #screen-planning .plan-metrics{
    grid-template-columns:minmax(0,1fr)!important;
  }
  #screen-planning #cyclePendingActions .attention-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  #screen-planning #cyclePendingActions .attention-amount{
    width:100%!important;
    max-width:100%!important;
    justify-self:stretch;
  }
  #screen-planning .plan-account{
    grid-template-columns:22px minmax(0,1fr)!important;
  }
  #screen-planning .plan-account strong{
    grid-column:2;
    width:100%;
    text-align:left;
  }
  #screen-planning .outflow-legend li{
    flex-wrap:wrap;
    align-items:flex-start;
  }
  #screen-planning .outflow-legend li>span:nth-last-child(2){
    flex:1 1 calc(100% - 42px);
  }
  #screen-planning .outflow-legend strong{
    flex:1 1 100%;
    width:100%;
    padding-left:32px;
    text-align:left;
  }
  #screen-planning .plan-history-table table,
  #screen-planning .plan-history-table tbody,
  #screen-planning .plan-history-table tr,
  #screen-planning .plan-history-table th,
  #screen-planning .plan-history-table td{
    display:block;
    width:100%;
    max-width:100%;
  }
  #screen-planning .plan-history-table thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:-1px!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  #screen-planning .plan-history-table tr{
    padding:10px 0;
    border-bottom:1px solid var(--border);
  }
  #screen-planning .plan-history-table tbody th,
  #screen-planning .plan-history-table td{
    padding:4px 0!important;
    border:0!important;
    text-align:left!important;
  }
  #screen-planning .plan-history-table td:nth-child(2)::before{content:'Património líquido · ';color:var(--muted);font-weight:500}
  #screen-planning .plan-history-table td:nth-child(3)::before{content:'Registado em · ';color:var(--muted);font-weight:500}
}

/* v74.6 — apenas apresentação móvel das fatias e do bloco de atenção. */
@media(max-width:699px){
  /* Fatias dos gastos: uma linha por categoria, como na referência móvel. */
  #screen-planning .outflow-legend{
    width:100%;
    margin:12px 0 0;
    padding:0;
  }
  #screen-planning .outflow-legend li{
    display:grid!important;
    grid-template-columns:10px 31px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    width:100%;
    min-width:0;
    padding:10px 0!important;
    flex-wrap:nowrap!important;
  }
  #screen-planning .outflow-legend .slice-dot{
    grid-column:1;
    width:10px;
    height:10px;
    margin:0;
  }
  #screen-planning .outflow-legend .semantic-icon{
    grid-column:2;
    width:23px;
    height:23px;
    margin:0;
  }
  #screen-planning .outflow-legend li>span:nth-last-child(2){
    grid-column:3;
    min-width:0;
    width:auto;
    flex:none;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  #screen-planning .outflow-legend small{
    margin-top:2px;
    line-height:1.25;
  }
  #screen-planning .outflow-legend strong{
    grid-column:4;
    min-width:max-content;
    width:auto!important;
    max-width:none!important;
    padding-left:0!important;
    text-align:right!important;
    white-space:nowrap!important;
    font-size:14px!important;
    line-height:1.2;
    font-variant-numeric:tabular-nums;
  }

  /* Precisa da sua atenção: texto à esquerda, valor/acção à direita. */
  #screen-planning #cyclePendingActions .finance-insight{
    width:100%;
    padding:18px 16px;
  }
  #screen-planning #cyclePendingActions .finance-insight>h3{
    margin:0 0 14px;
    font-size:16px;
    line-height:1.3;
  }
  #screen-planning #cyclePendingActions .attention-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
    width:100%;
    min-width:0;
    padding:16px 0!important;
  }
  #screen-planning #cyclePendingActions .attention-copy{
    min-width:0;
    max-width:100%;
    font-size:15px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  #screen-planning #cyclePendingActions .attention-copy>span{
    display:block;
  }
  #screen-planning #cyclePendingActions .attention-status{
    margin-top:4px;
  }
  #screen-planning #cyclePendingActions .attention-amount{
    justify-self:end!important;
    width:auto!important;
    min-width:0!important;
    max-width:46vw!important;
    padding:9px 10px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    font-size:14px!important;
    line-height:1.2;
    font-weight:700;
    font-variant-numeric:tabular-nums;
  }
}

/* v74.8 — Web/tablet/desktop: os valores do bloco de atenção ficam numa linha.
   Não se aplica ao runtime Android nativo nem altera o layout mobile <=699px. */
@media (min-width:700px){
  html:not(.native-startup) #screen-planning #cyclePendingActions .attention-row{
    grid-template-columns:minmax(0,1fr) max-content!important;
  }
  html:not(.native-startup) #screen-planning #cyclePendingActions .attention-amount{
    justify-self:end!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* v0.74.9 — gráfico de evolução do ciclo: leitura financeira mais limpa e profissional. */
.cycle-evolution{min-width:0}
.cycle-evolution-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:18px;margin:2px 0 16px}
.cycle-evolution-title>div:first-child{display:grid;gap:3px;min-width:0}
.cycle-evolution-title>div:first-child strong{font-size:17px;line-height:1.2;letter-spacing:-.015em}
.cycle-evolution-title>div:first-child span{font-size:12px!important;line-height:1.35!important;color:var(--muted)}
.cycle-evolution-metric{display:grid;justify-items:end;gap:2px;text-align:right;font-variant-numeric:tabular-nums lining-nums}
.cycle-evolution-metric>span{font-size:11px;color:var(--muted)}
.cycle-evolution-metric>strong{font-size:21px;line-height:1.15;letter-spacing:-.025em;color:var(--text)}
.cycle-evolution-metric>small{font-size:11px;font-weight:650}
.cycle-evolution-metric>small.positive{color:#26785f}
.cycle-evolution-metric>small.negative{color:#a9473a}
.cycle-evolution-metric>small.neutral{color:var(--muted)}
.cycle-evolution .expense-chart-shell{position:relative;width:100%;margin:0;overflow:visible}
.cycle-evolution .expense-chart-shell svg{display:block;width:100%;height:auto;max-height:none;overflow:visible;touch-action:manipulation}
.cycle-evolution .chart-grid-line{stroke:#cfd8d2;stroke-width:.8;stroke-dasharray:2.5 4.5;opacity:.72}
.cycle-evolution .chart-grid-zero{stroke:#9faea5;stroke-dasharray:none;opacity:.8}
.cycle-evolution .chart-cycle-divider{stroke:#d9e0dc;stroke-width:.75;stroke-dasharray:2 5;opacity:.65}
.cycle-evolution .chart-axis-label{font-size:15px;font-weight:560;fill:#7a847e!important;font-variant-numeric:tabular-nums lining-nums}
.cycle-evolution .chart-month-label{font-size:15.5px;font-weight:680;fill:#69746e!important;letter-spacing:.01em}
.cycle-evolution .chart-balance-line{stroke:#2e765e!important;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.cycle-evolution .chart-hit{fill:transparent!important;stroke:none!important;pointer-events:all}
.cycle-evolution .chart-dot{fill:#2e765e!important;stroke:#fff!important;stroke-width:1;opacity:.42;vector-effect:non-scaling-stroke;transition:opacity .16s ease,r .16s ease}
.cycle-evolution .chart-point:hover .chart-dot,.cycle-evolution .chart-point:focus .chart-dot,.cycle-evolution .chart-point.selected .chart-dot{opacity:1;r:3.8;stroke:#fff!important;stroke-width:1.5}
.cycle-evolution .chart-point:focus{outline:none}
.cycle-evolution .chart-latest-halo{fill:#2e765e!important;stroke:none!important;opacity:.12}
.cycle-evolution .chart-latest-dot{fill:#2e765e!important;stroke:#fff!important;stroke-width:1.8;vector-effect:non-scaling-stroke}
.cycle-evolution .chart-point-detail{display:block;min-height:42px;margin:10px 0 0;padding:9px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-size:12px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.cycle-evolution .chart-inspector{margin:8px 0 0;border:0}
.cycle-evolution .chart-inspector summary{width:max-content;max-width:100%;padding:5px 0;cursor:pointer;font-size:11px;font-weight:650;color:var(--muted);list-style:none}
.cycle-evolution .chart-inspector summary::-webkit-details-marker{display:none}
.cycle-evolution .chart-inspector summary::after{content:' +';font-weight:700}
.cycle-evolution .chart-inspector[open] summary::after{content:' −'}
.cycle-evolution .chart-inspector label{display:block;margin-top:5px}
.cycle-evolution .chart-inspector select{width:100%;min-width:0;margin:0;font-size:12px}
.cycle-evolution .cycle-evolution-note{margin:9px 0 0;font-size:11px!important;line-height:1.45!important;color:var(--muted)}
@media(max-width:699px){
  .cycle-evolution-title{grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px}
  .cycle-evolution-title>div:first-child strong{font-size:15px}
  .cycle-evolution-metric>strong{font-size:17px}
  .cycle-evolution-metric>span,.cycle-evolution-metric>small{font-size:10px}
  .cycle-evolution .chart-axis-label{font-size:15px}
  .cycle-evolution .chart-month-label{font-size:15.5px}
  .cycle-evolution .chart-point-detail{font-size:11px;min-height:38px}
}
html[data-theme="dark"] .cycle-evolution .chart-grid-line{stroke:#4b5650}
html[data-theme="dark"] .cycle-evolution .chart-grid-zero{stroke:#718078}
html[data-theme="dark"] .cycle-evolution .chart-cycle-divider{stroke:#46514b}
html[data-theme="dark"] .cycle-evolution .chart-axis-label,html[data-theme="dark"] .cycle-evolution .chart-month-label{fill:#aab5ae!important}
html[data-theme="dark"] .cycle-evolution .chart-balance-line{stroke:#9de86e!important}
html[data-theme="dark"] .cycle-evolution .chart-dot,html[data-theme="dark"] .cycle-evolution .chart-latest-halo,html[data-theme="dark"] .cycle-evolution .chart-latest-dot{fill:#9de86e!important}
html[data-theme="dark"] .cycle-evolution .chart-dot,html[data-theme="dark"] .cycle-evolution .chart-latest-dot{stroke:#182019!important}

/* v0.74.12: bottom navigation uses neutral inactive icons and a clear active/press state. */
@media(max-width:1099px){
  .bottom-nav .nav-btn{
    width:auto!important;
    margin:2px 3px;
    border-radius:14px!important;
    background:transparent!important;
    color:var(--muted)!important;
    transition:background .16s ease,color .16s ease,transform .08s ease,box-shadow .16s ease!important;
    -webkit-tap-highlight-color:transparent;
  }
  .bottom-nav .nav-btn .ico,
  .bottom-nav .nav-btn[data-nav="movements"] .ico,
  .bottom-nav .nav-btn[data-nav="planning"] .ico,
  .bottom-nav .nav-btn[data-nav="more"] .ico{
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
  }
  .bottom-nav .nav-btn.active{
    background:var(--accent-soft)!important;
    color:var(--info)!important;
    font-weight:700!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 18%,transparent)!important;
  }
  .bottom-nav .nav-btn.active .ico{
    background:transparent!important;
    color:inherit!important;
  }
  .bottom-nav .nav-btn:active{
    background:color-mix(in srgb,var(--accent-soft) 76%,var(--border))!important;
    color:var(--primary)!important;
    transform:scale(.97);
  }
  .bottom-nav .nav-btn:focus-visible{
    outline:2px solid var(--info)!important;
    outline-offset:-2px;
  }
}
@media(max-width:1099px) and (hover:hover) and (pointer:fine){
  .bottom-nav .nav-btn:not(.active):hover{
    background:var(--surface-muted)!important;
    color:var(--text)!important;
  }
}
html[data-theme="dark"] .bottom-nav .nav-btn.active{
  background:color-mix(in srgb,var(--accent) 16%,var(--surface))!important;
  color:#9FE870!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,#9FE870 22%,transparent)!important;
}

/* v0.74.13: maior legibilidade das legendas do gráfico de linha.
   Mantém exactamente a série, escala, pontos e cálculos; altera apenas tipografia. */

/* v0.74.14: mobile-only web access and revised authentication entry flow. */
#desktopNotice[hidden],#welcomePage[hidden],#rememberedPage[hidden],#passwordPanel[hidden],#authPanel[hidden]{display:none!important}
body[data-auth-view="welcomePage"] .auth-wise-brand,
body[data-auth-view="rememberedPage"] .auth-wise-brand,
body[data-auth-view="passwordPanel"] .auth-wise-brand,
body[data-auth-view="desktopNotice"] .auth-wise-brand{display:none!important}

/* Computers receive a clear mobile-only notice instead of the application. */
body[data-auth-view="desktopNotice"] .auth-shell{background:#f4f7f3!important;padding:32px!important;display:grid!important;place-items:center!important;overflow:auto!important}
body[data-auth-view="desktopNotice"] .auth-wise-shell{width:min(100%,620px)!important;max-width:620px!important;min-height:0!important;margin:auto!important;padding:0!important;background:transparent!important;box-shadow:none!important}
body[data-auth-view="desktopNotice"] .auth-wise-main{padding:0!important;display:block!important}
.desktop-only-notice{width:100%}
.desktop-notice-card{width:100%;padding:46px 48px;border:1px solid #dde5df;border-radius:28px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(18,35,28,.10)}
.desktop-notice-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:38px;font-size:20px;font-weight:800;color:#173f35}
.desktop-notice-brand img{width:36px;height:36px;border-radius:11px}
.desktop-notice-icon{width:76px;height:110px;margin:0 auto 28px;border:4px solid #173f35;border-radius:18px;display:grid;place-items:center;font-size:0;position:relative;background:#eff8f2}
.desktop-notice-icon::before{content:"";width:30px;height:4px;border-radius:99px;background:#9fe870;position:absolute;top:12px}
.desktop-notice-icon::after{content:"";width:20px;height:4px;border-radius:99px;background:#173f35;position:absolute;bottom:10px;opacity:.35}
.desktop-notice-card h1{margin:0 0 14px!important;font-size:34px!important;line-height:1.08!important;letter-spacing:-.035em!important;color:#101510!important}
.desktop-notice-card p{max-width:490px;margin:0 auto 18px;font-size:17px;line-height:1.58;color:#5e675f}
.desktop-notice-card small{display:block;color:#7b837c;font-size:13px}

/* New mobile welcome screen, inspired by the supplied composition but branded for Kumbú. */
body[data-auth-view="welcomePage"] .auth-shell{background:#0d120e!important;padding:0!important;overflow-y:auto!important}
body[data-auth-view="welcomePage"] .auth-wise-shell{width:100%!important;max-width:480px!important;min-height:100dvh!important;padding:0!important;background:#0d120e!important;box-shadow:none!important;border-radius:0!important}
body[data-auth-view="welcomePage"] .auth-wise-main{padding:0!important;min-height:100dvh!important}
.mobile-entry{min-height:100dvh;display:flex;flex-direction:column;padding:max(20px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 31%,rgba(159,232,112,.12),transparent 30%),#0d120e;color:#f7faf7;overflow:hidden}
.mobile-entry-accent{height:6px;width:100%;border-radius:999px;background:linear-gradient(90deg,#7ee78d,#b8f58e);opacity:.95;flex:0 0 auto;margin:0 0 18px}
.mobile-entry-brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:16px;color:#f6faf6}
.mobile-entry-brand img{width:31px;height:31px;border-radius:10px}
.mobile-entry-visual{display:grid;place-items:center;flex:1 1 38vh;min-height:245px;padding:24px 0 14px}
.money-orbit{width:220px;height:220px;position:relative;display:grid;place-items:center;transform:rotate(-8deg)}
.money-orbit::before,.money-orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(159,232,112,.22)}
.money-orbit::before{inset:18px}.money-orbit::after{inset:44px}
.money-orbit-core{width:124px;height:124px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,#d9ffd0 0,#96e8a0 31%,#2f8d70 66%,#173f35 100%);box-shadow:0 24px 60px rgba(0,0,0,.38),inset -14px -18px 28px rgba(0,0,0,.16);overflow:hidden}
.money-orbit-core img{width:70px;height:70px;border-radius:18px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.16))}
.money-orbit-coin{position:absolute;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffd86b,#e59a10);color:#5b3800;font-weight:900;font-size:14px;border:2px solid #ffe89d;box-shadow:0 9px 20px rgba(0,0,0,.26)}
.coin-a{left:4px;top:116px}.coin-b{left:43px;top:69px;width:40px;height:40px}.coin-c{right:22px;top:48px;width:44px;height:44px}.coin-d{right:-2px;top:98px;width:36px;height:36px}
.mobile-entry-copy{text-align:center;padding:0 0 24px}
.mobile-entry-kicker{display:block;margin-bottom:10px;color:#9fe870;font-size:14px;font-weight:750}
html[data-theme] .mobile-entry #welcomeTitle{max-width:390px;margin:0 auto!important;color:#f8fbf8!important;font-size:clamp(36px,10.5vw,48px)!important;line-height:1.02!important;letter-spacing:-.05em!important;font-weight:850!important;text-wrap:balance}
.mobile-entry-copy p{max-width:380px;margin:15px auto 0;color:#bdc7be;font-size:15px!important;line-height:1.5}
.mobile-entry-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:16px}
.mobile-entry-actions button{width:100%!important;min-height:58px!important;border-radius:999px!important;background:#9fe870!important;color:#13250e!important;border:0!important;font-size:16px!important;font-weight:800!important;box-shadow:none!important}
.mobile-entry-actions button:active{transform:scale(.985)}
.mobile-entry-footer{display:flex;justify-content:center;gap:22px;font-size:12px;padding-top:2px}
.mobile-entry-footer a{color:#879188;text-decoration:none}

/* Recognised-device screen follows the compact, centred mobile reference. */
body[data-auth-view="rememberedPage"] .auth-shell,
body[data-auth-view="passwordPanel"] .auth-shell,
body[data-auth-view="authPanel"] .auth-shell{background:#fff!important;padding:max(20px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom))!important}
body[data-auth-view="rememberedPage"] .auth-wise-shell,
body[data-auth-view="passwordPanel"] .auth-wise-shell,
body[data-auth-view="authPanel"] .auth-wise-shell{max-width:430px!important;min-height:calc(100dvh - 42px)!important;padding:0!important;background:#fff!important;border-radius:0!important;box-shadow:none!important}
body[data-auth-view="rememberedPage"] .auth-wise-main{display:grid!important;align-items:center!important;padding:0!important}
.returning-panel .welcome-back{display:none!important}
.returning-panel{max-width:430px!important;margin:auto!important}
.remembered-card{gap:14px!important;padding:4px 0!important;justify-items:center!important;text-align:center!important}
.remembered-inline-brand{gap:8px!important;font-size:16px!important;color:#173f35!important}
.remembered-inline-brand img{width:29px!important;height:29px!important;border-radius:9px!important}
.remembered-avatar{width:76px!important;height:76px!important;font-size:24px!important;margin:8px 0 0!important;box-shadow:0 10px 28px rgba(17,37,29,.08)!important}
.returning-panel h1{font-size:29px!important;letter-spacing:-.035em!important}
.returning-panel .auth-wise-subtitle{max-width:310px!important;margin:2px auto 2px!important;font-size:13px!important;line-height:1.45!important;text-align:center!important}
.remembered-identity{gap:2px!important;margin:2px 0 0!important}
.remembered-identity strong{font-size:16px!important}.remembered-identity span{font-size:12px!important}
.returning-panel .auth-wise-submit,.remembered-secondary{height:54px!important;min-height:54px!important;margin-top:3px!important;border-radius:999px!important;font-size:14px!important}
.remembered-secondary{background:#f0f2ef!important;border:0!important;color:#1e261f!important;font-weight:750!important}

/* Password confirmation mirrors the supplied second screen: content-led, no duplicate avatar. */
body[data-auth-view="passwordPanel"] .auth-wise-main{padding:10px 0 24px!important}
.password-panel{max-width:430px!important;margin:0 auto!important}
.password-panel .welcome-back,.password-panel .remembered-inline-brand,.password-panel .remembered-avatar-large{display:none!important}
.password-panel h1{max-width:360px!important;font-size:31px!important;line-height:1.06!important;letter-spacing:-.04em!important}
.password-panel .auth-wise-subtitle{text-align:left!important;margin:8px 0 12px!important;font-size:13px!important}
.password-panel .password-identity{text-align:left!important;margin:0 0 16px!important;gap:2px!important}
.password-panel .password-identity strong{font-size:16px!important}.password-panel .password-identity span{font-size:12px!important}
.password-panel .auth-wise-form .field{margin-bottom:13px!important}
.password-panel .auth-wise-submit{margin-top:2px!important}
.password-panel .auth-help-link{margin-top:12px!important;justify-self:start!important}

/* Loading state intentionally contains no visible text. */
button.is-loading{position:relative!important;color:transparent!important;gap:0!important}
button.is-loading .button-spinner{color:#173f35!important;width:18px!important;height:18px!important;border-width:2.5px!important}

@media(max-width:360px){
  .mobile-entry{padding-left:17px;padding-right:17px}
  .mobile-entry-visual{min-height:215px}.money-orbit{transform:scale(.9) rotate(-8deg)}
  html[data-theme] .mobile-entry #welcomeTitle{font-size:34px!important}
  .mobile-entry-actions{gap:9px}.mobile-entry-actions button{font-size:14px!important}
}

/* v0.74.15: refined mobile authentication hierarchy, navigation sizing and post-login skeleton. */
body[data-auth-view="authPanel"] .auth-wise-brand{display:none!important}

/* Recognised account: brand at the top and stronger user identity. */
body[data-auth-view="rememberedPage"] .auth-wise-main{display:block!important;align-items:initial!important;padding:0!important}
.returning-panel{padding-top:2px!important}
.remembered-card{width:100%!important;gap:15px!important;padding:0!important}
.remembered-inline-brand{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;font-size:20px!important;line-height:1!important;font-weight:820!important;color:#173f35!important;margin:0 0 12px!important}
.remembered-inline-brand img{width:40px!important;height:40px!important;border-radius:12px!important}
.remembered-avatar{width:82px!important;height:82px!important;font-size:26px!important;margin:0!important}
.returning-panel h1{font-size:31px!important;line-height:1.04!important;margin-top:2px!important}
.remembered-identity{gap:3px!important;margin:3px 0 2px!important}
.remembered-identity strong{font-size:20px!important;line-height:1.18!important;font-weight:820!important;letter-spacing:-.02em!important}
.remembered-identity span{font-size:14px!important;line-height:1.3!important}

/* Password confirmation: same Kumbú brand size and centred recognised identity. */
body[data-auth-view="passwordPanel"] .auth-wise-main{padding:0 0 24px!important}
.password-panel{padding-top:2px!important}
.password-panel .remembered-inline-brand{display:flex!important;width:max-content!important;margin:0 auto 28px!important}
.password-panel .remembered-avatar-large{display:none!important}
.password-panel h1{margin:0 0 8px!important}
.password-panel .auth-wise-subtitle{margin:0 0 18px!important}
.password-panel .password-identity{display:grid!important;justify-items:center!important;text-align:center!important;gap:3px!important;margin:0 0 20px!important}
.password-panel .password-identity strong{font-size:20px!important;line-height:1.18!important;font-weight:820!important;letter-spacing:-.02em!important}
.password-panel .password-identity span{font-size:14px!important;line-height:1.3!important}

/* Login/create account: arrow only plus the Kumbú symbol on the same top row. */
.auth-mobile-topbar{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 46px;padding:0}
.auth-icon-back{width:42px;height:42px;display:grid;place-items:center;border:0;background:transparent;color:#111810;padding:0;margin-left:-8px;border-radius:50%;-webkit-tap-highlight-color:transparent}
.auth-icon-back svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-icon-back:active{background:#eef2ef;transform:scale(.96)}
.auth-symbol-only{display:block;width:42px;height:42px;object-fit:contain;border-radius:12px}
body[data-auth-view="authPanel"] .auth-wise-main{padding-top:0!important}
body[data-auth-view="authPanel"] #authTitle{margin-top:0!important}
@media(max-width:360px){.auth-mobile-topbar{margin-bottom:36px}.auth-icon-back{width:40px;height:40px}.auth-symbol-only{width:40px;height:40px}}

/* Bottom navigation follows the supplied mobile reference: larger icons/labels, neutral idle state, green active state. */
@media(max-width:1099px){
  .bottom-nav{height:82px!important;grid-template-columns:repeat(4,1fr)!important;padding:7px 6px max(7px,env(safe-area-inset-bottom))!important}
  .bottom-nav .nav-btn{min-height:64px!important;margin:0 2px!important;gap:5px!important;border-radius:12px!important;background:transparent!important;color:#68716b!important;box-shadow:none!important}
  .bottom-nav .nav-btn .ico,
  .bottom-nav .nav-btn[data-nav="movements"] .ico,
  .bottom-nav .nav-btn[data-nav="planning"] .ico,
  .bottom-nav .nav-btn[data-nav="more"] .ico{width:30px!important;height:30px!important;background:transparent!important;color:inherit!important;box-shadow:none!important}
  .bottom-nav .nav-btn .ico svg{width:26px!important;height:26px!important;stroke-width:1.9}
  .bottom-nav .nav-btn>span:last-child{font-size:13px!important;line-height:1.05!important;font-weight:620!important;letter-spacing:-.01em!important}
  .bottom-nav .nav-btn.active{background:transparent!important;color:var(--info)!important;font-weight:760!important;box-shadow:none!important}
  .bottom-nav .nav-btn.active .ico{background:transparent!important;color:var(--info)!important;transform:translateY(-1px)}
  .bottom-nav .nav-btn.active>span:last-child{font-weight:780!important}
  .bottom-nav .nav-btn.active::after{display:none!important}
  .bottom-nav .nav-btn:active{background:var(--surface-muted)!important;color:var(--primary)!important;transform:scale(.96)}
}
@media(max-width:360px){
  .bottom-nav .nav-btn .ico,.bottom-nav .nav-btn[data-nav="movements"] .ico,.bottom-nav .nav-btn[data-nav="planning"] .ico,.bottom-nav .nav-btn[data-nav="more"] .ico{width:28px!important;height:28px!important}
  .bottom-nav .nav-btn .ico svg{width:24px!important;height:24px!important}
  .bottom-nav .nav-btn>span:last-child{font-size:12px!important}
}
html[data-theme="dark"] .bottom-nav .nav-btn{color:#aab4ad!important}
html[data-theme="dark"] .bottom-nav .nav-btn.active{background:transparent!important;color:#9fe870!important;box-shadow:none!important}

/* Post-login Kumbú loading screen: branded skeleton rather than a generic spinner. */
.post-login-loading[hidden]{display:none!important}
.post-login-loading{position:fixed;inset:0;z-index:9998;display:flex;flex-direction:column;background:#0d120e;color:#eef6ed;opacity:0;transition:opacity .18s ease;overflow:hidden}
.post-login-loading.visible{opacity:1}
.post-login-loading-inner{width:100%;max-width:560px;margin:0 auto;flex:1;padding:max(24px,env(safe-area-inset-top)) 22px 104px}
.post-login-loading-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.post-login-loading-profile{display:flex;align-items:center;gap:12px;min-width:0}
.post-login-loading-avatar{display:block;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#343a34}
.post-login-loading-user-lines{display:grid;gap:8px;min-width:0}
.post-login-loading-user-lines span{display:block;border-radius:7px;background:#343a34}
.post-login-loading-user-lines span:first-child{width:142px;height:18px}
.post-login-loading-user-lines span:last-child{width:94px;height:11px;opacity:.86}
.post-login-loading-actions{display:flex;gap:12px}.post-login-loading-actions i{display:block;width:38px;height:38px;border-radius:50%;background:#2a302a}
.post-login-loading-greeting{display:grid;gap:9px;margin-bottom:22px}.post-login-loading-greeting span:first-child{width:138px;height:16px;border-radius:7px;background:#343a34}.post-login-loading-greeting span:last-child{width:210px;height:27px;border-radius:9px;background:#3a403a}
.post-login-loading-pills{display:flex;gap:10px;margin-bottom:20px}.post-login-loading-pills span{display:block;height:42px;border-radius:999px;background:#343a34}.post-login-loading-pills span:nth-child(1){width:92px}.post-login-loading-pills span:nth-child(2){width:112px}.post-login-loading-pills span:nth-child(3){width:104px}
.post-login-loading-card{height:238px;border-radius:24px;background:#222922;border:1px solid #313a31;overflow:hidden;margin-bottom:34px;position:relative}
.post-login-loading-card-top{height:48%;background:#485048}.post-login-loading-card-bottom{display:flex;justify-content:space-between;align-items:flex-end;height:52%;padding:22px}.post-login-loading-card-bottom span{display:block;height:15px;border-radius:6px;background:#3a413a}.post-login-loading-card-bottom span:first-child{width:98px}.post-login-loading-card-bottom span:last-child{width:72px}
.post-login-loading-title{width:160px;height:18px;border-radius:7px;background:#3a403a;margin-bottom:18px}
.post-login-loading-rows{display:grid;gap:18px}.post-login-loading-rows>div{display:grid;grid-template-columns:50px 1fr 82px;align-items:center;gap:14px}.post-login-loading-rows i{width:50px;height:50px;border-radius:50%;background:#3a403a}.post-login-loading-rows span,.post-login-loading-rows b{display:block;height:14px;border-radius:6px;background:#343a34}.post-login-loading-rows b{height:12px;width:76px;justify-self:end}
.post-login-loading-nav{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:560px;height:82px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding:8px 18px max(8px,env(safe-area-inset-bottom));background:#1d231d;border-top:1px solid #2b342b}
.post-login-loading-nav span{justify-self:center;width:28px;height:28px;border-radius:9px;background:#5b625b}.post-login-loading-nav span.active{background:#9fe870;box-shadow:0 0 0 6px rgba(159,232,112,.08)}
.post-login-loading-avatar,.post-login-loading-user-lines span,.post-login-loading-greeting span,.post-login-loading-pills span,.post-login-loading-actions i,.post-login-loading-card-top,.post-login-loading-card-bottom span,.post-login-loading-title,.post-login-loading-rows i,.post-login-loading-rows span,.post-login-loading-rows b{background-image:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.09) 48%,transparent 61%);background-size:220% 100%;animation:kumbu-post-login-shimmer 1.35s ease-in-out infinite}
@keyframes kumbu-post-login-shimmer{0%{background-position:130% 0}100%{background-position:-90% 0}}
@media(prefers-reduced-motion:reduce){.post-login-loading-avatar,.post-login-loading-user-lines span,.post-login-loading-greeting span,.post-login-loading-pills span,.post-login-loading-actions i,.post-login-loading-card-top,.post-login-loading-card-bottom span,.post-login-loading-title,.post-login-loading-rows i,.post-login-loading-rows span,.post-login-loading-rows b{animation:none}}


/* v0.74.16: authentication spacing, simplified auth headers and clearer active navigation. */
/* Recognised account: larger Kumbú brand and more breathing room below the actions. */
body[data-auth-view="rememberedPage"] .remembered-inline-brand{
  gap:12px!important;
  margin:0 0 18px!important;
  font-size:23px!important;
  font-weight:840!important;
}
body[data-auth-view="rememberedPage"] .remembered-inline-brand img{
  width:54px!important;
  height:54px!important;
  border-radius:15px!important;
}
body[data-auth-view="rememberedPage"] .remembered-card{
  padding:0 0 max(48px,calc(env(safe-area-inset-bottom) + 28px))!important;
}

/* Password confirmation intentionally has no Kumbú brand; the heading is centred. */
.password-panel .remembered-inline-brand{display:none!important}
.password-panel h1{
  max-width:390px!important;
  margin:0 auto 10px!important;
  text-align:center!important;
  text-wrap:balance;
}

/* Login/create account: only the back arrow remains in the top row. */
.auth-mobile-topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:100%!important;
  margin:0 0 42px!important;
  padding:0!important;
}
.auth-symbol-only{display:none!important}
#authPanel[data-mode="login"] #authTitle{
  max-width:360px!important;
  margin:0 auto!important;
  text-align:center!important;
  text-wrap:balance;
}
#authPanel[data-mode="signup"] #authTitle{
  text-align:left!important;
}
@media(max-width:360px){
  .auth-mobile-topbar{margin-bottom:34px!important}
}

/* Bottom navigation: make the selected destination visibly brighter without changing sizing. */
@media(max-width:1099px){
  html[data-theme="light"] .bottom-nav .nav-btn.active,
  html:not([data-theme="dark"]) .bottom-nav .nav-btn.active{
    color:#4eaa2f!important;
  }
  html[data-theme="light"] .bottom-nav .nav-btn.active .ico,
  html:not([data-theme="dark"]) .bottom-nav .nav-btn.active .ico{
    background:#eaf8e3!important;
    color:#57b938!important;
    box-shadow:inset 0 0 0 1px rgba(87,185,56,.14)!important;
  }
  html[data-theme="dark"] .bottom-nav .nav-btn.active{
    color:#adf57f!important;
  }
  html[data-theme="dark"] .bottom-nav .nav-btn.active .ico{
    background:rgba(159,232,112,.16)!important;
    color:#b6f58d!important;
    box-shadow:inset 0 0 0 1px rgba(182,245,141,.18)!important;
  }
}


/* v0.74.17: final authentication alignment refinements requested for mobile web. */
/* Password confirmation sits closer to the optical vertical centre. */
body[data-auth-view="passwordPanel"] .auth-wise-main{
  display:grid!important;
  align-items:center!important;
  padding:0 0 max(20px,env(safe-area-inset-bottom))!important;
}
body[data-auth-view="passwordPanel"] .password-panel{
  width:100%!important;
  transform:translateY(-3vh);
}
@media(max-height:720px){
  body[data-auth-view="passwordPanel"] .password-panel{transform:translateY(-1.5vh)}
}

/* Login/create account: compact top spacing, back arrow left and Kumbú symbol right. */
body[data-auth-view="authPanel"] .auth-shell{
  padding-top:max(8px,env(safe-area-inset-top))!important;
}
body[data-auth-view="authPanel"] .auth-wise-shell{
  min-height:calc(100dvh - max(8px,env(safe-area-inset-top)) - max(22px,env(safe-area-inset-bottom)))!important;
}
.auth-mobile-topbar{
  justify-content:space-between!important;
  margin:0 0 28px!important;
}
.auth-symbol-only.auth-symbol-right{
  display:block!important;
  width:40px!important;
  height:40px!important;
  margin-left:auto!important;
  object-fit:contain!important;
  border-radius:11px!important;
}

/* Centre the copy of both login and account-creation states. */
#authPanel[data-mode="login"] #authTitle,
#authPanel[data-mode="signup"] #authTitle,
#authPanel[data-mode="login"] #authSubtitle,
#authPanel[data-mode="signup"] #authSubtitle,
#authPanel[data-mode="login"] .auth-wise-switch,
#authPanel[data-mode="signup"] .auth-wise-switch{
  text-align:center!important;
}
#authPanel[data-mode="signup"] #authTitle{
  max-width:360px!important;
  margin:0 auto!important;
  text-wrap:balance;
}
#authPanel[data-mode="login"] #authSubtitle,
#authPanel[data-mode="signup"] #authSubtitle{
  max-width:370px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:360px){
  .auth-mobile-topbar{margin-bottom:24px!important}
  .auth-symbol-only.auth-symbol-right{width:38px!important;height:38px!important}
}


/* v0.74.18: full-screen internal pages must sit above the persistent bottom navigation.
   The navigation stays fixed on normal screens, but never covers form/detail actions. */
.app-page{z-index:1100!important}
.photo-sheet-backdrop{z-index:1120!important}
.account-confirm-modal-backdrop{z-index:1250!important}
.toast{z-index:1300!important}


/* v0.74.19 — contexto de empréstimos transitados no gráfico do ciclo */
.cycle-evolution-carry-note{margin:12px 0 10px;padding:12px 14px;border:1px solid var(--border);background:var(--surface-muted);display:grid;gap:4px}
.cycle-evolution-carry-note strong{font-size:13px;line-height:1.35;color:var(--text)}
.cycle-evolution-carry-note span{font-size:12px;line-height:1.5;color:var(--muted)}

/* v0.74.22 — Programados e recorrentes: organização e filtros */
.recurring-filter-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.recurring-filter{min-width:0;min-height:44px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:750;font-size:13px;padding:8px 10px;border-radius:14px;cursor:pointer}
.recurring-filter.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 24%,var(--border));color:var(--accent)}
.recurring-list-card{padding:0!important;overflow:hidden}
.recurring-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 13px;border-bottom:1px solid var(--border)}
.recurring-list-head strong{font-size:18px;line-height:1.2;color:var(--text)}
.recurring-list-head span{font-size:12px;color:var(--muted);white-space:nowrap}
.recurring-shell-modern{padding:0 16px!important}
.recurring-row-modern{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1px solid var(--border)}
.recurring-row-modern:last-child{border-bottom:0}
.recurring-modern-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface-muted);color:var(--accent);margin-top:2px}
.recurring-modern-icon svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.recurring-modern-main{min-width:0;display:grid;gap:6px}
.recurring-modern-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.recurring-modern-head .recurring-title{font-size:16px!important;line-height:1.25;font-weight:800}
.recurring-modern-head .recurring-amount{font-size:16px!important;line-height:1.25;font-weight:850;white-space:nowrap}
.recurring-modern-main .recurring-meta{font-size:12px!important;line-height:1.35!important;margin:0!important;color:var(--muted)!important}
.recurring-row-modern .recurring-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-top:0;flex-wrap:nowrap}
.recurring-row-modern .recurring-footer .recurring-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.recurring-row-modern .recurring-footer .program-scope,.recurring-row-modern .recurring-footer .recurring-status{min-height:25px!important;padding:4px 9px!important;font-size:10px!important;margin:0!important}
.recurring-row-modern .recurring-footer .recurring-actions{display:flex!important;gap:7px!important;flex-wrap:nowrap!important;margin:0!important;flex-shrink:0}
.recurring-row-modern .recurring-footer .recurring-action{min-height:34px!important;padding:6px 11px!important;font-size:10px!important;border-radius:10px!important}
.recurring-form-modern{padding:18px!important}
.recurring-form-title{font-size:20px;font-weight:850;line-height:1.2;margin:0 0 16px;color:var(--text)}
.recurring-form-modern .field{margin-bottom:12px}
.recurring-form-modern .recurring-form-grid{gap:12px}
.recurring-form-modern .schedule-mode-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.recurring-form-modern .schedule-mode-fields .field{min-width:0}
.recurring-form-modern .recurring-save{margin-top:4px;min-height:50px}
@media(max-width:430px){
  .recurring-filter-tabs{gap:6px;overflow-x:auto;grid-template-columns:repeat(4,minmax(92px,1fr));padding-bottom:2px;scrollbar-width:none}
  .recurring-filter-tabs::-webkit-scrollbar{display:none}
  .recurring-filter{min-height:40px;font-size:12px;padding-inline:8px}
  .recurring-list-head{padding:14px 14px 12px}.recurring-list-head strong{font-size:16px}
  .recurring-shell-modern{padding:0 14px!important}
  .recurring-row-modern{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:13px 0}
  .recurring-modern-icon{width:38px;height:38px}.recurring-modern-icon svg{width:21px;height:21px}
  .recurring-modern-head .recurring-title{font-size:15px!important}.recurring-modern-head .recurring-amount{font-size:15px!important}
  .recurring-row-modern .recurring-footer{align-items:flex-start;flex-direction:column;gap:8px}
  .recurring-row-modern .recurring-footer .recurring-actions{align-self:stretch}
  .recurring-row-modern .recurring-footer .recurring-action{flex:1;min-height:36px!important}
  .recurring-form-modern{padding:16px!important}
  .recurring-form-modern .recurring-form-grid,.recurring-form-modern .schedule-mode-fields{grid-template-columns:1fr}
}

/* Public welcome page is isolated from application styles. */
body[data-auth-view="welcomePage"] #welcomePage{position:fixed!important;inset:0!important;z-index:50!important;padding:0!important;margin:0!important;max-width:none!important;width:100%!important;overflow:auto!important;background:#F6F8F5!important}body[data-auth-view="welcomePage"] .auth-wise-brand{display:none!important}#webWelcomeHost{width:100%;height:100dvh}


/* v0.74.28: native auth back-navigation and unified in-app action buttons. */
html[data-theme] .app .primary:not(.danger-primary):not(.recurring-action):not(.compact-action):not(.category-pay-action),
html[data-theme] .app .secondary:not(.recurring-action):not(.compact-action):not(.category-pay-action){
  min-height:54px!important;border-radius:999px!important;padding:0 22px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;font-weight:750!important;line-height:1.2!important;box-shadow:none!important;
}
html[data-theme] .app .primary:not(.danger-primary):not(.recurring-action):not(.compact-action):not(.category-pay-action){background:var(--kumbu-bright)!important;color:var(--kumbu-green-ink)!important;border:0!important}
html[data-theme] .app .secondary:not(.recurring-action):not(.compact-action):not(.category-pay-action){background:var(--surface-muted)!important;color:var(--text)!important;border:0!important}
html[data-theme] .app .primary:not(.danger-primary):not(.recurring-action):not(.compact-action):not(.category-pay-action):active,
html[data-theme] .app .secondary:not(.recurring-action):not(.compact-action):not(.category-pay-action):active{transform:scale(.985)}

/* V0.74.29 — segurança, dispositivos e Centro do Kumbú */
.session-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px}.session-overview p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.session-list{display:grid;gap:10px}.session-device{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.session-device.current{border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--surface) 92%,#dff4d7)}.session-device-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--surface-muted);color:var(--primary);font-weight:850}.session-device-title{font-size:14px;font-weight:800;line-height:1.35}.session-device-title span{display:inline-flex;margin-left:6px;padding:3px 7px;border-radius:999px;background:#e6f5df;color:#356d26;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.session-device-meta,.session-device-time{margin-top:3px;color:var(--muted);font-size:11.5px;line-height:1.4}.session-revoke{min-height:40px!important;padding-inline:14px!important}.session-empty{padding:18px;border:1px dashed var(--border);border-radius:16px;color:var(--muted);font-size:12px;line-height:1.5}.app-center-hero{display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);margin-bottom:12px}.app-center-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--primary);color:#fff;font-size:22px;font-weight:900}.app-center-hero strong{display:block;font-size:17px}.app-center-hero span{display:block;margin-top:3px;color:var(--muted);font-size:11.5px}.app-center-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.app-center-status{padding:13px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.app-center-status span{display:block;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.04em}.app-center-status strong{display:block;margin-top:5px;font-size:13px;line-height:1.4}.app-center-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.release-note{border:1px solid var(--border);border-radius:15px;background:var(--surface);margin-bottom:9px;overflow:hidden}.release-note summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;cursor:pointer;list-style:none}.release-note summary::-webkit-details-marker{display:none}.release-note summary span strong,.release-note summary span small{display:block}.release-note summary span small{margin-top:3px;color:var(--muted);font-size:11.5px}.release-note time{font-size:10.5px;color:var(--muted);white-space:nowrap}.release-note ul{margin:0;padding:0 32px 15px;color:var(--muted);font-size:12px;line-height:1.55}.release-note li+li{margin-top:6px}@media(max-width:520px){.session-overview{grid-template-columns:1fr}.session-overview button{width:100%}.session-device{grid-template-columns:40px minmax(0,1fr)}.session-revoke{grid-column:2;justify-self:start}.app-center-actions{grid-template-columns:1fr}}html[data-theme="dark"] .session-device.current{background:color-mix(in srgb,var(--surface) 88%,#33532a)}html[data-theme="dark"] .session-device-title span{background:#36552d;color:#c8f1b7}

/* v0.74.31 — transferência cambial e instalação */
.fx-transfer-field{margin-top:4px;padding:14px;border:1px solid var(--border);background:var(--surface-muted);border-radius:18px}
.fx-transfer-field[hidden]{display:none!important}
.fx-transfer-field .field{margin-bottom:0}
.fx-transfer-field input[readonly]{background:var(--surface);font-weight:750}
.apk-download-link{display:flex;align-items:center;justify-content:center;text-decoration:none}

/* v0.74.33 */
  .low-balance-banner{width:100%;border:0;border-radius:22px;margin:18px 0 24px;padding:18px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-align:left;background:linear-gradient(135deg,#173f30,#245841);color:#fff;box-shadow:0 14px 30px rgba(21,63,47,.16)}
  .low-balance-banner[hidden]{display:none!important}.low-balance-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);font-weight:800;font-size:22px}.low-balance-copy{display:grid;gap:4px}.low-balance-copy strong{font-size:16px}.low-balance-copy small{opacity:.84;line-height:1.35}.low-balance-action{font-size:13px;font-weight:750;white-space:nowrap}.cycle-donut{overflow:visible}.notification-filterbar{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;scrollbar-width:none}.notification-filterbar::-webkit-scrollbar{display:none}.notification-filterbar button{border:1px solid var(--line,#dfe4df);background:var(--surface,#fff);padding:9px 12px;border-radius:999px;white-space:nowrap;font:inherit;font-size:13px}.notification-filterbar button.active{background:#e9f8e2;border-color:#a8dc91;color:#2d742a;font-weight:700}.notification-page-head p{margin:4px 0 0;color:var(--muted,#69736d);font-size:13px}
  @media(max-width:420px){.low-balance-banner{grid-template-columns:38px 1fr;padding:16px}.low-balance-action{grid-column:2;justify-self:start}.low-balance-icon{width:38px;height:38px}}



/* v0.74.38 | refinamento periódico de interface e acessibilidade.
 * Mantém os tokens de cor e as proporções do donut da v0.74.32.
 * Os estilos são aditivos e não alteram dados, cálculos ou navegação existente. */
:root{--k38-touch:44px;--k38-gap:12px;--k38-focus:#679d51}
#screen-home .hero-amount,#screen-home .hero-mini-card .money,
#screen-home .focus-row .money,#screen-home .bank-card .bal{
  font-variant-numeric:tabular-nums;overflow-wrap:anywhere;
}
#screen-home .hero-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
#screen-home .hero-mini-card{min-width:0}
#screen-home :is(.home-focus-card,.recent-card,.home-account-strip){min-width:0;max-width:100%}
#screen-home .focus-row{gap:12px;align-items:baseline}
#screen-home .focus-row>span{min-width:0;line-height:1.45}
#screen-home .focus-row>.money{text-align:right;min-width:0}
#screen-home .section-head{gap:14px;align-items:center}
#screen-home .section-head>h2{min-width:0}
#screen-home .section-head button{min-height:var(--k38-touch);padding:8px 2px 8px 10px}
#screen-home .quick{min-height:76px}
#screen-home .quick:active{transform:scale(.985)}
#screen-home .quick-label{line-height:1.35;text-wrap:balance}
#screen-movements .movement-toolbar,#screen-movements .movement-filter-panel{min-width:0}
#screen-movements .movement-search{font-size:16px;min-height:44px}
#screen-movements .tx-row{gap:11px;min-width:0}
#screen-movements .tx-main{min-width:0;flex:1 1 auto}
#screen-movements .tx-title{max-width:100%}
#screen-movements .tx-meta{line-height:1.5;overflow-wrap:anywhere}
#screen-movements .tabs-filter{overscroll-behavior-x:contain;scrollbar-width:none}
#screen-movements .tabs-filter::-webkit-scrollbar{display:none}
#screen-movements :is(.filter-btn,.movement-load-more,.movement-clear,.filter-sheet-done){min-height:var(--k38-touch)}
#screen-movements .movement-list-card>.empty-state{margin:8px}
#screen-planning :is(.cycle-pie-stat,.plan-metrics>div,.plan-observed>div){min-width:0}
#screen-planning .cycle-pie-stat strong,#screen-planning .plan-metrics strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#screen-planning .cycle-pie-head{row-gap:12px}
#screen-planning .outflow-legend{min-width:0}
#screen-planning .outflow-legend :is(strong,span){overflow-wrap:anywhere}
#screen-planning .cycle-donut .slice-percent{paint-order:stroke fill}
/* A dimensão, os raios e a geometria de cada fatia do gráfico permanecem intactos. */
.recurring-row-modern{min-width:0;align-items:start}
.recurring-modern-main,.recurring-modern-head{min-width:0}
.recurring-modern-head .recurring-title{min-width:0;overflow-wrap:anywhere}
.recurring-modern-head .recurring-amount{font-variant-numeric:tabular-nums;text-align:right}
.recurring-row-modern .recurring-footer{min-width:0}
.recurring-row-modern .recurring-footer .recurring-action{min-height:40px!important}
.notification-inbox-shell{min-width:0}
.notification-message{min-width:0;text-align:left}
.notification-message-copy{min-width:0}
.notification-message .notification-preview{line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.notification-filterbar [data-notification-filter]{min-height:var(--k38-touch)}
.notification-filterbar button[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor}
.notification-title-wrap{min-width:0}
.notification-title-wrap>.tx-title{overflow-wrap:anywhere;white-space:normal}
.k38-results-status{font-size:12px;line-height:1.4;color:var(--muted);margin:9px 3px 13px;min-height:17px}
.app :is(button,[role="button"],input,textarea,.kumbu-select){-webkit-tap-highlight-color:transparent}
.app :is(button,[role="button"],input,textarea,.kumbu-select):focus-visible,
#authShell :is(button,input,textarea):focus-visible{outline:3px solid var(--k38-focus)!important;outline-offset:3px!important}
.app :is(button,.kumbu-select):disabled{cursor:not-allowed;opacity:.60;box-shadow:none!important;transform:none!important}
.app .primary[aria-busy="true"],.app .secondary[aria-busy="true"]{pointer-events:none}
.app :is(.field input,.field textarea,.field select){font-size:max(16px,1em)}
.app .field :is(input,textarea,select)[aria-invalid="true"]{border-color:var(--danger)!important}
.app .field :is(input,textarea,select):focus-visible{outline-offset:2px}
.app .empty-state .empty-title{font-size:14px;line-height:1.45}
.app .empty-state .empty-note{font-size:12px;line-height:1.5;max-width:340px;margin-inline:auto}
.app .empty-state .empty-action{margin-top:12px;min-height:44px}
.app .toast{max-width:min(420px,calc(100vw - 32px));width:max-content;text-align:center;line-height:1.4;overflow-wrap:anywhere;padding:13px 17px;box-shadow:0 14px 35px rgba(0,0,0,.18)}
.app .toast[data-tone="error"]{background:#8e281f;color:#fff}
.bottom-nav{overscroll-behavior:contain}
.bottom-nav .nav-btn{touch-action:manipulation}
@media(max-width:420px){
  #screen-home .hero-mini-grid{gap:7px}
  #screen-home .hero-mini-card .money{font-size:clamp(11px,3.2vw,14px)}
  #screen-home .focus-row{flex-wrap:wrap;gap:4px 10px}
  #screen-home .focus-row>.money{margin-left:auto}
  #screen-movements .tx-row{gap:9px}
  .recurring-row-modern .recurring-footer .recurring-actions{width:100%}
  .notification-filterbar{scroll-padding-inline:10px}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto!important}
  .app :is(button,.card,.nav-btn,.toast,.fill){transition-duration:.01ms!important;animation-duration:.01ms!important}
  #screen-home .home-account-strip{scroll-behavior:auto!important}
}
html[data-theme="dark"] .app .toast[data-tone="error"]{background:#7e302b!important;color:#fff!important}

/* v0.74.39 | Previsão de liquidez: cartões por moeda, sem alterações no donut. */
.k39-forecast{padding:18px;margin:14px 0;min-width:0;background:var(--surface,#fff)}
.k39-forecast-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}
.k39-forecast-heading h2{font-size:18px;line-height:1.3;letter-spacing:-.02em;margin:0}
.k39-forecast-heading p{font-size:12px;line-height:1.4;color:var(--muted);margin:5px 0 0}
.k39-forecast-heading label{font-size:11px;font-weight:700;color:var(--muted);display:grid;gap:5px;flex:none}
.k39-forecast-heading select{font-size:14px;padding:9px 24px 9px 10px;min-height:44px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--text)}
.k39-forecast-currency{padding:14px;border:1px solid var(--border);border-radius:14px;min-width:0;margin-bottom:10px}
.k39-forecast-currency-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px;font-size:14px}
.k39-forecast-tag{font-weight:750;font-size:10px;border-radius:999px;padding:5px 9px;background:var(--accent-soft);color:var(--primary);white-space:normal;text-align:right}
.k39-forecast-tag.risk{background:var(--warning-soft);color:var(--warning)}
.k39-forecast-rows{display:grid;gap:8px}.k39-forecast-rows>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}
.k39-forecast-rows span{font-size:12px;color:var(--muted);line-height:1.4;min-width:0}
.k39-forecast-rows strong{font-size:13px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right;min-width:0}
.k39-forecast-rows .k39-forecast-key{padding:10px;border-radius:10px;background:var(--surface-muted);align-items:center}
.k39-forecast-rows .k39-forecast-key strong{font-size:16px}.k39-forecast-rows .k39-forecast-key.negative strong{color:var(--danger)}
.k39-forecast-upcoming{margin-top:14px}.k39-forecast-upcoming h3{font-size:13px;margin:0 0 7px}
.k39-forecast-upcoming ul{list-style:none;margin:0;padding:0}.k39-forecast-event{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}
.k39-forecast-event:last-child{border-bottom:0}.k39-forecast-event>span{min-width:0;display:grid;gap:4px}.k39-forecast-event>span strong{font-size:13px;overflow-wrap:anywhere}.k39-forecast-event small{color:var(--muted);font-size:11px}.k39-forecast-event>.money{font-size:12px;flex:none;text-align:right}
.k39-forecast-empty{font-size:12px;line-height:1.5;color:var(--muted)}
.k39-forecast-action{border:0;background:transparent;color:var(--primary);font-size:13px;font-weight:800;padding:12px 0;min-height:44px;display:flex;align-items:center;gap:8px}
.k39-forecast-footnote{font-size:11px;line-height:1.55;color:var(--muted);margin:3px 0 0}
@media(max-width:365px){.k39-forecast{padding:13px}.k39-forecast-heading{flex-wrap:wrap}.k39-forecast-heading label{grid-template-columns:auto auto;align-items:center}.k39-forecast-rows>div{align-items:flex-start}.k39-forecast-rows strong{max-width:50%}}

/* v0.74.39 consolidada: secções distintas para vencimentos e operações futuras. */
.k39-forecast-overdue{border-left:3px solid var(--warning);padding-left:12px}
.k39-forecast-upcoming h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.k39-forecast-count{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);background:var(--surface-muted);border-radius:999px;min-width:24px;text-align:center;padding:4px 7px;font-weight:700}
.k39-forecast-more{font-size:12px;line-height:1.45;color:var(--muted);margin:9px 0 0}

/* v0.74.40: valores monetários sempre numa linha, sem cortes. */
#screen-movements .tx-main {min-width:0;flex:1 1 auto;}
#screen-movements .tx-amount {flex:0 0 auto;max-width:48%;min-width:0;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;font-size:clamp(12px,3.15vw,16px)!important;text-align:right;line-height:1.2!important;}
#screen-movements .tx-row {min-width:0;gap:8px;}
#screen-movements .tx-edit-indicator {flex-shrink:0;}
.app-center-mark{overflow:hidden;background:var(--surface-muted);}
.app-center-mark img{display:block;width:100%;height:100%;object-fit:cover;}


/* v0.74.41 | Montantes legíveis nos movimentos, incluindo Últimos movimentos. */
#screen-movements .tx-row,#screen-home .recent-card .tx-row{min-width:0;gap:9px;align-items:center}
#screen-movements .tx-main,#screen-home .recent-card .tx-main{flex:1 1 auto;min-width:0}
#screen-movements .tx-amount,#screen-home .recent-card .tx-amount{
  flex:0 0 auto;max-width:none;min-width:0;white-space:nowrap!important;
  word-break:normal!important;overflow-wrap:normal!important;letter-spacing:-.025em;
  font-size:clamp(15px,4.1vw,18px)!important;line-height:1.3!important;
  font-weight:750!important;text-align:right;font-variant-numeric:tabular-nums;
}
#screen-movements .tx-icon,#screen-home .recent-card .tx-icon{flex-shrink:0}
@media(max-width:360px){
  #screen-movements .tx-row,#screen-home .recent-card .tx-row{gap:7px}
  #screen-movements .tx-amount,#screen-home .recent-card .tx-amount{font-size:15px!important;letter-spacing:-.045em}
  #screen-movements .tx-icon,#screen-home .recent-card .tx-icon{width:36px;height:36px}
}
/* Ajuda contextual e confirmação de movimentos: painéis inferiores nativos. */
.k41-help-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 0;border:0;background:none;color:var(--primary);font-size:13px;font-weight:720;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.k41-help-icon{width:23px;height:23px;border:1.5px solid currentColor;border-radius:50%;display:inline-grid;place-items:center;font-size:13px;text-decoration:none}
.k41-sheet{position:fixed;margin:auto 0 0;width:100%;max-width:700px;max-height:min(80dvh,700px);border:1px solid var(--border);border-bottom:0;border-radius:26px 26px 0 0;background:var(--surface);color:var(--text);padding:25px 24px max(24px,env(safe-area-inset-bottom));overflow-y:auto;box-shadow:0 -10px 40px rgba(0,0,0,.12)}
.k41-sheet::backdrop{background:rgba(4,18,12,.6)}
.k41-sheet h2{margin:6px 0 12px;font-size:24px!important;line-height:1.2!important}
.k41-sheet p{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.6}
.k41-sheet-handle{width:42px;height:5px;background:var(--border);border-radius:10px;margin:-9px auto 20px}
.k41-sheet-actions{display:grid;gap:9px;margin-top:18px}
.k41-sheet-actions button{min-height:48px}
.k41-success-symbol{width:72px;height:72px;border-radius:50%;background:var(--accent-soft);color:var(--primary);display:grid;place-items:center;font-size:40px;font-weight:800;margin:6px auto 12px}
.k41-success-amount{font-size:clamp(26px,8vw,38px);font-variant-numeric:tabular-nums;font-weight:850;color:var(--text);letter-spacing:-.04em;text-align:center;white-space:nowrap}
.k41-success-desc{text-align:center;font-size:14px!important}
.k41-reserve-alert{display:flex;align-items:center;gap:12px;width:100%;min-width:0;margin:10px 0 3px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}
.k41-reserve-alert[hidden]{display:none!important}.k41-reserve-alert .k41-reserve-symbol{width:40px;height:40px;display:grid;place-items:center;background:var(--warning-soft);color:var(--warning);border-radius:50%;font-weight:800;font-size:22px;flex:none}
.k41-reserve-alert .k41-reserve-copy{display:grid;gap:3px;min-width:0;flex:1}.k41-reserve-alert strong{font-size:14px}.k41-reserve-alert small{font-size:12px;line-height:1.4;color:var(--muted)}
.k41-reserve-alert .k41-reserve-chevron{font-size:20px;color:var(--muted);flex:none}
@media(prefers-reduced-motion:reduce){.k41-sheet{scroll-behavior:auto}}

/* Crédito com retenção antecipada de juros, sem confundir capital e desembolso. */
#loanCreditorField[hidden],#loanDisbursementPreview[hidden]{display:none!important}
.loan-disbursement-preview{font-size:14px;line-height:1.55;padding:12px 14px;background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;color:var(--text)}
.loan-row-refined .loan-regularize-button{width:auto;max-width:100%;margin-left:50px;padding:9px 12px;gap:7px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:12px;font-weight:700;align-items:center!important}
@media(max-width:360px){.loan-row-refined .loan-regularize-button{margin-left:0}}

/* v0.74.42: Centro de Alertas, controlos móveis e confirmação de objectivos. */
.k42-alert-center-card{margin:12px 0 16px;padding:18px;}
.k42-alert-summary-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border);}
.k42-alert-summary-row>div{min-width:0;display:flex;flex-direction:column;gap:4px;}
.k42-alert-summary-row strong{font-size:15px;line-height:1.3;}
.k42-alert-summary-row small{font-size:13px;color:var(--muted);line-height:1.4;}
.k42-alert-summary-row>span{font-weight:750;font-size:18px;white-space:nowrap;color:var(--primary);}
.k42-alert-center-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px;}
.k42-reminder-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 4px;}
.k42-reminder-day{border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);min-height:48px;padding:9px;font-size:13px;font-weight:650;}
.k42-reminder-day.selected{border-color:var(--primary);background:var(--accent-soft);color:var(--primary);}
.k42-reminder-day:focus-visible,.k42-alert-center-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;}
.k42-success-goal{font-size:13px;line-height:1.45;background:var(--accent-soft);color:var(--primary);padding:12px 14px;border-radius:8px;}
@media(min-width:420px){.k42-alert-center-actions{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Ajuste consolidado v0.74.43: uma moeda de cada vez na previsão de liquidez. */
.k39-forecast-heading{margin-bottom:10px}
.k39-forecast-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(104px,.68fr);gap:10px;margin-bottom:12px}
.k39-forecast-controls label{display:grid;gap:5px;min-width:0;font-size:11px;font-weight:700;color:var(--muted)}
.k39-forecast-controls select{width:100%;min-height:44px;padding:8px 24px 8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface,#fff);color:var(--text);font:inherit;font-size:14px;text-overflow:ellipsis}
.k39-forecast-currency{margin-bottom:6px}
@media(max-width:365px){.k39-forecast-controls{grid-template-columns:minmax(0,1fr) minmax(96px,.68fr);gap:8px}}
/* Diagnóstico de notificação com a aplicação fechada, v0.74.43 consolidada. */
.k43-five-minute-test{border-top:1px solid var(--border,#e5e7eb);margin-top:14px;padding-top:14px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}.k43-five-minute-test .helper{margin:0;max-width:100%;line-height:1.5}.k43-five-minute-test button{min-height:44px;max-width:100%;white-space:normal}.k43-five-minute-test strong{font-size:1rem}

/* v0.74.44: gestão compacta de objectivos com moeda, tipo e horizonte. */
.k44-new-goal{display:grid;gap:12px;margin-top:12px}.k44-new-goal .field{margin:0}.k44-new-goal select,.k44-new-goal input{width:100%;min-height:44px}.k44-goal-card .tx-meta{overflow-wrap:anywhere}.k44-goal-status{gap:10px;align-items:flex-start}.k44-goal-status strong{text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.k44-goal-card .track{margin:10px 0 12px}.k44-goal-card .helper{line-height:1.45}.k44-new-goal button{min-height:44px}

/* v0.74.44: avisos breves e discretos, sem esconder vários movimentos. */
.app .toast{max-width:min(286px,calc(100vw - 44px));font-size:12px;line-height:1.35;padding:9px 12px;border-radius:10px;box-shadow:0 5px 18px rgba(0,0,0,.15)}
.app .toast.show{bottom:calc(90px + env(safe-area-inset-bottom, 0px))}

.k44-notification-note{font-size:13px;line-height:1.5;margin:0 0 16px;color:var(--muted)}

/* Revisão de fecho v0.74.44: confirmar recepção sem confundir envio com entrega. */
.k44-push-test-feedback{margin-top:12px;padding:12px;border:1px solid var(--border, #d9dfda);border-radius:12px;display:grid;gap:10px}
.k44-push-test-feedback[hidden]{display:none!important}
.k44-push-test-feedback-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.k44-push-test-feedback-actions button{min-width:0;min-height:44px;padding:10px 8px;white-space:normal}
.k44-push-test-feedback .helper{margin:0}

/* Kumbú 0.74.45 — controlos mobile e privacidade dos lembretes */
.k45-salary-forecast-field{margin:12px 0 16px}
.k45-salary-forecast-field input{width:100%;min-height:44px}
.k45-investment-position{padding:10px 0;border-top:1px solid var(--border,#dfe4df);margin-top:10px}
.k45-reminder-consent{display:flex;align-items:flex-start;gap:10px;padding:12px 0;font-size:.94rem;line-height:1.5}
.k45-reminder-consent input{min-width:20px;min-height:20px;margin-top:3px;accent-color:var(--green,#348d39)}
.reminder-actions a[aria-disabled="true"]{pointer-events:none;opacity:.4}
.k45-loan-audit{white-space:pre-wrap;font:inherit;font-size:.9rem;line-height:1.7;background:var(--surface,#f7f8f6);padding:12px;overflow-wrap:anywhere}
.k45-mail-status{margin:12px 0}
/* v0.74.48: formulário bancário compacto e encargos associados (sem novo débito) */
#loanBankFields[hidden],#loanBankOtherField[hidden],#loanCreditorField[hidden]{display:none!important}
.loan-charges{margin:12px 0 18px;border:1px solid var(--border);padding:12px;background:var(--surface-muted)}
.loan-charges > summary{cursor:pointer;font-weight:700;line-height:1.5}
.loan-charges .field{margin-top:10px}
.loan-charge-history{padding:6px 14px 12px 48px;font-size:12px;color:var(--muted);line-height:1.55;border-bottom:1px solid var(--border)}
.loan-charge-history > span{display:block;font-weight:600;margin-bottom:4px}
.loan-charge-history > div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.loan-charge-history strong{font-variant-numeric:tabular-nums;white-space:nowrap}
.loan-parcel-schedule[hidden]{display:none!important}
.loan-parcel-schedule{border:1px solid var(--border);padding:12px;background:var(--surface-muted);margin-bottom:12px}
.loan-parcel-row{padding:8px 0;border-bottom:1px solid var(--border)}
.loan-parcel-row:last-child{border:0}

.loan-disbursement-preview .loan-preview-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 0;font-size:13px;line-height:1.45}
.loan-disbursement-preview .loan-preview-row strong{font-size:13px;white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums}
.loan-disbursement-preview .loan-preview-main{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:5px 0;padding:11px 0}
.loan-disbursement-preview .loan-preview-main strong{color:var(--accent,#35893d)}
.loan-disbursement-preview details{margin-top:6px}.loan-disbursement-preview summary{cursor:pointer;font-weight:700}
.loan-disbursement-preview .helper{margin-top:8px!important}

.loan-existing-fee-panel[hidden]{display:none!important}
.loan-existing-fee-panel{border:1px solid var(--border);padding:12px;margin:10px 0;background:var(--surface-muted);font-size:13px}
.loan-existing-fee-row{display:flex!important;align-items:center;gap:8px;margin:9px 0;font-weight:400!important}
.loan-existing-fee-row span{flex:1}.loan-existing-fee-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.loan-fee-reviewed{display:flex!important;align-items:flex-start;gap:8px;margin-top:12px;font-size:13px!important;line-height:1.5}
.loan-existing-fee-panel input[type=checkbox]{width:19px;height:19px;flex-shrink:0}

/* v0.75.0 — bank lookup is a search field, never an opened 23-bank menu */
select[data-bank-lookup]{display:none!important}
.kumbu-bank-results{display:flex;flex-direction:column;gap:5px;margin:6px 0 10px;max-height:230px;overflow-y:auto;overscroll-behavior:contain}
.kumbu-bank-results .helper{margin:1px 0 4px;line-height:1.45}
.kumbu-bank-result{display:flex;width:100%;text-align:left;justify-content:space-between;align-items:center;gap:12px;min-height:41px;background:var(--surface,#fff);border:1px solid var(--line,#DDE3DE);padding:9px 11px;border-radius:8px;color:var(--text,#101828);font:inherit;white-space:normal;cursor:pointer}
.kumbu-bank-result small{opacity:.7;font-size:.8em;flex:none}
.kumbu-bank-result.manual{font-weight:700;color:var(--primary,#003F39)}
.kumbu-bank-result.active{outline:2px solid #398b65;outline-offset:-2px}
#authGlobalFields[hidden],.account-bank-fields[hidden],#loanBankFields[hidden]{display:none!important}

/* Global cycle cadence: compact and mobile first. */
.kumbu-cycle-settings-link{margin:8px 0 16px;width:100%;text-align:center;}
#cycleScheduleForm{width:100%;max-width:100%;box-sizing:border-box;}
#cycleScheduleForm .field{min-width:0;}
#cycleScheduleDaysField[hidden]{display:none;}

/* v0.75.5: independent-currency loan totals must fit narrow phone screens. */
#loanSummaryCurrency{margin:8px 0 2px;line-height:1.45;overflow-wrap:anywhere}
#loanForeignTotals:empty{display:none}
#loanForeignTotals{margin:6px 0 12px;min-width:0}
#loanForeignTotals span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.45;border-radius:4px}

/* v0.75.8: searchable country picker, no remote requests or profile mutation. */
.kumbu-country-chooser{position:relative;width:100%}
select.kumbu-country-original{display:none!important}
.kumbu-country-chooser .kumbu-country-search{display:block;width:100%;min-width:0;box-sizing:border-box}
.kumbu-country-results{position:absolute;z-index:1400;top:calc(100% + 3px);left:0;right:0;max-height:min(268px,42vh);overflow-y:auto;background:var(--surface,#fff);color:var(--text,#171e18);border:1px solid var(--border,#ccd2ce);box-shadow:0 10px 22px rgba(0,0,0,.12);overscroll-behavior:contain}
.kumbu-country-results[hidden]{display:none!important}
.kumbu-country-results button{display:block;width:100%;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid rgba(128,128,128,.12);border-radius:0;padding:11px 13px;cursor:pointer;font:inherit}
.kumbu-country-results button:hover,.kumbu-country-results button.active{background:rgba(64,118,79,.13)}
.kumbu-country-empty{padding:12px;font-size:.9rem}


/* v0.75.10: Kumbú financial clarity — mobile-first, accessible, without changing data.
   Intentional final cascade, limited to app screens; forms/auth/financial calculations stay intact. */
html[data-theme] {
  --ui-card-radius:18px;
  --ui-soft-shadow:0 3px 16px rgba(14,52,37,.035);
}
html[data-theme] .app {color:var(--text)!important;}
html[data-theme] .app .screen {padding-bottom:28px;}
html[data-theme] .app :is(.section-head h2,.screen-heading h1,.planning-heading h1){
  font-size:clamp(19px,5vw,23px)!important;font-weight:780!important;
  letter-spacing:-.035em!important;line-height:1.22!important;
}
html[data-theme] .app :is(.section-head,.screen-heading,.planning-heading){min-width:0;}
html[data-theme] .app .section-head{align-items:center;gap:14px;margin-block:24px 12px;}
html[data-theme] .app .section-head button{
  font-size:13px!important;font-weight:740!important;min-height:44px;
  color:var(--info)!important;padding:7px 2px;
}
html[data-theme] .app :is(.card,.movement-list-card,.more-tile){
  border-radius:var(--ui-card-radius)!important;box-shadow:var(--ui-soft-shadow)!important;
}
html[data-theme] .app :is(button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--accent)!important;outline-offset:3px!important;
}
html[data-theme] .app input,html[data-theme] .app select,
html[data-theme] .app textarea{font-size:16px;}
html[data-theme] #screen-home .hero.simplified-hero{
  background:linear-gradient(145deg,#104736 0%,#0a372b 100%)!important;
  border:1px solid rgba(180,234,186,.16)!important;
  border-radius:24px!important;padding:26px 19px 18px!important;
  box-shadow:0 14px 32px rgba(9,56,40,.13)!important;
}
html[data-theme="dark"] #screen-home .hero.simplified-hero{
  background:linear-gradient(145deg,#174c39,#0c3129)!important;
}
html[data-theme] #screen-home .hero-label{
  font-size:14px!important;font-weight:650!important;letter-spacing:.01em;color:#d9ebdc!important;
}
html[data-theme] #screen-home .hero-amount{
  display:block;color:#fff!important;font-weight:790!important;
  font-size:clamp(30px,8.5vw,43px)!important;line-height:1.22!important;
  letter-spacing:-.045em!important;white-space:normal!important;overflow-wrap:anywhere;
  margin:6px 0 0!important;font-variant-numeric:tabular-nums;
}
html[data-theme] #screen-home .hero-mini-grid{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;margin-top:22px!important;padding-top:17px!important;
  border-top:1px solid rgba(255,255,255,.19);
}
html[data-theme] #screen-home .hero-mini-card{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  justify-content:flex-start!important;gap:5px!important;min-width:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  padding:0 9px!important;min-height:0!important;
}
html[data-theme] #screen-home .hero-mini-card:first-child{padding-left:0!important;}
html[data-theme] #screen-home .hero-mini-card + .hero-mini-card{
  border-left:1px solid rgba(255,255,255,.18)!important;
}
html[data-theme] #screen-home .hero-mini-card .hero-mini-kicker{
  color:#d8ebdd!important;font-size:12px!important;line-height:1.35!important;
  min-height:0!important;font-weight:620!important;margin:0!important;
}
html[data-theme] #screen-home .hero-mini-card .money{
  color:white!important;font-weight:750!important;font-size:clamp(12px,3.4vw,17px)!important;
  line-height:1.4!important;letter-spacing:-.03em!important;text-align:left!important;
  overflow-wrap:anywhere!important;max-width:100%;margin:0!important;
}
html[data-theme] #screen-home .fx-row{margin-top:15px!important;}
html[data-theme] #screen-home .fx-pill{
  font-size:12px!important;padding:8px 11px!important;border-radius:999px!important;
  border:1px solid rgba(255,255,255,.20)!important;
}
html[data-theme] #screen-home .quick-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
html[data-theme] #screen-home .quick{
  min-height:96px!important;padding:13px 5px 12px!important;gap:7px!important;
  background:var(--surface)!important;border:1px solid var(--border)!important;
  border-radius:16px!important;box-shadow:none!important;
}
html[data-theme] #screen-home .quick:hover{transform:none!important;box-shadow:var(--ui-soft-shadow)!important;}
html[data-theme] #screen-home .quick .quick-icon{
  width:42px!important;height:42px!important;border-radius:50%!important;
  background:var(--surface-muted)!important;color:var(--primary)!important;border:0!important;
}
html[data-theme] #screen-home .quick[data-new-kind="income"] .quick-icon{background:#d8f5e3!important;color:#146a41!important;}
html[data-theme] #screen-home .quick[data-new-kind="expense"] .quick-icon{background:#fee7e7!important;color:#b52b2b!important;}
html[data-theme] #screen-home .quick[data-new-kind="transfer"] .quick-icon{background:#e1eeff!important;color:#2469bc!important;}
html[data-theme] #screen-home .quick[data-new-kind="investment"] .quick-icon{background:#fff0d5!important;color:#926313!important;}
html[data-theme] #screen-home .quick .quick-label{
  font-size:12px!important;line-height:1.3!important;color:var(--text)!important;
  font-weight:720!important;margin:0!important;
}
html[data-theme] #screen-home .home-cycle-disclosure{
  margin-top:19px;background:var(--surface);border:1px solid var(--border);
  border-radius:16px;overflow:hidden;
}
html[data-theme] #screen-home .home-cycle-disclosure>summary{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  list-style:none;cursor:pointer;min-height:55px;padding:12px 16px;
  color:var(--text);font-size:15px;font-weight:760;
}
html[data-theme] #screen-home .home-cycle-disclosure>summary::-webkit-details-marker{display:none;}
html[data-theme] #screen-home .home-cycle-disclosure .disclosure-aside{
  display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:650;
}
html[data-theme] #screen-home .home-cycle-disclosure[open] .disclosure-aside>span{transform:rotate(180deg);}
html[data-theme] #screen-home .home-cycle-disclosure .home-focus-card{
  border:0!important;border-top:1px solid var(--border)!important;
  border-radius:0!important;margin:0!important;box-shadow:none!important;
}
html[data-theme] #screen-home .home-cycle-plan-link{
  border:0;background:transparent;color:var(--info);padding:11px 16px 17px;
  font-size:13px;font-weight:760;min-height:44px;
}
html[data-theme] #screen-home .home-cycle-disclosure .focus-row{
  grid-template-columns:minmax(0,1fr) auto!important;align-items:center;
  font-size:13px;gap:8px!important;
}
html[data-theme] #screen-home .home-cycle-disclosure .focus-row strong{white-space:normal!important;text-align:right;overflow-wrap:anywhere;}
html[data-theme] #screen-home .home-analysis-collapse{
  border-radius:16px!important;margin-top:20px!important;
}
html[data-theme] #screen-home .home-analysis-collapse>summary{
  padding:10px 16px!important;font-size:15px!important;min-height:54px!important;
  font-weight:740!important;
}
html[data-theme] #screen-home .home-analysis-collapse .summary-note{font-size:12px!important;}
html[data-theme] #screen-home .recent-card .tx-row,
html[data-theme] #screen-movements .movement-list-card .tx-row{
  min-height:66px;padding-block:13px!important;align-items:center;
}
html[data-theme] #screen-home .recent-card .tx-title,
html[data-theme] #screen-movements .tx-title{font-size:14px!important;font-weight:730!important;line-height:1.4!important;}
html[data-theme] #screen-home .recent-card .tx-meta,
html[data-theme] #screen-movements .tx-meta{font-size:12px!important;line-height:1.45!important;}
html[data-theme] #screen-movements .movement-search-wrap{
  border-radius:14px!important;min-height:48px!important;
}
html[data-theme] #screen-movements .tabs-filter{gap:7px!important;scrollbar-width:none;}
html[data-theme] #screen-movements .filter-btn{min-height:41px;font-size:13px!important;font-weight:690!important;}
html[data-theme] #screen-more .more-grid{
  grid-template-columns:1fr!important;gap:9px!important;
}
html[data-theme] #screen-more .more-tile{
  padding:14px 16px!important;min-height:69px!important;
  display:flex!important;align-items:center!important;gap:14px!important;
}
html[data-theme] #screen-more .more-tile strong{font-size:15px!important;font-weight:740!important;}
html[data-theme] #screen-more .more-tile small{font-size:12px!important;line-height:1.35!important;}
html[data-theme] #screen-more .more-tile-icon{flex:0 0 auto;}
html[data-theme] #screen-profile .menu-note{font-size:12px!important;line-height:1.45!important;}
html[data-theme] .bottom-nav{box-shadow:0 -6px 24px rgba(10,45,26,.055)!important;}
html[data-theme] .bottom-nav .nav-btn>span:last-child{font-size:12px!important;font-weight:680!important;}
html[data-theme] .bottom-nav .nav-btn.active>span:last-child{font-weight:830!important;}
html[data-theme="dark"] #screen-home .quick[data-new-kind] .quick-icon{filter:saturate(.85);}
@media(max-width:355px){
 html[data-theme] #screen-home .hero-mini-card{padding-inline:6px!important;}
 html[data-theme] #screen-home .hero-mini-card .money{font-size:12px!important;}
 html[data-theme] #screen-home .quick-grid{gap:5px!important;}
 html[data-theme] #screen-home .quick .quick-label{font-size:11px!important;}
}
@media(min-width:700px){
 html[data-theme] #screen-home .hero.simplified-hero{padding:30px 28px!important;}
 html[data-theme] #screen-home .hero-mini-grid{gap:16px!important;}
 html[data-theme] #screen-more .more-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* v0.75.11 · Global UI system
   Responsive monetary layout, aligned navigation and unified form controls.
   Presentation only: no change to balances, calculations, data or API. */
html[data-theme] .app *,html[data-theme] .app *::before,html[data-theme] .app *::after {box-sizing:border-box}
html[data-theme] .app :is(.field,.form-grid,.menu-row,.more-tile,.focus-row,.tx-row,.loan-row){min-width:0}
/* Financial summary: never split the currency code or a number into separate fragments. */
html[data-theme] #screen-home .hero-mini-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;margin-top:19px!important;padding-top:9px!important;
}
html[data-theme] #screen-home .hero-mini-card,
html[data-theme] #screen-home .hero-mini-card:first-child{
  display:grid!important;grid-template-columns:minmax(70px,auto) minmax(0,1fr)!important;
  align-items:center!important;column-gap:14px!important;
  padding:10px 0!important;margin:0!important;min-height:42px!important;
}
html[data-theme] #screen-home .hero-mini-card+.hero-mini-card{
  border-left:0!important;border-top:1px solid rgba(255,255,255,.13)!important;
}
html[data-theme] #screen-home .hero-mini-card .hero-mini-kicker{
  font-size:13px!important;white-space:nowrap!important;
}
html[data-theme] #screen-home .hero-mini-card .money{
  justify-self:end!important;text-align:right!important;white-space:nowrap!important;
  overflow-wrap:normal!important;word-break:normal!important;
  font-size:clamp(12px,3.5vw,17px)!important;line-height:1.32!important;
  font-variant-numeric:tabular-nums!important;letter-spacing:-.025em!important;
}
html[data-theme] #screen-home .hero-amount{
  font-size:clamp(27px,7.8vw,43px)!important;overflow-wrap:normal!important;
  word-break:normal!important;white-space:normal!important;
}
/* Navigation cards: fixed leading/trailing rails across all viewport widths. */
html[data-theme] #screen-more .more-tile{
  display:grid!important;grid-template-columns:48px minmax(0,1fr) 36px!important;
  grid-template-rows:1fr!important;align-items:center!important;
  gap:12px!important;padding:12px 14px!important;min-height:80px!important;
}
html[data-theme] #screen-more .more-tile>.more-tile-icon{
  grid-column:1!important;grid-row:1!important;display:grid!important;
  place-items:center!important;width:44px!important;height:44px!important;margin:0!important;
}
html[data-theme] #screen-more .more-tile>span:nth-child(2){
  grid-column:2!important;grid-row:1!important;display:block!important;
  min-width:0!important;margin:0!important;text-align:left!important;
}
html[data-theme] #screen-more .more-tile>span:nth-child(2) strong{
  display:block!important;line-height:1.3!important;overflow-wrap:normal!important;
}
html[data-theme] #screen-more .more-tile>span:nth-child(2) small{
  display:block!important;line-height:1.4!important;overflow-wrap:break-word!important;
}
html[data-theme] #screen-more .more-tile>b{
  grid-column:3!important;grid-row:1!important;display:grid!important;
  place-items:center!important;margin:0!important;padding:0!important;
  width:36px!important;height:44px!important;line-height:1!important;
  font-size:25px!important;font-family:Arial,sans-serif!important;font-weight:400!important;
  color:var(--muted)!important;justify-self:end!important;align-self:center!important;
}
html[data-theme] .app :is(.menu-row,.more-tool){align-items:center;min-width:0}
html[data-theme] .app .menu-row .menu-main{min-width:0;flex:1}
html[data-theme] .app .menu-row .chev,
html[data-theme] .app .menu-row>.chev{
  margin-left:auto!important;width:34px!important;min-width:34px!important;
  height:42px!important;display:grid!important;place-items:center!important;
  flex:0 0 34px!important;line-height:1!important;text-align:center!important;
}
/* Form system: one field rhythm in all in-app panels and modal pages. */
html[data-theme] .app :is(.field,.form-grid){min-width:0;max-width:100%}
html[data-theme] .app .field{margin-bottom:16px!important}
html[data-theme] .app .field label,
html[data-theme] .app .field>label{
  display:block!important;font-size:14px!important;font-weight:690!important;
  line-height:1.4!important;letter-spacing:-.01em!important;
  color:var(--text)!important;margin:0 0 8px!important;
}
html[data-theme] .app .field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea),
html[data-theme] .app :is(.kumbu-country-search,.movement-search){
  display:block;box-sizing:border-box!important;min-width:0!important;max-width:100%!important;
  width:100%!important;min-height:54px!important;
  padding:13px 15px!important;font-family:inherit!important;font-size:16px!important;
  line-height:1.35!important;font-weight:480!important;
  border:1px solid var(--border)!important;border-radius:14px!important;
  background-color:var(--surface)!important;color:var(--text)!important;
  box-shadow:none!important;
}
html[data-theme] .app .field select:not([multiple]){
  appearance:none;-webkit-appearance:none;padding-right:46px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23667670' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 7 5 5 5-5'/%3E%3C/svg%3E")!important;
  background-position:right 17px center!important;background-size:18px!important;
  background-repeat:no-repeat!important;
}
html[data-theme] .app .field textarea{min-height:100px!important;resize:vertical!important}
html[data-theme] .app .field :is(input,select,textarea):focus,
html[data-theme] .app :is(.kumbu-country-search,.movement-search):focus{
  border-color:var(--info)!important;box-shadow:0 0 0 3px rgba(42,135,91,.13)!important;
}
html[data-theme] .app .field :is(input,select,textarea):disabled{opacity:.65;cursor:not-allowed}
html[data-theme] .app .field :is(input,select,textarea)::placeholder{color:var(--muted);opacity:.75}
html[data-theme] .app .field>.helper,
html[data-theme] .app .field>p.helper{
  font-size:12px!important;line-height:1.5!important;margin:7px 0 0!important;
  max-width:100%;color:var(--muted)!important;
}
html[data-theme] .app .form-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
html[data-theme] .app :is(.app-page-inner,.subpanel,.dialog,.card){max-width:100%}
html[data-theme] .app .app-page-inner{padding-inline:max(18px,env(safe-area-inset-left))!important}
html[data-theme] .app .app-page-head{gap:16px!important;margin-bottom:22px!important}
html[data-theme] .app .app-page-head h2{font-size:clamp(24px,6.6vw,29px)!important;line-height:1.19!important}
html[data-theme] .app :is(.loan-charges,.loan-parcel-schedule,.loan-existing-fee-panel){
  border-radius:16px!important;padding:16px!important;border:1px solid var(--border)!important;
  background:var(--surface)!important;
}
html[data-theme] .app .loan-charges>summary{
  cursor:pointer;min-height:44px;display:list-item;line-height:1.45;
  font-size:15px;font-weight:700;color:var(--text);list-style-position:inside;
}
html[data-theme] .app .loan-charges .helper{font-size:12px!important;line-height:1.55!important;color:var(--muted)!important}
/* Bank catalogue and manual input are two clear, reversible states. */
html[data-theme] .app :is(#loanBankFields,#salaryConfigBankFields,#accountEditorBankFields){min-width:0}
html[data-theme] .app [data-bank-mode="manual"]>.kumbu-bank-search-field{display:none!important}
html[data-theme] .app .kumbu-bank-manual-toolbar{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:12px 14px;margin:2px 0 14px;
  border:1px solid var(--border);border-radius:14px;
  background:var(--surface-muted);color:var(--text);
}
html[data-theme] .app .kumbu-bank-manual-toolbar[hidden]{display:none!important}
html[data-theme] .app .kumbu-bank-manual-toolbar strong{font-size:13px;font-weight:730}
html[data-theme] .app .kumbu-bank-manual-toolbar button{
  min-height:38px!important;padding:7px 9px;border:0;background:transparent;
  color:var(--info)!important;font-size:12px;font-weight:720;cursor:pointer;
}
html[data-theme] .app .kumbu-bank-results{
  max-height:220px;gap:6px;padding:3px 0;margin-bottom:13px;
}
html[data-theme] .app .kumbu-bank-result{
  min-height:48px!important;border-radius:12px!important;
  border:1px solid var(--border)!important;padding:11px 13px!important;
  font-size:14px!important;line-height:1.35!important;
}
html[data-theme] .app .kumbu-bank-result.manual{
  color:var(--info)!important;border-style:dashed!important;
  font-weight:750!important;justify-content:flex-start!important;
}
html[data-theme] .app .kumbu-bank-result.manual::before{content:'+';font-size:20px;line-height:1}
/* Prevent hidden selectors from turning into visible blank controls. */
html[data-theme] .app [hidden]{display:none!important}
@media(max-width:580px){
  html[data-theme] .app .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
  html[data-theme] #screen-home .hero-mini-card .money{font-size:clamp(12px,3.5vw,15px)!important}
}
@media(min-width:700px){
  html[data-theme] #screen-home .hero-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  html[data-theme] #screen-home .hero-mini-card,
  html[data-theme] #screen-home .hero-mini-card:first-child{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;
    padding:10px!important;
  }
  html[data-theme] #screen-home .hero-mini-card+.hero-mini-card{
    border-top:0!important;border-left:1px solid rgba(255,255,255,.17)!important;
  }
  html[data-theme] #screen-home .hero-mini-card .money{font-size:clamp(12px,1.9vw,16px)!important}
}

/* v0.75.12: installation is Web/PWA only. Enforce hidden even against grid display overrides. */
html[data-theme] #screen-more #installCenterBtn[hidden],
html[data-theme] #screen-more #installCenterBtn[data-native-hidden="true"]{display:none!important}
/* Home dashboards remain visible, without disclosure affordances or hidden data. */
html[data-theme] #screen-home :is(.home-cycle-disclosure,.home-analysis-collapse){overflow:visible}
html[data-theme] #screen-home :is(.home-cycle-heading,.home-analysis-heading){
 display:flex;align-items:center;min-height:54px;padding:12px 16px;
}
html[data-theme] #screen-home :is(.home-cycle-heading h2,.home-analysis-heading h2){
 margin:0;font-size:16px;font-weight:760;line-height:1.35;color:var(--text);
}
html[data-theme] #screen-home .home-analysis-collapse .expense-chart-card{
 border-top:1px solid var(--border)!important;
}
/* Forecast follows shared form and typography rhythm on every screen size. */
html[data-theme] .app .k39-forecast{padding:18px!important;min-width:0}
html[data-theme] .app .k39-forecast-heading h2{font-size:18px!important;line-height:1.35!important;font-weight:760!important}
html[data-theme] .app .k39-forecast-heading p{font-size:14px!important;line-height:1.5!important}
html[data-theme] .app .k39-forecast-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
html[data-theme] .app .k39-forecast-controls label{font-size:14px!important;font-weight:700!important;line-height:1.4!important;gap:7px!important}
html[data-theme] .app .k39-forecast-controls select{font-size:16px!important;line-height:1.35!important;min-height:50px!important;padding:10px 30px 10px 12px!important;text-overflow:ellipsis}
html[data-theme] .app .k39-forecast-currency-head{font-size:15px!important;line-height:1.4!important}
html[data-theme] .app .k39-forecast-tag{font-size:12px!important;line-height:1.3!important;white-space:normal!important}
html[data-theme] .app .k39-forecast-rows span{font-size:14px!important;line-height:1.45!important}
html[data-theme] .app .k39-forecast-rows strong{font-size:15px!important;line-height:1.4!important;overflow-wrap:normal!important;word-break:normal!important}
html[data-theme] .app .k39-forecast-rows .k39-forecast-key strong{font-size:17px!important}
html[data-theme] .app .k39-forecast-upcoming h3{font-size:15px!important}
html[data-theme] .app .k39-forecast-event>span strong{font-size:14px!important;line-height:1.45!important}
html[data-theme] .app .k39-forecast-event small,html[data-theme] .app .k39-forecast-more,
html[data-theme] .app .k39-forecast-empty,html[data-theme] .app .k39-forecast-footnote{font-size:13px!important;line-height:1.55!important}
html[data-theme] .app .k39-forecast-event>.money{font-size:14px!important;white-space:nowrap!important;font-variant-numeric:tabular-nums}
html[data-theme] .app .k39-forecast-action{font-size:14px!important}
@media(max-width:365px){
 html[data-theme] .app .k39-forecast{padding:14px!important}
 html[data-theme] .app .k39-forecast-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html[data-theme] .app .k39-forecast-controls select{font-size:15px!important;padding-inline:10px 26px!important}
}

/* v0.75.13 — ajuda opcional sem ocupar a interface financeira */
.kumbu-help-details{margin-top:12px;border-top:1px solid var(--line,rgba(127,127,127,.18));padding-top:10px}
.kumbu-help-details summary{cursor:pointer;font-size:14px;font-weight:600;line-height:1.4;color:var(--muted);list-style-position:inside}
.kumbu-help-details .helper{margin:8px 0 0}


/* v0.75.14 - production financial clarity and ledger transparency */
.low-balance-banner{
  background:#fff0d8!important;color:#6b2d08!important;
  border:2px solid #cc7b2a!important;box-shadow:0 10px 28px rgba(120,63,9,.13)!important;
}
.low-balance-banner .low-balance-icon{
  background:#a84b12!important;color:#fff!important;border:2px solid #923e0e!important;
}
.low-balance-banner .low-balance-copy strong{color:#6b2d08!important;font-size:17px!important}
.low-balance-banner .low-balance-copy small{color:#5f390f!important;opacity:1!important;font-size:14px!important}
.low-balance-banner .low-balance-action{color:#813b09!important;font-size:14px!important}
.k41-reserve-alert{
  background:#fff0ee!important;border:2px solid #bb453f!important;color:#7b2426!important;
  box-shadow:0 8px 20px rgba(140,37,37,.1)!important;
}
.k41-reserve-alert .k41-reserve-symbol{background:#b63532!important;color:#fff!important}
.k41-reserve-alert .k41-reserve-copy :is(strong,small){color:#7b2426!important}
.account-audit{min-width:0;width:100%;margin-top:10px;padding:12px;border:1px solid var(--border,#d8ddd9);border-radius:14px}
.account-audit summary{cursor:pointer;font-size:14px;font-weight:750;color:var(--info,#27793a);line-height:1.4}
.account-audit[open] summary{margin-bottom:12px}
.account-audit-summary>div,.account-audit-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border,#d8ddd9)}
.account-audit-summary span{color:var(--muted,#667068)}
.account-audit-summary strong,.account-audit-item b{font-variant-numeric:tabular-nums;white-space:nowrap}
.account-audit-total{font-weight:800}
.account-audit-total span{color:var(--text,#152119)!important}
.account-audit-items{max-height:400px;overflow:auto}
.account-audit-item>div{min-width:0;display:grid;gap:3px}
.account-audit-item strong{font-size:13px;overflow-wrap:anywhere}
.account-audit-item small{font-size:12px;color:var(--muted,#667068)}
.account-audit-item b{font-size:13px}
.account-audit-item .audit-debit{color:var(--danger,#a52a2a)}
.account-audit-item .audit-credit{color:var(--info,#267236)}
.account-audit-warning{padding:10px;background:#fff0d8;color:#763912;font-size:13px;line-height:1.5}
.account-audit button{margin-top:12px;width:100%;min-height:44px}
.bank-card-negative{display:block;color:#ffdad1;font-size:12px;font-weight:750;margin-top:3px}
.kumbu-country-chooser:focus-within .kumbu-country-search{outline-offset:1px}

.account-manage-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(185px,auto);align-items:start}
.account-manage-row .account-audit{grid-column:1/-1;box-sizing:border-box}
@media(max-width:560px){.account-manage-row{grid-template-columns:minmax(0,1fr)}.account-manage-side{min-width:0;width:100%}}

/* 0.75.15: introdução directa do nome de banco, sem catálogo no UI */
.kumbu-bank-search-field, .kumbu-bank-manual-toolbar, [data-bank-lookup], #loanSummaryCurrency, #notificationDeliveryNote, #txHelper { display:none !important; }
#loanBankOtherField:not([hidden]), #accountEditorBankOtherField:not([hidden]), #salaryConfigBankOtherField:not([hidden]) {display:block;}

.kumbu-bank-select-legacy { display:none!important; }

/* v0.75.17 — durable shared components, phone and tablet layouts. */
html[data-theme] :is(#authCountry,#profileCountry).kumbu-country-original,
html[data-theme] .kumbu-country-chooser select.kumbu-country-original,
.kumbu-country-chooser select[hidden] {display:none!important;visibility:hidden!important;position:absolute!important;pointer-events:none!important;height:0!important;width:0!important;padding:0!important;border:0!important}
.kumbu-country-chooser .kumbu-country-search {width:100%;min-height:54px;box-sizing:border-box}
.username-input-wrap{display:flex!important;gap:0!important;align-items:center!important;min-width:0;isolation:isolate}
.username-input-wrap > span{padding-left:16px!important;padding-right:0!important;font-size:16px!important;line-height:1!important;letter-spacing:0!important}
html[data-theme] .username-input-wrap input,#profileHandleInput{display:block!important;min-width:0!important;flex:1 1 auto!important;width:100%!important;padding:0 12px 0 0!important;margin:0!important;border:0!important;box-shadow:none!important;outline:none!important;font-size:16px!important;line-height:1.3!important;letter-spacing:0!important;background:transparent!important}
.username-input-wrap:focus-within{border-color:var(--primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)!important}
/* Avoid a hidden salary-cycle information panel or legacy display rules re-showing it. */
#salaryCycleTarget,#salaryCycleHelp{display:none!important}
.account-salary-value[hidden]{display:none!important}
.account-salary-value:not([hidden]){display:grid;gap:16px;margin-top:12px}
.account-salary-value .field{margin:0!important;display:grid!important;gap:8px!important}
.account-salary-value .field label{margin:0!important}
.home-account-strip{align-items:stretch}
.home-account-strip.empty-mode{display:flex!important;overflow:visible;max-width:100%;align-items:stretch}
html[data-theme] #accountStrip .home-account-create,
#accountStrip .home-account-create{box-sizing:border-box;flex:0 0 var(--account-card-width,270px);width:var(--account-card-width,270px);min-width:220px;max-width:360px;aspect-ratio:1.585 / 1;min-height:194px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--surface)!important;color:var(--text)!important;border:1.5px dashed var(--border)!important;border-radius:22px!important;scroll-snap-align:start;scroll-snap-stop:always;box-shadow:none!important;cursor:pointer}
#accountStrip .home-account-create:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.home-account-create-icon{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:50%;background:color-mix(in srgb,var(--primary) 17%,var(--surface));color:var(--primary);font-size:32px;line-height:1;font-weight:500}
.home-account-create-title{font-size:17px;font-weight:760;line-height:1.25}
.home-account-create-note{max-width:220px;color:var(--muted);font-size:13px;line-height:1.35}
@media(max-width:699px){#accountStrip .home-account-create{flex-basis:var(--account-card-width,calc(100vw - 48px));width:var(--account-card-width,calc(100vw - 48px));max-width:calc(100vw - 48px)}}

/* v0.75.18 | Dedicated account-password form; country has ONE visible search control. */
.kumbu-country-chooser > .kumbu-select, .kumbu-country-chooser > button.kumbu-select {display:none!important}
.kumbu-password-form {display:grid;gap:16px}
.kumbu-password-form .field {min-width:0;margin:0}
.kumbu-password-form .field input {width:100%;min-height:54px;box-sizing:border-box}
.kumbu-password-form .primary {width:100%;min-height:54px;margin-top:6px}
.kumbu-password-form .dialog-message[hidden] {display:none!important}


/* v0.75.19 | Iconography: dedicated password entry matches the Profile menu system. */
#screen-profile .menu-row[data-open-subpanel="changePassword"]::before {
  content: "";
  background-color: #e8e4ff !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%235b4da0' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3Cpath d='M12 14v3'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 21px 21px !important;
}


/* v0.75.20 — unified controls in authenticated and public forms.
   Keep keyboard focus discernible *within* the control's frame, never outside it.
   This is a product-wide correction, not a per-screen visual patch. */
:root { --kumbu-field-height: 54px; --kumbu-field-focus: #317c46; }
html[data-theme="dark"] { --kumbu-field-focus: #9FE870; }
/* Fixed, shared geometry for single-line controls, including the password screen. */
html[data-theme] .app .field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="range"]),select),
html[data-theme] .app :is(.kumbu-country-search,button.kumbu-select),
html[data-theme] #authShell .field :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),select),
html[data-theme] .app .kumbu-password-form .field input {
  box-sizing: border-box !important;
  height: var(--kumbu-field-height) !important;
  min-height: var(--kumbu-field-height) !important;
  max-height: var(--kumbu-field-height) !important;
  border-radius: 14px !important;
}
/* Do not resize paragraphs/notes, multi-line text, toggles, or checkboxes. */
html[data-theme] .app .field textarea {height:auto!important;max-height:none!important;}
/* The focused border is inside the input's dimensions. No external halo. */
html[data-theme] .app .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus,
html[data-theme] .app .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus-visible,
html[data-theme] .app :is(.kumbu-country-search,button.kumbu-select):focus,
html[data-theme] .app :is(.kumbu-country-search,button.kumbu-select):focus-visible,
html[data-theme] #authShell .field :is(input,select,textarea):focus,
html[data-theme] #authShell .field :is(input,select,textarea):focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  border-color: var(--kumbu-field-focus) !important;
  box-shadow: inset 0 0 0 1.5px var(--kumbu-field-focus) !important;
}
/* A few settings and filter controls sit outside .field; they must obey the
   same focus system without changing their compact toolbar dimensions. */
html[data-theme] .app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="hidden"]),select,textarea):focus,
html[data-theme] .app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="hidden"]),select,textarea):focus-visible {
  outline:none!important;
  outline-offset:0!important;
  border-color:var(--kumbu-field-focus)!important;
  box-shadow:inset 0 0 0 1.5px var(--kumbu-field-focus)!important;
}
/* Errors remain recognisable, even when editing the affected field. */
html[data-theme] .app .field :is(input,select,textarea)[aria-invalid="true"]:focus,
html[data-theme] #authShell .field :is(input,select,textarea)[aria-invalid="true"]:focus {
  border-color:var(--danger)!important;
  box-shadow:inset 0 0 0 1.5px var(--danger)!important;
}
/* Composite input: only its outer frame receives the focus indication. */
html[data-theme] .app :is(.username-input-wrap,.movement-search-wrap):focus-within {
  border-color:var(--kumbu-field-focus)!important;
  outline:none!important;
  box-shadow:inset 0 0 0 1.5px var(--kumbu-field-focus)!important;
}
html[data-theme] .app :is(.username-input-wrap,.movement-search-wrap) input:focus,
html[data-theme] .app :is(.username-input-wrap,.movement-search-wrap) input:focus-visible {
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
}
/* Password visibility toggles keep keyboard visibility inside the input group. */
html[data-theme] #authShell .auth-password-toggle:focus-visible {
  outline:2px solid var(--kumbu-field-focus)!important;
  outline-offset:-3px!important;
}


/* v0.75.21 | Production-wide form controls.
   A sizeable group of transactional forms lives in .app-page siblings of .app;
   the previous .app-only rules never reached Movements, Accounts or Loans.
   Cover every form root, including subpanels, native overlay pages, dialogs,
   and the logged-out identity flow. A single focus ring is drawn *inside* the
   actual control boundary. Do not change checkbox/radio/switch dimensions. */
:root {
  --kumbu-control-size: 54px;
  --kumbu-control-radius: 14px;
  --kumbu-control-focus: #317c46;
}
html[data-theme="dark"] { --kumbu-control-focus: #9fe870; }
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.field,.form-grid) {
  min-width:0;
  max-width:100%;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .field {
  min-width:0;
  margin-bottom:16px;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .field > label:not(.salary-check):not(.account-salary-toggle) {
  display:block;
  margin:0 0 8px;
  font-size:14px;
  font-weight:690;
  line-height:1.4;
  color:var(--text);
}
/* Both direct inputs in dialogs and ordinary inputs in .field are supported. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.field,form) > :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select),
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .field :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select),
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) button.kumbu-select,
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .kumbu-country-search {
  box-sizing:border-box!important;
  width:100%;
  min-width:0;
  max-width:100%;
  height:var(--kumbu-control-size)!important;
  min-height:var(--kumbu-control-size)!important;
  max-height:var(--kumbu-control-size)!important;
  padding:12px 15px!important;
  border:1px solid var(--border)!important;
  border-radius:var(--kumbu-control-radius)!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  font-family:inherit;
  font-size:16px;
  line-height:1.3;
  box-shadow:none!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.field,form) > textarea,
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .field textarea {
  box-sizing:border-box!important;
  width:100%;
  min-width:0;
  min-height:100px!important;
  height:auto!important;
  max-height:none!important;
  border:1px solid var(--border)!important;
  border-radius:var(--kumbu-control-radius)!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  padding:12px 15px!important;
  font-size:16px;
  line-height:1.45;
  resize:vertical;
}
/* Same focus behaviour on nested fields and direct dialog controls. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.field,form) :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select,textarea):is(:focus,:focus-visible),
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) button.kumbu-select:is(:focus,:focus-visible),
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .kumbu-country-search:is(:focus,:focus-visible) {
  outline:none!important;
  outline-offset:0!important;
  border-color:var(--kumbu-control-focus)!important;
  box-shadow:inset 0 0 0 1.5px var(--kumbu-control-focus)!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.field,form) :is(input,select,textarea)[aria-invalid="true"]:is(:focus,:focus-visible) {
  border-color:var(--danger)!important;
  box-shadow:inset 0 0 0 1.5px var(--danger)!important;
}
/* Composite controls must display ONE ring on their shared external frame. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.username-input-wrap,.movement-search-wrap):focus-within {
  outline:none!important;
  border-color:var(--kumbu-control-focus)!important;
  box-shadow:inset 0 0 0 1.5px var(--kumbu-control-focus)!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(.username-input-wrap,.movement-search-wrap) input:is(:focus,:focus-visible) {
  outline:none!important;
  border:0!important;
  box-shadow:none!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap input {
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border:0!important;
  border-radius:0!important;
  padding:0 12px 0 0!important;
  box-shadow:none!important;
}
/* Hidden native controls and compact special controls never become visible. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) :is(input,select,textarea,button)[hidden] {
  display:none!important;
}
/* Nested label controls in cycle-date dialogs and generated forms are form
   controls too; they must not fall back to the browser-specific 38px height. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) form label > :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select) {
  box-sizing:border-box!important;
  width:100%;
  min-width:0;
  max-width:100%;
  height:var(--kumbu-control-size)!important;
  min-height:var(--kumbu-control-size)!important;
  max-height:var(--kumbu-control-size)!important;
  border:1px solid var(--border)!important;
  border-radius:var(--kumbu-control-radius)!important;
  background:var(--surface)!important;
  color:var(--text)!important;
  padding:12px 15px!important;
  font-size:16px;
  box-shadow:none!important;
}
/* Label-contained controls still receive the identical accessible inset focus. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) form label > :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]),select):is(:focus,:focus-visible) {
  outline:none!important;
  outline-offset:0!important;
  border-color:var(--kumbu-control-focus)!important;
  box-shadow:inset 0 0 0 1.5px var(--kumbu-control-focus)!important;
}

/* v0.75.23 | Read-only, local cycle intelligence; compact mobile design. */
.cycle-intelligence-entry {width:100%;display:flex;align-items:center;gap:14px;min-height:76px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:18px;padding:14px 16px;text-align:left;margin:14px 0;cursor:pointer;}
.cycle-intelligence-entry-icon {width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:#dff4e5;color:#217340;display:grid;place-items:center;font-size:22px;font-weight:700;}
.cycle-intelligence-entry>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px;min-width:0;}
.cycle-intelligence-entry strong {font-size:16px;line-height:1.3;}
.cycle-intelligence-entry small{font-size:13px;color:var(--muted);}
.cycle-intelligence-entry-arrow{font-size:28px;color:var(--muted)}
.cycle-intelligence-page .app-page-head{margin-bottom:12px;}
.cycle-intelligence-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 16px;}
.cycle-intelligence-period strong{font-size:16px;}.cycle-intelligence-period span{font-size:12px;color:var(--muted);}
.cycle-intelligence-summary{border-radius:20px;background:#104934;color:#fff;padding:22px 18px;margin-bottom:14px;}
.cycle-intelligence-status{display:inline-flex;padding:5px 10px;border-radius:18px;background:#d4f9dd;color:#165330;font-size:12px;font-weight:700;margin-bottom:18px;}
.cycle-intelligence-status.attention{background:#ffdf96;color:#653b07}.cycle-intelligence-status.no-data{background:#e6ebeb;color:#34403c}
.cycle-intelligence-metrics{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cycle-intelligence-metrics>div{display:flex;flex-direction:column;gap:6px;min-width:0;}
.cycle-intelligence-metrics>div:last-child{grid-column:1 / -1;padding-top:14px;border-top:1px solid #ffffff3c;}
/* Valores financeiros e códigos de moeda nunca se fragmentam em letras. */
.cycle-intelligence-metrics span{font-size:13px;color:#d6ebe3;}
.cycle-intelligence-metrics strong{font-size:clamp(18px,4.2vw,24px);font-weight:750;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-variant-numeric:tabular-nums;}
/* Em telemóveis, cada montante recebe toda a largura útil do cartão. */
@media(max-width:650px){
  .cycle-intelligence-metrics{grid-template-columns:minmax(0,1fr);gap:15px;}
  .cycle-intelligence-metrics>div:last-child{grid-column:1;padding-top:14px;}
  .cycle-intelligence-metrics strong{font-size:clamp(17px,4.8vw,23px);}
}
.cycle-intelligence-panel{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:18px;margin:14px 0;}
.cycle-intelligence-panel h3{font-size:17px;line-height:1.35;margin:0 0 14px;color:var(--text);}
.cycle-intelligence-panel p{font-size:14px;line-height:1.5;}
.cycle-intelligence-muted{font-size:13px!important;color:var(--muted);margin:12px 0 0;}
.cycle-intelligence-row{border-top:1px solid var(--border);padding:13px 0;}.cycle-intelligence-row summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;}.cycle-intelligence-row summary::-webkit-details-marker{display:none;}.cycle-intelligence-row summary>span{min-width:0;display:flex;flex-direction:column;gap:4px;}.cycle-intelligence-row summary strong{font-size:14px;}.cycle-intelligence-row summary small{font-size:12px;color:var(--muted);}.cycle-intelligence-row-values{text-align:right;align-items:flex-end;}.cycle-intelligence-over{color:#a14421!important;font-weight:700;}
.cycle-intelligence-movements{margin:12px 0 0;padding:10px 0;border-top:1px dashed var(--border);}.cycle-intelligence-movements>div,.cycle-intelligence-detail{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 0;font-size:13px;}.cycle-intelligence-movements>div span{min-width:0;flex:1;overflow-wrap:anywhere;}.cycle-intelligence-movements>div strong,.cycle-intelligence-detail strong{white-space:nowrap;font-size:13px;}
.cycle-intelligence-tip{border-top:1px solid var(--border);padding:12px 0;}.cycle-intelligence-tip strong{font-size:14px;}.cycle-intelligence-tip p{margin:5px 0 0;color:var(--muted);}.cycle-intelligence-plan-link{width:100%;margin:12px 0 24px;}
html[data-theme="dark"] .cycle-intelligence-entry-icon {background:#1c5136;color:#a1efa9;}

/* 0.75.24 — analytical obligation sections, readable on mobile and dark theme */
.cycle-intelligence-advanced h4 { font-size: .95rem; margin: 18px 0 8px; line-height: 1.35; }
.cycle-intelligence-advanced .cycle-intelligence-detail { gap: 12px; }
.cycle-intelligence-advanced .cycle-intelligence-detail > span { min-width: 0; overflow-wrap: anywhere; }
.cycle-intelligence-advanced .cycle-intelligence-detail small { display: block; color: var(--muted); font-size: .78rem; margin-top: 3px; font-weight: 400; }
.cycle-intelligence-advanced .cycle-intelligence-detail strong { text-align: right; white-space: normal; overflow-wrap: anywhere; }
.cycle-intelligence-flags { background: var(--warning-soft); color: var(--warning); border: 1px solid var(--border); padding: 14px; border-radius: 14px; margin-top: 16px; }
.cycle-intelligence-flags p { margin: 6px 0 0; font-size: .88rem; }
.cycle-pace-status{display:block;margin-top:5px;color:var(--ui-green);font-size:12px;font-weight:650;line-height:1.45;}
.cycle-pace-watch{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--field);}
.cycle-pace-watch h4{margin:0 0 10px;font-size:14px;line-height:1.4;color:var(--text);}
.cycle-pace-watch .cycle-excess-row{border-top:1px solid var(--border);padding:10px 0;}
.cycle-pace-footnote{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45;}
html[data-theme="dark"] .cycle-pace-status{color:#9be7ab;}
html[data-theme="dark"] .cycle-pace-watch{background:var(--surface);border-color:var(--border);}
html[data-theme="dark"] .cycle-intelligence-flags { background: rgba(255,175,71,.1); color: #FFD49A; }

.cycle-intelligence-breakdown {border-top:1px solid var(--border); margin-top:12px;}
.cycle-intelligence-breakdown > summary {list-style:revert; cursor:pointer; min-height:48px; display:flex; align-items:center; font-size:.94rem; font-weight:750; padding:12px 0;}
.cycle-intelligence-breakdown > summary:focus-visible {outline:2px solid var(--primary);outline-offset:-2px;border-radius:6px;}
.cycle-intelligence-breakdown[open] > summary {margin-bottom:4px;}

/* Kumbú 0.75.25 — recovery simulations: mobile-first, accessible, no ledger writes */
.cycle-recovery-panel .cycle-recovery-subtitle{color:var(--muted);margin:-4px 0 14px;font-size:14px;line-height:1.45;}
.cycle-recovery-categories{border:0;padding:0;margin:0 0 15px;min-width:0;}
.cycle-recovery-categories legend{font-size:14px;font-weight:750;margin-bottom:8px;padding:0;}
.cycle-recovery-choice{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 2px;cursor:pointer;min-height:54px;}
.cycle-recovery-choice input[type="checkbox"]{appearance:auto!important;-webkit-appearance:checkbox!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px;margin:0!important;accent-color:var(--primary);box-shadow:none!important;}
.cycle-recovery-choice span{flex:1;display:flex;min-width:0;flex-direction:column;gap:3px;line-height:1.3;}
.cycle-recovery-choice strong{font-size:14px;overflow-wrap:anywhere;}
.cycle-recovery-choice small{font-size:12px;color:var(--muted);}
.cycle-recovery-rate{margin:16px 0 6px;}
.cycle-recovery-results{display:flex;flex-direction:column;margin-top:12px;padding:8px 14px;border-radius:14px;background:var(--surface-2,var(--surface));border:1px solid var(--border);}
.cycle-recovery-results>div{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px;}
.cycle-recovery-results>div:last-child{border:0;color:var(--primary);font-weight:750;}
.cycle-recovery-results span{min-width:0;flex:1;line-height:1.35;}
.cycle-recovery-results strong{text-align:right;overflow-wrap:anywhere;font-size:15px;}
.cycle-recovery-risks{margin:14px 0;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--warning-soft);font-size:14px;}
.cycle-recovery-risks p{margin:8px 0 0;}
.cycle-recovery-action{display:block;width:100%;margin:12px 0 0;min-height:48px;}
html[data-theme="dark"] .cycle-recovery-risks{background:rgba(255,175,71,.1);}

/* 0.75.26 — recovery proposals: visually distinct, no automatic changes */
.cycle-recovery-actionable{margin-top:18px;padding-top:12px;border-top:1px solid var(--border)}
.cycle-recovery-actionable[hidden],.cycle-recovery-draft[hidden]{display:none!important}
.cycle-recovery-actionable h4{font-size:17px;margin:0 0 12px}
.cycle-recovery-budget-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.cycle-recovery-budget-item>div{min-width:0;flex:1}
.cycle-recovery-budget-item strong{display:block;font-size:14px}
.cycle-recovery-budget-item small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.5;overflow-wrap:anywhere}
.cycle-recovery-budget-item button{flex:0 0 auto;min-height:42px;font-size:13px;padding:9px 12px}
.cycle-recovery-draft{padding:14px;border:1px solid var(--border);background:var(--surface);border-radius:16px;margin-top:16px}
.cycle-recovery-draft-header{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}
.cycle-recovery-draft-header span{color:var(--muted);font-size:13px}
.cycle-recovery-draft-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.cycle-recovery-draft-actions button{min-height:48px}
.cycle-recovery-staged{font-size:14px;line-height:1.5;padding:12px;border:1px solid var(--accent);border-radius:12px;background:var(--surface);margin:0 0 14px}
@media(max-width:400px){.cycle-recovery-budget-item{align-items:stretch;flex-direction:column}.cycle-recovery-budget-item button{align-self:flex-start}.cycle-recovery-draft-actions{grid-template-columns:1fr}}

/* v0.75.27 — concise, read-only priorities with obvious mobile targets. */
.cycle-priority-list{display:grid;gap:10px}
.cycle-priority-card{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}
.cycle-priority-copy{display:flex;flex:1 1 180px;flex-direction:column;min-width:0;gap:5px}
.cycle-priority-copy strong{overflow-wrap:anywhere;font-size:14px;line-height:1.4}
.cycle-priority-copy small{color:var(--muted);line-height:1.4}
.cycle-priority-kind{font-size:12px;font-weight:700;color:var(--text)}
.cycle-priority-card>button{flex:0 0 auto;min-height:44px;max-width:100%;white-space:normal}
.cycle-priority-missing{font-size:12px;color:var(--muted)}
.cycle-priority-target{outline:2px solid var(--accent,#49B52B);outline-offset:-2px;scroll-margin-top:90px;border-radius:12px}
@media(max-width:390px){.cycle-priority-card>button{width:100%}}

/* v0.75.28 — a focused report with three keyboard-accessible views. */
.cycle-analysis-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--surface);border:1px solid var(--border);padding:4px;border-radius:14px;margin:14px 0 16px;}
.cycle-analysis-tabs [role="tab"]{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--muted);border-radius:10px;font:inherit;font-size:13px;font-weight:700;min-height:46px;min-width:0;padding:8px 5px;cursor:pointer;}
.cycle-analysis-tabs [role="tab"][aria-selected="true"]{background:var(--primary);color:#10220c;}
.cycle-analysis-tabs [role="tab"]:focus-visible{outline:2px solid var(--primary);outline-offset:-2px;box-shadow:inset 0 0 0 2px var(--surface);}
.cycle-intelligence-page [data-cycle-intel-panel][hidden]{display:none!important;}
.cycle-explanations-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.cycle-explanation{padding:11px 12px;border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:10px;background:var(--surface);font-size:14px;line-height:1.5;overflow-wrap:anywhere;}
.cycle-explanation.attention{border-left-color:#b97a2b;}
.cycle-explanation-details{display:block;width:100%;min-height:48px;margin-top:14px;}
@media (max-width:360px){.cycle-analysis-tabs [role="tab"]{font-size:12px;padding:7px 3px;}}
@media (prefers-reduced-motion:reduce){.cycle-analysis-tabs [role="tab"]{transition:none;}}

/* v0.75.29 — read-only audit and revision clarity in the cycle report. */
.cycle-audit-note{display:flex;flex-direction:column;gap:4px;margin:10px 0 14px;padding:13px 14px;border:1px solid var(--border);background:var(--surface);border-radius:12px;font-size:13px;line-height:1.5;color:var(--muted)}
.cycle-audit-note strong{color:var(--text);font-size:13px}
.cycle-audit-note p{margin:0}
.cycle-audit-note.changed,.cycle-audit-note.warning{border-color:var(--warning,#cc993a)}
.cycle-audit-note details{margin-top:4px}
.cycle-audit-note summary{cursor:pointer;color:var(--text);font-weight:650;min-height:36px;display:flex;align-items:center}
.cycle-audit-values{display:flex;flex-direction:column;gap:5px;padding-top:7px}

/* v0.75.30: identifiable environment label, shown only when /api/capabilities confirms staging. */
.kumbu-staging-banner { position: fixed; z-index: 3000; bottom: calc(78px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px); padding: 8px 13px; border: 1px solid #b87716; border-radius: 8px; background: #fff5db; color: #5f3500; font-size: 12px; font-weight: 700; text-align: center; box-shadow: 0 3px 15px rgba(0,0,0,.12); pointer-events: none; }
html[data-theme="dark"] .kumbu-staging-banner { background: #533817; color: #ffe4b0; border-color: #d39b46; }

/* Dialogos bloqueiam a pagina de fundo; apenas o dialogo aberto pode deslocar-se. */
html:has(dialog:modal),body:has(dialog:modal){overflow:hidden!important;overscroll-behavior:none}
body:has(dialog:modal) .app-page.open{overflow:hidden!important}
dialog:modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}

.export-title{margin-bottom:24px!important}
html[data-theme] .app .field:has(> #loanAccount) > .helper{margin-top:12px!important;line-height:1.55!important}
.k45-loan-audit{display:grid;gap:4px;white-space:normal;padding:16px;border-radius:12px}
.k45-loan-audit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:baseline;min-width:0}
.k45-loan-audit-row strong{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.k45-loan-audit-row.is-subitem{padding-left:14px;color:var(--muted)}
@media(max-width:390px){.k45-loan-audit-row{grid-template-columns:minmax(0,1fr)}.k45-loan-audit-row strong{text-align:left}.kumbu-dialog .dialog-actions button{min-width:0}}
.kumbu-dialog .dialog-actions button,.reminder-actions button,.reminder-actions a{word-break:normal;hyphens:none}
.kumbu-dialog .k45-reminder-consent{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:start;column-gap:12px;margin:18px 0!important;padding:0!important;font-size:14px;line-height:1.5}
.kumbu-dialog .k45-reminder-consent input[type="checkbox"]{display:block;width:22px!important;height:22px!important;min-width:22px;min-height:22px;margin:1px 0 0!important;align-self:start;accent-color:var(--accent)}
.kumbu-dialog .k45-reminder-consent span{display:block;min-width:0}

/* 0.75.38: passagem de frase-passe do cofre offline, com foco e leitura acessível. */
.financial-vault-dialog form{display:grid;gap:12px;margin-top:18px}
.financial-vault-dialog input[type="password"]{display:block;width:100%;min-height:48px;padding:12px 14px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px}
.financial-vault-dialog input[type="password"]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.financial-vault-dialog .sync-review-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 0}
.financial-vault-dialog .sync-review-actions button{min-height:46px}
.financial-vault-dialog .helper{margin:2px 0 0;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:380px){.financial-vault-dialog .sync-review-actions{grid-template-columns:1fr}}
/* 1.0.2: the loading layout mirrors Home without exposing account data. */
#postLoginLoading{background:var(--bg,#f5f7f3)!important;color:var(--text,#15221b)!important;overflow:hidden!important}#postLoginLoading .post-login-loading-inner{width:min(100%,480px);margin:0 auto;padding:22px 16px 110px}.skeleton-home .sk{display:block;background:linear-gradient(100deg,#dce4de 25%,#eaf0eb 45%,#dce4de 65%);background-size:220% 100%;animation:kumbu-post-login-shimmer 1.8s ease-in-out infinite;border-radius:7px}.skeleton-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.skeleton-avatar{width:44px;height:44px;border-radius:50%!important;flex:none}.skeleton-name{height:19px;flex:1}.skeleton-invite{width:70px;height:40px;border-radius:24px!important}.skeleton-bell{width:40px;height:40px;border-radius:50%!important}.skeleton-balance,.skeleton-account{background:#0b4a37;border-radius:22px;padding:22px}.skeleton-balance .sk,.skeleton-account .sk{background:linear-gradient(100deg,#2e6855 25%,#487e69 45%,#2e6855 65%);background-size:220% 100%}.sk-label{width:45%;height:15px}.sk-amount{width:78%;height:34px;margin-top:17px}.skeleton-metrics{margin-top:25px}.skeleton-metrics>div{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #ffffff14}.skeleton-metrics i{width:29%;height:12px}.skeleton-metrics b{width:36%;height:14px}.skeleton-currencies{display:flex;gap:9px;margin-top:17px}.skeleton-currencies i{width:60px;height:25px;border-radius:18px!important}.skeleton-section-title{width:44%;height:20px;margin:25px 0 15px}.skeleton-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.skeleton-quick-actions>div{display:grid;justify-items:center;gap:12px;padding:16px 8px;background:var(--surface,#fff);border-radius:17px;border:1px solid var(--border,#e1e7df)}.skeleton-quick-actions i{width:34px;height:34px;border-radius:50%!important}.skeleton-quick-actions span{width:85%;height:11px}.skeleton-accounts-head{display:flex;justify-content:space-between;margin:26px 0 14px}.skeleton-accounts-head i{width:30%;height:20px}.skeleton-accounts-head b{width:15%;height:12px}.skeleton-account>span{height:13px;width:32%}.skeleton-account>i{height:21px;width:42%;margin:20px 0 15px}.skeleton-account>b{height:27px;width:65%}.skeleton-bottom{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:var(--surface,#fff);border-top:1px solid var(--border,#e1e7df);padding:14px 16px calc(14px + env(safe-area-inset-bottom));}.skeleton-bottom>div{display:grid;justify-items:center;gap:8px}.skeleton-bottom i{height:25px;width:25px}.skeleton-bottom span{width:50px;height:9px}.skeleton-bottom .selected i{background:#a4e96c}.data-backup-card>p,.data-protection-summary>p{color:var(--muted);line-height:1.55}.data-protection-icon{width:44px;height:44px;display:grid;place-items:center;background:#e1f6df;color:#216837;border-radius:14px;font-size:25px;margin-bottom:16px}.data-backup-card .data-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0 15px}.data-backup-card .data-action-grid button{white-space:nowrap;min-width:0;padding-inline:10px;font-size:14px}.data-protection-summary details{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.data-protection-summary summary{font-weight:700;cursor:pointer}.data-protection-summary details button{margin-top:16px;width:100%}.remembered-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}@media(max-width:340px){.data-backup-card .data-action-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.skeleton-home .sk{animation:none!important}}

/* 1.0.4: concise audit actions and readable goal budget values. */
#auditRefreshBtn,#auditExportBtn{white-space:nowrap;word-break:normal;hyphens:none;min-height:48px;min-width:0}.k44-goal-status{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start}.k44-goal-status>strong{text-align:left}.goal-over-budget .fill{background:var(--danger,#b83e35)}

/* Cycle understanding: readable evidence at narrow widths and large text. */
.cycle-overview-grid{display:grid;gap:16px}.cycle-overview-grid h3{margin:0 0 10px}.cycle-overview-grid p{margin:8px 0;line-height:1.55}.cycle-overview-grid strong{overflow-wrap:anywhere}.cycle-overview-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.cycle-overview-actions button{white-space:nowrap;min-height:48px}.cycle-budget-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.6fr);gap:12px;align-items:end;margin-block:14px}.cycle-budget-row input{min-width:0;width:100%}.cycle-budget-editor{max-height:85dvh;overflow:auto}.cycle-budget-editor .dialog-actions{flex-wrap:wrap}.cycle-budget-editor button{white-space:nowrap}@media(max-width:380px){.cycle-budget-row{grid-template-columns:minmax(0,1fr)}}

/* Shared appearance foundation. Loaded after legacy layouts in Web and Android. */
:root,html[data-theme="light"] {
  --ui-bg:#f5f7f5;--ui-surface:#ffffff;--ui-raised:#ffffff;--ui-field:#f0f3f1;
  --ui-text:#18251f;--ui-muted:#52635a;--ui-border:#d5ded8;--ui-control-border:#718278;
  --ui-green:#28683d;--ui-action:#a4e96d;--ui-action-ink:#16321e;--ui-selected:#e4f3e6;
  --ui-danger:#b42d35;--ui-danger-soft:#fff0f0;--ui-warning:#865000;--ui-warning-soft:#fff4df;
  --ui-info:#155e91;--ui-info-soft:#eaf3ff;--ui-overlay:rgba(12,22,17,.5);
  --ui-radius:20px;--ui-control-radius:14px;--ui-shadow:0 5px 18px rgba(20,42,29,.04);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --ui-bg:#101713;--ui-surface:#1b2620;--ui-raised:#28382f;--ui-field:#141e18;
  --ui-text:#f0f5f1;--ui-muted:#bdcbc2;--ui-border:#41574b;--ui-control-border:#7c9687;
  --ui-green:#abe68c;--ui-action:#a4e96d;--ui-action-ink:#16321e;--ui-selected:#304930;
  --ui-danger:#ffb3b6;--ui-danger-soft:#41262b;--ui-warning:#ffda95;--ui-warning-soft:#3d321f;
  --ui-info:#abd6ff;--ui-info-soft:#20374c;--ui-overlay:rgba(0,0,0,.72);
  --ui-shadow:none;
}
html[data-theme],:root {
  --bg:var(--ui-bg);--surface:var(--ui-surface);--surface-muted:var(--ui-field);--text:var(--ui-text);--muted:var(--ui-muted);--border:var(--ui-border);
  --primary:var(--ui-green);--accent:var(--ui-green);--accent-soft:var(--ui-selected);--danger:var(--ui-danger);--danger-soft:var(--ui-danger-soft);--warning:var(--ui-warning);--warning-soft:var(--ui-warning-soft);--info:var(--ui-info);--info-soft:var(--ui-info-soft);
  --premium-bg:var(--ui-bg);--premium-surface:var(--ui-surface);--premium-ink:var(--ui-text);--premium-muted:var(--ui-muted);--premium-line:var(--ui-border);--premium-green:var(--ui-green);--premium-green-deep:var(--ui-green);
}
html[data-theme] body,html[data-theme] .app {background:var(--ui-bg)!important;color:var(--ui-text)!important;}
html[data-theme] :is(.card,.setting-block,.profile-stat,.mini-account,.goal,.theme-choice,.quick,.more-tile,.audit-hero,.audit-summary-card,.app-center-status,.session-card,.session-overview,.notification-message,.home-focus-card,.expense-chart-card) {
  background:var(--ui-surface)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;border-radius:var(--ui-radius)!important;box-shadow:var(--ui-shadow)!important;
}
html[data-theme] :is(h1,h2,h3,.menu-label,.tx-title,.metric-value,.focus-row strong,.mini-account .bal,.mini-account .name,.profile-stat .v) {color:var(--ui-text)!important;}
html[data-theme] :is(.helper,.menu-note,.tx-meta,.appearance-intro,.profile-stat .k,.theme-choice-copy small,.focus-help,.focus-row span,.app-center-status>span,.k44-goal-meta,.k44-goal-note,.v120-page-intro,.v120-status-label) {color:var(--ui-muted)!important;}
html[data-theme] :is(.primary,.invite-pill) {background:var(--ui-action)!important;color:var(--ui-action-ink)!important;border-color:var(--ui-action)!important;}
html[data-theme] :is(.secondary,.notification-filter,.notification-filterbar button,.v120-section-nav button) {background:var(--ui-field)!important;color:var(--ui-text)!important;border:1px solid var(--ui-border)!important;box-shadow:none!important;}
html[data-theme] :is(.inline-action,.section-head button,.v120-text-action,.positive) {color:var(--ui-green)!important;}
html[data-theme] :is(.negative,.tx-amount.expense,.danger-text) {color:var(--ui-danger)!important;}
html[data-theme] :is(.field input,.field select,.field textarea,.cycle-budget-row input,.movement-search input,.movement-filter-field select) {background:var(--ui-field)!important;color:var(--ui-text)!important;border:1px solid var(--ui-control-border)!important;border-radius:var(--ui-control-radius)!important;}
html[data-theme] :is(input,textarea)::placeholder {color:var(--ui-muted)!important;opacity:1;}
html[data-theme] dialog :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {background:var(--ui-field)!important;color:var(--ui-text)!important;border:1px solid var(--ui-control-border)!important;border-radius:var(--ui-control-radius)!important;min-height:48px;}
html[data-theme] :is(input[type="checkbox"],input[type="radio"]) {accent-color:var(--ui-green);}
html[data-theme] :is(input,select,textarea):disabled {opacity:.72;}
html[data-theme] :is(button,a,input,select,textarea,summary,[role="button"]):focus-visible {outline:3px solid var(--ui-green)!important;outline-offset:3px!important;}
html[data-theme] button:disabled {opacity:.65;cursor:default;}
html[data-theme] :is(.modal,.auth-card,dialog,.photo-sheet,.movement-filter-sheet,.app-page-inner) {background:var(--ui-raised)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;}
html[data-theme] body:is([data-auth-view="rememberedPage"],[data-auth-view="passwordPanel"],[data-auth-view="authPanel"],[data-auth-view="desktopNotice"]) :is(.auth-shell,.auth-wise-shell,.auth-wise-main) {background:var(--ui-bg)!important;color:var(--ui-text)!important;}
html[data-theme] :is(.desktop-notice-card,.remembered-secondary) {background:var(--ui-surface)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;}
html[data-theme] :is(.desktop-notice-card h1,.remembered-identity strong,.password-identity strong,.auth-wise-brand-copy strong) {color:var(--ui-text)!important;}
html[data-theme] :is(.desktop-notice-card p,.desktop-notice-card small,.remembered-identity span,.password-identity span,.auth-wise-subtitle,.auth-wise-switch,.auth-legal-check) {color:var(--ui-muted)!important;}
html[data-theme] :is(.remembered-inline-brand,.auth-wise-brand-copy,.auth-help-link,.auth-password-toggle) {color:var(--ui-green)!important;}
html[data-theme] :is(dialog,.modal) :is(p,label,legend,small,h2,h3) {color:var(--ui-text);}
html[data-theme] :is(.modal-backdrop,.photo-sheet-backdrop),html[data-theme] dialog::backdrop {background:var(--ui-overlay)!important;}
html[data-theme] :is(.app-page,.app-page-inner) {background:var(--ui-surface)!important;}
html[data-theme] .app-page-head {background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:12px!important;margin:0 0 20px!important;}
html[data-theme] :is(.close,.back-arrow,.profile-back-arrow) {background:var(--ui-field)!important;color:var(--ui-text)!important;border-color:var(--ui-border)!important;}
html[data-theme] :is(.close,.back-arrow,.profile-back-arrow) svg path {fill:currentColor!important;}
html[data-theme] .bottom-nav {background:var(--ui-surface)!important;border-top:1px solid var(--ui-border)!important;box-shadow:none!important;}
html[data-theme] .nav-btn {color:var(--ui-muted)!important;}
html[data-theme] .nav-btn.active {color:var(--ui-green)!important;}
html[data-theme] :is(.nav-btn.active .ico,.theme-choice.active,.notification-filter.active,.v120-section-nav [aria-current="page"],.k42-reminder-day.selected) {background:var(--ui-selected)!important;color:var(--ui-green)!important;border-color:var(--ui-green)!important;}
html[data-theme] :is(.notification-btn,.k41-help-link,.k41-help-icon,.v120-menu-icon) {color:var(--ui-green)!important;}
html[data-theme] :is(.notice.warn,.cycle-intelligence-flags,.cycle-recovery-risks,.notification-detail-severity.warn) {background:var(--ui-warning-soft)!important;color:var(--ui-warning)!important;border-color:var(--ui-warning)!important;}
html[data-theme] :is(.notice.error,.danger-zone,.notification-detail-severity.danger) {background:var(--ui-danger-soft)!important;color:var(--ui-danger)!important;border-color:var(--ui-danger)!important;}
html[data-theme] :is(.notification-detail-copy,.notification-detail-help,.notification-detail-message,.k42-alert-summary-row small) {color:var(--ui-text)!important;background:var(--ui-field)!important;}
html[data-theme] .track {background:var(--ui-border)!important;}
html[data-theme] .fill {background:var(--ui-green)!important;}
html[data-theme] .goal-over-budget .fill {background:var(--ui-danger)!important;}
/* Balance and bank cards keep their recognisable dark brand surface. */
html[data-theme] #screen-home .hero.simplified-hero {background:linear-gradient(135deg,#123f32,#0e3027)!important;border:1px solid #527966!important;}
html[data-theme] #screen-home .hero.simplified-hero :is(.hero-amount,.hero-label,.hero-mini-value,.hero-mini-card strong,.hero-flow-value,.hero-flow-label) {color:#f2fff6!important;}
html[data-theme] .hero.simplified-hero .hero-hint {color:#c4decf!important;}
html[data-theme] .tx-amount {font-variant-numeric:tabular-nums;}
html[data-theme] .tx-amount.negative {color:var(--ui-danger)!important;}
html[data-theme] :is(.primary,.secondary,.inline-action,.v120-text-action,.notification-filterbar button) {min-height:48px;font-size:15px;line-height:1.35;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
html[data-theme] :is(.dialog-actions,.app-center-actions,.audit-actions,.cycle-overview-actions) {gap:12px;}
html[data-theme] .field {margin-bottom:16px;}
html[data-theme] .field label {display:block;margin-bottom:9px;line-height:1.45;}
html[data-theme] .field+.helper {margin-top:10px;}
html[data-theme] .card {padding:20px;margin-bottom:18px;}
html[data-theme] h1 {font-size:clamp(26px,6.8vw,32px)!important;line-height:1.18!important;letter-spacing:-.035em;margin-bottom:24px;}
html[data-theme] h2 {font-size:21px!important;line-height:1.3!important;}
html[data-theme] h3 {font-size:18px;line-height:1.35;}
html[data-theme] .helper {font-size:14px;line-height:1.55;}
html[data-theme] :is(.notification-page-head,.section-head) {gap:16px;flex-wrap:wrap;}
.v120-page-intro {font-size:15px;line-height:1.55;margin:-12px 0 24px;}
.v120-menu-group {margin:28px 0;}
.v120-menu-group>h2 {margin:0 0 12px;font-size:16px!important;font-weight:700;letter-spacing:0!important;}
html[data-theme] #screen-more .more-list,html[data-theme] #screen-profile .card {padding:0 16px!important;}
html[data-theme] .v120-menu-row {display:grid!important;grid-template-columns:36px minmax(0,1fr) 18px!important;gap:12px!important;align-items:center!important;width:100%;min-height:76px;padding:16px 0!important;margin:0!important;text-align:left;background:transparent!important;border:0!important;border-bottom:1px solid var(--ui-border)!important;border-radius:0!important;box-shadow:none!important;}
html[data-theme] .v120-menu-row:last-child {border-bottom:0!important;}
html[data-theme] .v120-menu-row::before {display:none!important;}
.v120-menu-icon {display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--ui-selected);}
.v120-menu-icon svg {width:22px;height:22px;}
.v120-menu-row .menu-main {display:grid;gap:5px;min-width:0;}
html[data-theme] .v120-menu-row .menu-label {font-size:16px!important;font-weight:650!important;line-height:1.35!important;}
html[data-theme] .v120-menu-row .menu-note {font-size:13px!important;line-height:1.4!important;font-weight:400;}
.v120-menu-row .chev {font-size:24px;color:var(--ui-muted);}
.v120-section-nav {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border:1px solid var(--ui-border);border-radius:16px;margin:4px 0 24px;background:var(--ui-surface);}
.v120-section-nav button {border-radius:12px;min-height:48px;font-size:15px;font-weight:650;}
.v120-section-nav [aria-current="page"] {box-shadow:inset 0 -3px var(--ui-green)!important;}
.v120-service-summary {display:grid;gap:10px;line-height:1.5;}
.v120-status-label {font-size:13px;}
.v120-technical-details {border:1px solid var(--ui-border);border-radius:16px;padding:16px;margin:16px 0 24px;}
.v120-technical-details summary,.v120-help summary {min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:650;gap:10px;}
.v120-technical-details summary::after,.v120-help summary::after {content:'+';margin-left:auto;font-size:22px;}
.v120-technical-details[open] summary::after,.v120-help[open] summary::after {content:'−';}
.v120-technical-details .app-center-grid {margin:16px 0 0;}
.v120-help {padding:14px 16px;border:1px solid var(--ui-border);border-radius:16px;margin-bottom:22px;line-height:1.55;}
.v120-text-action {display:block;width:100%;background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;margin:16px 0;}
html[data-theme] .v120-menu-row[data-open-subpanel="closeUserAccount"] .menu-label {color:var(--ui-danger)!important;}
@media(max-width:380px) {
  html[data-theme] :is(.dialog-actions,.audit-actions,.cycle-overview-actions,.loan-share-actions) {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
  html[data-theme] :is(.dialog-actions,.audit-actions,.cycle-overview-actions,.loan-share-actions)>button {width:100%;min-width:0;}
  html[data-theme] .app-center-grid {grid-template-columns:minmax(0,1fr);}
  html[data-theme] .card {padding:18px;}
}
@media(prefers-reduced-motion:reduce) {html[data-theme] *,html[data-theme] *::before,html[data-theme] *::after {animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}

/* 1.2.1: each layout owns spacing once; explicit menu icons replace legacy slots. */
html[data-theme] #screen-profile .menu-row.v120-menu-row {padding:14px 0!important;}
html[data-theme] #screen-profile .menu-row.v120-menu-row::before {content:none!important;display:none!important;}
html[data-theme] #screen-more .v120-menu-row .menu-label {display:block;}
html[data-theme] #screen-more .v120-menu-group {margin:20px 0;}
html[data-theme] #screen-more .screen-heading h1 {margin-bottom:16px;}
html[data-theme] .cycle-overview-grid {gap:12px;}
html[data-theme] .cycle-overview-grid>.cycle-intelligence-panel {margin:0;}
html[data-theme] .app-page-head .close {background:transparent!important;border-color:transparent!important;}
html[data-theme] .app-page-head .close:focus-visible {outline:3px solid var(--ui-green)!important;}

/* 1.3.0: consistent rounded actions; semantic lists retain their row shape. */
html[data-theme] :is(button.primary,button.secondary,.cycle-analysis-tabs button,.v120-section-nav button,.notification-filterbar button,.auth-wise-primary,.auth-wise-secondary,.remembered-primary,.remembered-secondary,.invite-pill) {border-radius:999px!important;}
html[data-theme] .cycle-analysis-tabs button[aria-selected="true"] {background:#28683d!important;color:#ffffff!important;border-radius:999px!important;}
html[data-theme] .cycle-analysis-tabs button[aria-selected="false"] {background:transparent!important;color:var(--ui-muted)!important;}
html[data-theme] .cycle-analysis-tabs {border-radius:999px!important;}
.cycle-spend-row {margin:18px 0;}
.cycle-spend-row>div:first-child,.peer-card-head {display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.cycle-spend-row strong:last-child {white-space:nowrap;}
.cycle-spend-track {height:8px;background:var(--ui-border);border-radius:999px;margin:8px 0;overflow:hidden;}
.cycle-spend-track>span {display:block;height:100%;background:var(--ui-green);border-radius:999px;}
.cycle-spend-row small,.cycle-excess-row small {color:var(--ui-muted);font-size:13px;}
.cycle-excess-row {display:grid;gap:5px;padding:12px 0;border-bottom:1px solid var(--ui-border);}
.cycle-excess-row:last-child {border-bottom:0;}
.cycle-excess-row>span {color:var(--ui-text);}
.cycle-coverage {margin-top:14px;}.cycle-coverage summary,.cycle-goals-brief>summary {cursor:pointer;min-height:44px;line-height:1.5;font-weight:650;}
.peer-toolbar,.peer-actions {display:flex;gap:12px;flex-wrap:wrap;margin:18px 0;}
.peer-actions>button {flex:1 1 145px;min-width:0;white-space:normal;}
.peer-hub-entry {margin:14px 0;width:100%;}.peer-card {margin:12px 0!important;}.peer-card p {margin:10px 0;line-height:1.5;}
.peer-card-head>span,.peer-status {color:var(--ui-muted);font-size:13px;}.peer-amount {font-size:24px;overflow-wrap:anywhere;}
.peer-note {white-space:pre-wrap;overflow-wrap:anywhere;}.peer-actions>button {min-height:48px;}
@media(max-width:380px){.peer-actions>button{flex-basis:100%;}.cycle-analysis-tabs button{font-size:12px;padding-inline:8px;}}

/* Read messages retain the theme colours with ordinary title weight. */
.notification-message.is-read .tx-title{font-weight:400!important}
#inviteShareBtn,#inviteCopyBtn{white-space:nowrap}

/* Phase one: visible track, generous hit area, stable pressed states. */
html[data-theme] .switch {
  position:relative;width:44px;min-width:44px;height:44px;min-height:44px;
  padding:0;flex-shrink:0;border:0;background:transparent!important;
  border-radius:999px;cursor:pointer;
}
html[data-theme] .switch::before {
  content:"";position:absolute;left:0;top:9px;width:44px;height:26px;
  background:var(--ui-control-border);border-radius:999px;
}
html[data-theme] .switch::after {
  content:"";position:absolute;left:3px;top:12px;width:20px;height:20px;
  background:var(--ui-surface);border-radius:50%;box-shadow:none;
  transition:left .15s ease;
}
html[data-theme] .switch.on::before {background:var(--ui-green);}
html[data-theme] .switch.on::after {left:21px;}
html[data-theme] :is(button,a,input,select,textarea,summary,[role="button"]) {scroll-margin-block:80px;}
html[data-theme] :is(.v120-menu-row,.notification-message):active {background:var(--ui-selected)!important;}
html[data-theme] :is(button.primary,button.secondary):active {box-shadow:inset 0 0 0 2px currentColor!important;}
@media(hover:hover) and (pointer:fine){
 html[data-theme] :is(.v120-menu-row,.notification-message):hover {background:var(--ui-field)!important;}
 html[data-theme] :is(.inline-action,.v120-text-action):hover {text-decoration:underline;text-underline-offset:4px;}
}
.security-section {margin:24px 0;}
.security-section h2 {font-size:18px;line-height:1.4;margin:0 0 12px;}
.security-section .setting-block {margin:0;}
.security-section .menu-main {min-width:0;flex:1;}
.security-section .inline-action {flex-shrink:0;white-space:nowrap;}
.security-section .menu-note {line-height:1.45;}
.security-guidance {margin:24px 0;color:var(--ui-muted);line-height:1.5;}
.security-guidance summary {min-height:44px;cursor:pointer;color:var(--ui-text);font-weight:650;}
.security-guidance p {margin:12px 0;}
@media(prefers-reduced-motion:reduce){html[data-theme] .switch::after{transition:none;}}

/* Each selected value and disclosure indicator occupies its own grid column. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) button.kumbu-select {
  display:grid!important;grid-template-columns:minmax(0,1fr) 24px!important;
  align-items:center;column-gap:12px;text-align:left;
  height:auto!important;min-height:var(--kumbu-control-size,48px)!important;max-height:none!important;
  padding:12px 15px!important;white-space:normal!important;overflow-wrap:anywhere;
  background:var(--ui-field)!important;color:var(--ui-text)!important;border-color:var(--ui-control-border)!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) button.kumbu-select::after {
  position:static!important;inset:auto!important;transform:none!important;
  grid-column:2;grid-row:1;display:grid;place-items:center;align-self:center;
  width:24px;min-width:24px;line-height:1;pointer-events:none;
}
html[data-theme] #screen-profile .v120-menu-group {margin:20px 0;}


/* 1.4.2: consistent plan spacing and a single composite-field focus. */
html[data-theme] #screen-planning .financial-plan {padding:20px!important;margin:0 0 18px!important;}
html[data-theme] #screen-planning .financial-plan .plan-heading {gap:12px;flex-wrap:wrap;}
html[data-theme] #screen-planning .financial-plan .plan-heading h2 {margin:0;min-width:0;}
html[data-theme] #screen-planning .financial-plan>p {margin:12px 0 0;line-height:1.5;}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap #profileHandleInput {
 border:0!important;border-radius:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;
}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap:focus-within {
 outline:none!important;border-color:var(--ui-green)!important;box-shadow:inset 0 0 0 1.5px var(--ui-green)!important;
}
html[data-theme] .cycle-intelligence-breakdown>summary {display:flex;align-items:baseline;gap:16px;}
.cycle-breakdown-label {min-width:0;flex:1;}
.cycle-breakdown-count {flex:0 0 auto;min-width:2ch;text-align:right;font-variant-numeric:tabular-nums;}
@media(max-width:380px){html[data-theme] #screen-planning .financial-plan{padding:18px!important;}}

/* 1.5.0: one movement layout for the daily overview and full history. */
html[data-theme] :is(#recentTransactions,#transactionList) .tx-row {display:grid!important;grid-template-columns:36px minmax(0,1fr) auto 12px;gap:8px 12px!important;align-items:center;padding:14px 0!important;min-width:0;}
html[data-theme] :is(#recentTransactions,#transactionList) .tx-icon {grid-column:1;width:36px;height:36px;}
html[data-theme] :is(#recentTransactions,#transactionList) .tx-main {grid-column:2;min-width:0;}
html[data-theme] :is(#recentTransactions,#transactionList) .tx-title {white-space:normal!important;overflow-wrap:anywhere;line-height:1.4!important;}
html[data-theme] :is(#recentTransactions,#transactionList) .tx-amount {grid-column:3;min-width:0;max-width:40vw;white-space:normal!important;overflow-wrap:anywhere!important;letter-spacing:normal!important;font-size:1rem!important;line-height:1.4!important;text-align:right;font-variant-numeric:tabular-nums;}
html[data-theme] :is(#recentTransactions,#transactionList) .tx-edit-indicator {grid-column:4;}
@media(max-width:480px){
 html[data-theme] :is(#recentTransactions,#transactionList) .tx-row {grid-template-columns:36px minmax(0,1fr) 12px;row-gap:4px!important;}
 html[data-theme] :is(#recentTransactions,#transactionList) .tx-icon {grid-area:1/1/3/2;align-self:start;}
 html[data-theme] :is(#recentTransactions,#transactionList) .tx-main {grid-area:1/2/2/3;}
 html[data-theme] :is(#recentTransactions,#transactionList) .tx-amount {grid-area:2/2/3/3;justify-self:end;max-width:100%;}
 html[data-theme] :is(#recentTransactions,#transactionList) .tx-edit-indicator {grid-area:1/3/3/4;}
}

/* Supplied brand artwork, with no opaque tile behind the asset. */
html[data-theme] :is(#authShell,#nativeWelcome,.desktop-notice-brand,.remembered-inline-brand,.brand) img.brand-wordmark {width:180px!important;height:60px!important;max-width:100%;object-fit:contain!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
html[data-theme] #authShell .auth-wise-brand {display:flex;flex-direction:column;align-items:flex-start;gap:0;}
html[data-theme] .app-center-mark {background:transparent!important;border:0!important;box-shadow:none!important;}
html[data-theme] #startupScreen img.startup-animation-fallback {filter:none!important;}
html[data-theme="dark"] img.brand-wordmark {filter:brightness(2);}

.cycle-category-review{display:block;margin-top:8px;min-height:44px;text-align:left;white-space:normal}.cycle-verified-excess{display:block;color:var(--ui-danger)!important;font-weight:650}.movement-review-context{margin:12px 0}.movement-review-context p{margin:0 0 8px;line-height:1.5;overflow-wrap:anywhere}

html[data-theme].native-startup #startupScreen{display:grid!important;place-items:center;background:#0b180c!important}html[data-theme] #startupScreen img.startup-animation-fallback{width:clamp(112px,36vw,184px)!important;height:auto!important;object-fit:contain!important;background:transparent!important;filter:none!important}

/* 1.5.1: contiguous handle prefix and a consistent planning heading. */
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap {display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;column-gap:0!important;row-gap:0!important;justify-content:start!important;}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap>span {width:auto!important;min-width:0!important;margin:0!important;padding:0 0 0 14px!important;letter-spacing:0!important;}
html[data-theme] :is(.app,.app-page,.modal,.kumbu-dialog,#authShell) .username-input-wrap #profileHandleInput {padding-inline-start:0!important;margin-inline-start:0!important;text-indent:0!important;}
html[data-theme] #screen-planning .financial-plan .plan-heading {min-height:52px;padding-block:4px;box-sizing:border-box;}
html[data-theme] #screen-planning .financial-plan .plan-heading .inline-action {min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;}
html[data-theme] img.brand-wordmark {filter:none!important;}

@media(max-width:380px){html[data-theme] #screen-planning .financial-plan .plan-heading{column-gap:8px}html[data-theme] #screen-planning .financial-plan .plan-heading h2{font-size:18px!important}html[data-theme] #screen-planning .financial-plan .plan-heading .inline-action{padding-inline:8px}}

/* 1.5.2: compact financial plan and balanced authentication wordmark. */
html[data-theme] #screen-planning .financial-plan{padding:16px!important;}
html[data-theme] #screen-planning .financial-plan .plan-heading{min-height:32px;padding-block:0;gap:8px;flex-wrap:nowrap;align-items:center;}
html[data-theme] #screen-planning .financial-plan .plan-heading h2{font-size:18px!important;line-height:1.3;}
html[data-theme] #screen-planning .financial-plan .plan-heading .inline-action{font-size:13px;min-height:44px;margin-block:-6px;padding:0 8px;white-space:nowrap;flex-shrink:0;}
html[data-theme] #screen-planning .financial-plan>p{margin:6px 0 0;font-size:14px;line-height:1.5;}
html[data-theme] #authShell img.brand-wordmark{width:144px!important;height:48px!important;}

/* 1.5.3: cycle analysis hierarchy, consistent surfaces and readable themes. */
:root,html[data-theme="light"] {
  --cycle-summary:#104934;--cycle-summary-ink:#ffffff;--cycle-summary-muted:#d6ebe3;
  --cycle-summary-divider:#ffffff3c;--cycle-tab-active:#28683d;--cycle-tab-ink:#ffffff;
}
html[data-theme="dark"] {
  --cycle-summary:#203b30;--cycle-summary-ink:#f4fff7;--cycle-summary-muted:#c6dbcf;
  --cycle-summary-divider:#ffffff38;--cycle-tab-active:#a4e96d;--cycle-tab-ink:#16321e;
}
html[data-theme] .cycle-intelligence-summary {
  background:var(--cycle-summary)!important;color:var(--cycle-summary-ink)!important;
  border:1px solid var(--ui-control-border);border-radius:22px;padding:22px 20px;
}
html[data-theme] .cycle-intelligence-summary :is(span,strong) {color:var(--cycle-summary-ink)!important;}
html[data-theme] .cycle-intelligence-summary .cycle-intelligence-metrics span {color:var(--cycle-summary-muted)!important;}
html[data-theme] .cycle-intelligence-summary .cycle-intelligence-metrics>div:last-child {border-color:var(--cycle-summary-divider)!important;}
html[data-theme] .cycle-intelligence-status {background:#e4f3e6!important;color:#174b2c!important;}
html[data-theme] .cycle-intelligence-status.attention {background:#ffe5ad!important;color:#5d3906!important;}
html[data-theme] .cycle-intelligence-status.no-data {background:#edf1ef!important;color:#34443b!important;}
html[data-theme="dark"] .cycle-intelligence-status {background:#d6f4d6!important;color:#173b27!important;}
html[data-theme="dark"] .cycle-intelligence-status.attention {background:#5b421e!important;color:#ffe4ac!important;}
html[data-theme="dark"] .cycle-intelligence-status.no-data {background:#35443c!important;color:#eef4f0!important;}
html[data-theme] .cycle-analysis-tabs {background:var(--ui-surface)!important;border-color:var(--ui-border)!important;}
html[data-theme] .cycle-analysis-tabs [role="tab"][aria-selected="true"] {background:var(--cycle-tab-active)!important;color:var(--cycle-tab-ink)!important;}
html[data-theme] .cycle-analysis-tabs [role="tab"][aria-selected="false"] {color:var(--ui-muted)!important;}
html[data-theme] .cycle-intelligence-panel {background:var(--ui-surface)!important;border-color:var(--ui-border)!important;border-radius:20px;padding:20px;box-shadow:var(--ui-shadow);}
html[data-theme] .cycle-intelligence-panel :is(h3,h4,strong) {color:var(--ui-text);}
html[data-theme] .cycle-intelligence-panel :is(p,small) {line-height:1.55;}
html[data-theme] .cycle-methodology {margin:18px 0;padding:0 4px;border-top:1px solid var(--ui-border);color:var(--ui-muted);}
html[data-theme] .cycle-methodology summary {min-height:48px;display:flex;align-items:center;cursor:pointer;color:var(--ui-text);font-weight:650;}
html[data-theme] .cycle-methodology p {margin:8px 0 14px;font-size:14px;line-height:1.55;}
html[data-theme] .cycle-intelligence-detail strong,.cycle-spend-row>div:first-child strong:last-child {font-variant-numeric:tabular-nums lining-nums;}
@media(max-width:380px) {
  html[data-theme] .cycle-intelligence-summary {padding:20px 16px;}
  html[data-theme] .cycle-intelligence-panel {padding:18px;}
}

/* 1.5.4: shared spacing, controls and theme states across the main screens. */
:root,html[data-theme="light"] {
  --ui-page-gutter:18px;
  --ui-section-gap:20px;
  --ui-control-gap:12px;
  --ui-control-height:48px;
  --ui-control-radius-unified:16px;
  --ui-button-radius-unified:999px;
  --ui-focus-ring:rgba(40,104,61,.2);
  --ui-filter-active-bg:#e4f3e6;
  --ui-filter-active-ink:#205d36;
}
html[data-theme="dark"] {
  --ui-focus-ring:rgba(171,230,140,.28);
  --ui-filter-active-bg:#304b3a;
  --ui-filter-active-ink:#e8f7e4;
}
html[data-theme] #mainApp :is(#screen-home,#screen-movements,#screen-planning,#screen-more) {
  padding-inline:var(--ui-page-gutter)!important;
  padding-bottom:34px!important;
}
html[data-theme] #mainApp :is(#screen-home,#screen-movements,#screen-planning,#screen-more) .screen-heading,
html[data-theme] #mainApp #screen-planning .planning-heading {
  margin-bottom:var(--ui-section-gap)!important;
}
html[data-theme] #screen-home :is(.home-aside,.home-cycle-disclosure,.home-accounts,.home-recent,.home-analysis-collapse) {
  margin-top:var(--ui-section-gap)!important;
}
html[data-theme] #screen-home .home-aside {margin-top:16px!important;}
html[data-theme] #screen-home .home-focus-card {padding:18px!important;}
html[data-theme] #screen-movements :is(.movement-toolbar,.tabs-filter,.movement-review-context,.movement-list-card,#movementResultsStatus,.movement-load-more) {
  margin-top:var(--ui-control-gap)!important;
}
html[data-theme] #screen-movements .movement-toolbar {margin-top:0!important;}
html[data-theme] #screen-movements .movement-list-card {margin-top:16px!important;}
html[data-theme] #screen-planning :is(.financial-cycle-card,.kumbu-cycle-settings-link,#financialPlanCard,.cycle-intelligence-entry,#liquidityForecastPanel,.cycle-history-collapse,#cyclePendingActions,.planning-action-head,#projectList,.planning-detail-block,#cycleSpendingChart) {
  margin-top:var(--ui-section-gap)!important;
}
html[data-theme] #screen-planning .planning-heading {margin-top:0!important;}
html[data-theme] #screen-more .v120-menu-group {margin-top:var(--ui-section-gap)!important;}
html[data-theme] #screen-more .screen-heading + .v120-menu-group {margin-top:0!important;}

html[data-theme] #mainApp :is(button.primary,button.secondary,button.danger-btn,.filter-btn,.filter-sheet-done,.financial-cycle-close,.kumbu-cycle-settings-link,.movement-load-more) {
  min-height:var(--ui-control-height)!important;
  border-radius:var(--ui-button-radius-unified)!important;
  padding-inline:18px;
  line-height:1.35;
  font-weight:650;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}
html[data-theme] #screen-movements .filter-btn {
  min-height:42px!important;
  padding-inline:15px;
}
html[data-theme] #mainApp :is(.movement-search-wrap,.movement-filter-grid select,.field input,.field select,.field textarea) {
  min-height:var(--ui-control-height)!important;
  border-radius:var(--ui-control-radius-unified)!important;
  border-color:var(--ui-control-border)!important;
  background-color:var(--ui-field)!important;
  color:var(--ui-text)!important;
  box-shadow:none;
}
html[data-theme] #screen-movements .movement-search-wrap {padding-inline:14px!important;}
html[data-theme] #screen-movements .movement-search {min-height:44px!important;}
html[data-theme] #mainApp :is(.filter-btn.active,.filter-sheet-done) {
  background:var(--ui-green)!important;
  color:#fff!important;
  border-color:var(--ui-green)!important;
}
html[data-theme="dark"] #mainApp :is(.filter-btn.active,.filter-sheet-done) {
  background:var(--ui-action)!important;
  color:var(--ui-action-ink)!important;
  border-color:var(--ui-action)!important;
}
html[data-theme] #mainApp :is(.menu-row,.quick,.cycle-intelligence-entry,.home-cycle-plan-link) {min-height:var(--ui-control-height);}
html[data-theme] #mainApp :is(.field label,.movement-filter-field label) {line-height:1.4;color:var(--ui-muted);}
html[data-theme] #mainApp :is(button,a,input,select,textarea,summary,[role="button"]):focus-visible {
  outline:3px solid var(--ui-green)!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px var(--ui-focus-ring)!important;
}
html[data-theme] #mainApp button:disabled {opacity:.58!important;}
html[data-theme="dark"] #mainApp :is(.movement-filter-summary,.movement-search-wrap,.movement-filter-collapse,.financial-cycle-card,.cycle-intelligence-entry) {
  border-color:var(--ui-border)!important;
}
html[data-theme="dark"] #mainApp :is(.movement-search-wrap,.movement-filter-grid select,.field input,.field select,.field textarea) {
  background-color:var(--ui-field)!important;
  color:var(--ui-text)!important;
}
html[data-theme="dark"] #mainApp :is(.filter-btn:not(.active),.secondary,.kumbu-cycle-settings-link,.movement-load-more) {
  background-color:var(--ui-field)!important;
  color:var(--ui-text)!important;
  border:1px solid var(--ui-border)!important;
}
@media(max-width:380px) {
  :root,html[data-theme] {--ui-page-gutter:16px;--ui-section-gap:16px;--ui-control-gap:10px;}
  html[data-theme] #mainApp :is(button.primary,button.secondary,button.danger-btn,.filter-btn,.filter-sheet-done,.financial-cycle-close,.kumbu-cycle-settings-link,.movement-load-more) {padding-inline:14px;}
}
@media(prefers-reduced-motion:reduce) {
  html[data-theme] #mainApp *,html[data-theme] #mainApp *::before,html[data-theme] #mainApp *::after {scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
}
.security-list-title{font-size:17px;line-height:1.35;margin:20px 0 10px}.session-history{margin-top:18px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.session-history summary{font-size:14px;font-weight:750;cursor:pointer;list-style:none}.session-history summary::-webkit-details-marker{display:none}.session-history summary::after{content:'+';float:right;color:var(--primary);font-size:20px;line-height:1}.session-history[open] summary::after{content:'−'}.session-history>p{margin:10px 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.recognized-device-history{background:var(--surface-muted)}.recognized-device-state{font-size:9px!important;background:var(--surface-muted)!important;color:var(--muted)!important}
