:root{color-scheme:light;--color-page: #f7f7f5;--color-surface: #ffffff;--color-surface-soft: #fff5f3;--color-text: #242424;--color-text-secondary: #66635f;--color-border: #deddda;--color-control-border: #8a8782;--color-primary: #d52b1e;--color-primary-hover: #b82319;--color-primary-soft: #fff0ee;--color-positive: #242424;--color-warning: #8a5a00;--radius-small: 6px;--radius-medium: 10px;--control-height: 48px;--ink: var(--color-text);--ink-soft: #383838;--muted: var(--color-text-secondary);--muted-dark: #4f4d4a;--canvas: var(--color-page);--surface: var(--color-surface);--surface-soft: var(--color-surface-soft);--line: var(--color-border);--line-strong: #c8c7c4;--control-border: var(--color-control-border);--accent: var(--color-primary);--accent-soft: var(--color-primary-soft);--accent-ink: var(--color-primary-hover);--terracotta: var(--color-primary);--terracotta-soft: var(--color-primary-soft);--success: var(--color-positive);--success-soft: #f1f0ee;--danger: var(--color-primary-hover);--danger-soft: var(--color-primary-soft);--info: var(--color-primary-hover);--info-soft: var(--color-primary-soft);--warning: var(--color-warning);--warning-soft: #f5eddc;--radius-sm: var(--radius-small);--radius: var(--radius-medium);--radius-lg: 12px;--shadow-dialog: 0 24px 70px rgb(36 36 36 / 18%);--sidebar-width: 216px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}body.dashboard-route{--shadow-dialog: 0 24px 70px rgb(36 36 36 / 16%)}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--canvas);color:var(--ink);font-size:15px;line-height:1.5}body.dialog-open{overflow:hidden}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}a{color:inherit}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3,strong,b{font-weight:600;letter-spacing:-.015em}h1{font-size:clamp(2rem,4.5vw,3.35rem);line-height:1.06}h2{font-size:1.12rem;line-height:1.25}ul,ol{margin:0;padding:0;list-style:none}svg{display:block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}::selection{background:var(--accent);color:#fff}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:10px 14px;transform:translateY(-180%);background:var(--accent);border-radius:var(--radius-sm);color:#fff;font-weight:600}.skip-link:focus{transform:translateY(0)}.eyebrow{margin-bottom:8px;color:var(--muted-dark);font-size:.8rem;font-weight:600;letter-spacing:0}.page{width:min(100%,1180px);margin:0 auto}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-header>div>p:last-child{max-width:620px;margin-top:9px;color:var(--muted);font-size:1rem}.panel,.filter-panel,.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.panel-heading p{max-width:580px;margin-top:5px;color:var(--muted);font-size:.82rem}.panel-heading a{display:inline-flex;align-items:center;gap:7px;color:var(--muted-dark);font-size:.82rem;font-weight:600;text-decoration:none;white-space:nowrap}.panel-heading a svg{width:16px}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.sidebar,.topbar,.mobile-nav,.page-header,.payment-progress,.payment-aside,.receipt-actions,#new-payment{display:none!important}body,.app-shell,.app-column,#main-content{display:block;background:#fff;padding:0}.payment-layout{display:block}.payment-flow{border:0}}.app-shell{min-height:100vh}.sidebar{display:none}.app-column{min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:9px 18px;background:#fff;border-bottom:1px solid var(--line)}.mobile-brand,.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;flex:0 0 auto;background:var(--color-primary);border-radius:50%;color:#fff;font-size:.76rem;font-weight:600;letter-spacing:-.04em;line-height:1}.topbar-actions{display:flex;align-items:center;gap:8px}.language-control .select-wrapper{width:104px}.language-control select{font-size:.78rem}.account-selector select{font-size:.84rem}.mobile-brand strong{font-weight:600}#main-content{min-height:calc(100vh - 220px);padding:26px 18px 100px}.mobile-nav{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:62px;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line)}.mobile-nav a{display:flex;min-width:0;min-height:62px;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--muted);font-size:.64rem;font-weight:600;text-decoration:none}.mobile-nav a svg{width:19px;height:19px}.mobile-nav a.is-active{color:var(--accent)}.mobile-nav a.is-active:before{position:absolute;top:0;width:28px;height:2px;background:var(--accent);content:""}.dashboard-grid,.side-stack{display:grid;gap:20px}.payment-layout{display:grid;gap:16px}.payment-aside{display:grid;align-content:start;gap:16px}.reward-grid{display:grid;gap:14px}.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;line-height:1.2;text-decoration:none}.button svg{width:18px;height:18px}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.button.secondary{background:var(--surface);border-color:var(--control-border);color:var(--ink)}.button.ghost{background:transparent;border-color:transparent;color:var(--muted-dark)}.button.danger{background:var(--danger-soft);border-color:#d8a4ab;color:var(--danger)}.button.wide{width:100%}.text-button{display:inline-flex;min-height:44px;align-items:center;gap:5px;padding:0;background:transparent;border:0;color:var(--muted-dark);font-size:.78rem;font-weight:600}.text-button svg{width:15px}.icon-button,.plain-icon-button{display:grid;width:44px;height:44px;padding:0;place-items:center;background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm)}.icon-button svg,.plain-icon-button svg{width:20px;height:20px}.preferences-label{display:none}.plain-icon-button{width:38px;height:38px;background:transparent;border-color:#ffffff40;color:#fff}label>span:not(.visually-hidden),.stack-form>label,.stack-form .field-group>label,.payment-form label:not(.recipient-option,.check-control){display:block;margin-bottom:6px;color:var(--muted-dark);font-size:.75rem;font-weight:500}input,select,textarea{width:100%;min-width:0;min-height:44px;max-width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm)}.select-wrapper{position:relative;display:block;width:100%}label>.select-wrapper{margin-bottom:0!important;color:inherit;font-size:inherit;font-weight:inherit}.select-wrapper select{-webkit-appearance:none;width:100%;min-height:var(--control-height);padding:0 44px 0 14px;appearance:none;background:var(--color-surface);border:1px solid var(--color-control-border);border-radius:var(--radius-small);color:var(--color-text);font-weight:500;line-height:1.2}.select-wrapper select:hover{border-color:var(--color-primary)}.select-chevron{position:absolute;top:50%;right:16px;width:15px;height:15px;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none}textarea{min-height:92px;resize:vertical}input::placeholder,textarea::placeholder{color:#7a746f;opacity:1}.stack-form{display:grid;gap:7px}.stack-form .field-group{display:grid;gap:6px}.stack-form .field-error{margin-top:0}.stack-form input[aria-invalid=true]{border-color:var(--danger)}.input-prefix{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--control-border);border-radius:var(--radius-sm)}.input-prefix>span{padding:0 0 0 12px;color:var(--muted-dark);font-weight:600}.input-prefix input{border:0}.input-prefix:focus-within{outline:3px solid var(--accent);outline-offset:3px}.input-prefix input:focus{outline:none}.check-control{display:flex!important;min-height:44px;align-items:center;gap:10px;margin:0;color:var(--ink)!important;font-size:.84rem!important;font-weight:500!important}.check-control input{width:20px;min-height:20px;flex:0 0 auto;accent-color:var(--ink)}.field-error{min-height:18px;color:var(--danger);font-size:.75rem;font-weight:600}.search-input,.search-field{position:relative}.search-input svg,.search-field svg{position:absolute;top:50%;left:12px;z-index:1;width:18px;height:18px;transform:translateY(-50%);color:var(--muted)}.search-input input,.search-field input{padding-left:40px}.filter-panel{display:grid;gap:12px;padding:14px}.filter-panel>*{min-width:0}.filter-panel select{max-width:100%}.transaction-date-field,.date-input-wrapper{min-width:0}.transaction-date-field>.date-input-wrapper{display:flex;width:100%;max-width:100%;min-height:44px;align-items:center;padding:0 12px;background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-sm);color:inherit;font-size:inherit;font-weight:inherit}.date-input-wrapper:focus-within{outline:3px solid var(--accent);outline-offset:3px}.transaction-filters input[type=date]{-webkit-appearance:auto;display:block;width:100%;min-width:0;min-height:42px;max-width:100%;padding:0;appearance:auto;background:transparent;border:0;border-radius:0;box-sizing:border-box}.transaction-filters input[type=date]:focus{outline:none}.results-heading{display:flex;align-items:center;justify-content:space-between;min-height:54px;color:var(--muted-dark);font-size:.82rem;font-weight:600}.category-glyph,.recipient-initials,.merchant-monogram{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;background:var(--info-soft);border-radius:var(--radius-sm);color:var(--info);font-size:.78rem;font-weight:600}.category-glyph.income{background:var(--success-soft);color:var(--success)}.dialog-backdrop{position:fixed;inset:0;z-index:100;display:grid;padding:18px;place-items:center;overflow-y:auto;background:#66635f94}.dialog{width:min(100%,500px);max-height:calc(100vh - 36px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog)}.dialog-heading{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;background:var(--surface);border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:1.3rem}.dialog-content{padding:22px}.dialog-lead{margin-bottom:20px;color:var(--muted)}.settings-disclosure{margin-bottom:8px;color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.4}.dialog-actions,.flow-actions,.receipt-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:20px}.dialog-actions>*,.flow-actions>*{flex:1}.settings-row{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.settings-row span{margin:0!important;color:var(--ink)!important;font-size:.9rem!important}.settings-row input{width:22px;min-height:22px;accent-color:var(--ink)}.settings-reset{margin-bottom:18px;padding:16px;background:var(--danger-soft);border:1px solid #f0c1c9;border-radius:var(--radius)}.settings-reset p{margin:5px 0 14px;color:var(--muted-dark);font-size:.78rem}.toast{position:fixed;right:18px;bottom:92px;left:18px;z-index:120;max-width:480px;margin:auto;padding:14px 18px;background:var(--color-primary-hover);border:1px solid var(--color-primary-hover);border-radius:var(--radius);color:#fff;font-size:.83rem;font-weight:600;box-shadow:0 14px 32px #24242429}.status-chip,.offer-state,.status-label{display:inline-flex;width:fit-content;align-items:center;padding:4px 8px;border-radius:999px;font-size:.67rem;font-weight:600}.status-chip.completed,.offer-state.active,.status-label.completed{background:var(--success-soft);color:var(--success)}.status-chip.pending,.status-label.pending{background:var(--warning-soft);color:var(--warning)}.status-chip.failed,.offer-state.expired{background:var(--danger-soft);color:var(--danger)}.status-chip.refunded{background:var(--info-soft);color:var(--info)}.empty-state{display:grid;min-height:250px;padding:40px 20px;place-items:center;align-content:center;text-align:center}.empty-state p{margin-top:8px;color:var(--muted)}.empty-icon{display:grid;width:48px;height:48px;margin-bottom:16px;place-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:50%}.empty-icon svg{width:22px}.detail-list{display:grid}.detail-list>div{display:grid;grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted);font-size:.76rem}.detail-list dd{overflow-wrap:anywhere;font-size:.82rem;font-weight:600;text-align:right}@media(hover:hover){.button,.icon-button,.plain-icon-button,.quick-action-grid button,.primary-nav a,.mobile-nav a,.transaction-row,.recipient-option,.reward-card{transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.button:not(:disabled):hover,.icon-button:hover,.quick-action-grid button:hover{transform:translateY(-1px)}.button.secondary:hover,.icon-button:hover{border-color:var(--ink)}}.account-selector{width:min(100%,270px)}.dashboard-page .account-selector>span{font-weight:500}.dashboard-header h1{font-size:clamp(2rem,3.2vw,2.55rem);font-weight:600;line-height:1.12}.dashboard-header{margin-bottom:24px}.dashboard-date{margin-top:7px;color:var(--color-text-secondary);font-size:.8rem;font-weight:500;line-height:1.4}.balance-panel{display:grid;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium);color:var(--color-text);box-shadow:none}.balance-main{padding:26px}.account-summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.account-summary-identity{display:grid;min-width:0;gap:3px}.account-summary-account{overflow:hidden;color:var(--color-text);font-size:.9rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.account-summary-identity small,.balance-amount-block p{color:var(--color-text-secondary);font-size:.75rem;font-weight:400;line-height:1.4}.balance-panel .plain-icon-button{flex:0 0 auto;background:var(--color-surface-soft);border-color:transparent;color:var(--color-text-secondary)}.balance-panel .plain-icon-button:hover{background:var(--color-primary-soft);color:var(--color-primary)}.balance-amount-block{margin-top:22px}.hero-balance{display:block;margin-top:5px;font-size:clamp(2rem,4vw,2.5rem);font-weight:600;line-height:1.12;white-space:nowrap}.account-iban{font-variant-numeric:tabular-nums;letter-spacing:.015em}.balance-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--color-surface);border-top:1px solid var(--color-border)}.balance-metrics>div{min-width:0;padding:16px 18px;border-right:1px solid var(--color-border)}.balance-metrics>div:last-child{border-right:0}.balance-metrics dt{color:var(--color-text-secondary);font-size:.72rem;font-weight:500;line-height:1.35}.balance-metrics dd{margin-top:5px;overflow:hidden;color:var(--color-text);font-size:clamp(.8rem,2vw,.98rem);font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.balance-metrics dd.income{color:var(--color-positive)}.balance-metrics dd.spending{color:var(--color-text)}.balance-metrics dd.rewards{color:var(--color-positive)}.quick-action-section{display:flex;align-items:center;gap:18px;margin:18px 0 24px}.quick-action-section h2{flex:0 0 auto;color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.35}.quick-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,450px);gap:8px}.quick-action-grid button{display:flex;min-height:46px;align-items:center;justify-content:center;gap:8px;padding:9px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text);font-size:.8rem;font-weight:600;line-height:1.3}.quick-action-grid button:first-child{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.quick-action-grid button:hover{background:var(--color-surface-soft);border-color:var(--color-primary)}.quick-action-grid button:first-child:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.quick-action-grid svg{width:18px;height:18px}.chart-panel,.category-panel,.latest-panel,.upcoming-panel,.goal-panel{padding:22px}.dashboard-page .panel{border-color:var(--color-border);border-radius:var(--radius-medium)}.dashboard-page .category-glyph{width:40px;height:40px;border-radius:50%;font-weight:600;line-height:1}.dashboard-page .panel-heading h2{font-size:1.25rem;font-weight:600;line-height:1.3}.dashboard-page .panel-heading a{font-weight:600}.chart-panel .panel-heading>strong{color:var(--color-primary-hover);font-size:.95rem;font-weight:600;white-space:nowrap}.bar-chart{position:relative;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:clamp(6px,2vw,18px);height:238px;margin-top:20px;padding:14px 5px 0;border-bottom:1px solid var(--line)}.chart-grid-lines{position:absolute;inset:14px 0 29px;display:flex;flex-direction:column;justify-content:space-evenly;pointer-events:none}.chart-grid-lines i{width:100%;border-top:1px solid var(--line)}.chart-bar{position:relative;z-index:1;display:grid;height:100%;grid-template-rows:1fr auto;align-items:end;gap:8px;padding:0;background:transparent;border:0}.chart-bar>span{display:block;width:min(100%,36px);height:var(--bar-size);justify-self:center;background:#d52b1e3d;border-radius:4px 4px 1px 1px}.chart-bar.is-active>span{background:var(--color-primary)}.chart-bar:hover>span{background:var(--color-primary)}.chart-bar small{color:var(--muted);font-size:.7rem;font-weight:500}.chart-bar.is-active small{color:var(--color-primary-hover)}.chart-status{min-height:20px;margin-top:9px;color:var(--muted-dark);font-size:.74rem;font-weight:500;text-align:right}.category-breakdown{display:grid;margin-top:15px}.category-breakdown li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:59px;border-top:1px solid var(--line)}.category-copy{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px}.category-breakdown strong{overflow:hidden;font-size:.84rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.category-breakdown small{color:var(--muted);font-size:.7rem;font-weight:400}.category-amount{font-size:.78rem;font-weight:600;white-space:nowrap}.category-period{margin-top:3px;color:var(--muted);font-size:.72rem}.category-breakdown .category-empty{grid-template-columns:1fr;color:var(--muted);font-size:.78rem}.latest-panel .panel-heading{margin-bottom:7px}.transaction-list li{border-top:1px solid var(--line)}.transaction-row{display:grid;width:100%;min-height:66px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;background:transparent;border:0;text-align:left}.transaction-copy{display:grid;min-width:0;align-content:center}.transaction-copy strong{overflow:hidden;font-size:.84rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.transaction-copy small{color:var(--muted);font-size:.71rem;font-weight:400;line-height:1.35;white-space:normal}.transaction-meta{display:flex;min-width:0;align-items:center;gap:7px;margin-top:3px}.transaction-meta small{min-width:0}.transaction-meta .status-chip{flex:0 0 auto;padding:2px 6px;font-size:.58rem;font-weight:600}.transaction-value,.table-amount{font-size:.76rem;white-space:nowrap}.transaction-value,.table-amount{font-weight:600}.transaction-value.income,.table-amount.income,.transaction-detail-hero strong.income{color:var(--success)}.transaction-value.refund,.table-amount.refund,.transaction-detail-hero strong.refund{color:var(--ink)}.transaction-value.neutral,.table-amount.neutral,.transaction-detail-hero strong.neutral{color:var(--muted-dark)}.upcoming-panel ul{margin-top:8px}.upcoming-panel li{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line)}.upcoming-panel li>span{display:grid}.upcoming-panel strong{font-size:.82rem;font-weight:600;line-height:1.35}.upcoming-panel small{margin-top:3px;color:var(--muted);font-size:.68rem;font-weight:400;line-height:1.35}.upcoming-panel b{color:var(--ink);font-size:.78rem;font-weight:600;white-space:nowrap}.empty-inline{margin-top:18px;color:var(--muted);font-size:.8rem}.goal-panel>strong{display:block;margin-top:18px;font-weight:600;line-height:1.35}.goal-panel>p{margin-top:5px;color:var(--muted);font-size:.75rem;font-weight:400;line-height:1.4}.progress-track{height:7px;margin:16px 0 8px;overflow:hidden;background:var(--canvas);border-radius:4px}.progress-track span{display:block;height:100%;background:var(--color-primary)}.goal-panel>small{color:var(--muted-dark);font-size:.7rem;font-weight:500;line-height:1.4}.payment-progress{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;cursor:default}.payment-progress li{position:relative;display:grid;min-width:0;min-height:50px;grid-template-rows:26px auto;align-content:start;justify-items:center;gap:7px;padding-inline:4px;color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.3;text-align:center}.payment-progress li:not(:last-child):after{position:absolute;top:12px;left:calc(50% + 13px);width:calc(100% - 26px);height:1px;background:var(--line-strong);content:""}.payment-progress-marker{position:relative;z-index:1;display:grid;width:26px;height:26px;place-items:center;background:var(--surface);border:1px solid var(--line-strong);border-radius:50%;color:var(--muted-dark);font-size:.68rem;font-weight:600}.payment-progress-marker svg{width:13px;height:13px}.payment-progress li.is-complete:after{background:var(--color-primary)}.payment-progress li.is-complete .payment-progress-marker,.payment-progress li.is-current .payment-progress-marker{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.payment-progress li.is-current{color:var(--ink);font-weight:600}.payment-progress-label{min-width:0}.payment-flow{min-width:0;padding:18px}.payment-form{display:grid;gap:16px}.form-section{min-width:0;padding-bottom:16px;border-bottom:1px solid var(--line)}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.recipient-options{display:grid;gap:4px;max-height:245px;margin-top:10px;overflow-y:auto}.recipient-option{position:relative;display:grid!important;min-height:58px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 16px 8px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer}.recipient-option input{position:absolute;width:1px;height:1px;min-height:1px;opacity:0;pointer-events:none}.recipient-option:hover{background:var(--color-surface-soft)}.recipient-option:has(input:checked){background:var(--color-surface);border-color:var(--color-border)}.recipient-option:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.recipient-option>span:nth-of-type(2){display:grid;min-width:0;align-content:center;gap:1px}.recipient-option .recipient-initials{display:grid;width:36px;height:36px;place-items:center;align-self:center;background:var(--color-surface-soft);border-radius:50%;color:var(--color-primary-hover);font-weight:600;line-height:1}.recipient-option strong{overflow:hidden;font-size:.82rem;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.recipient-option small{color:var(--color-text-secondary);font-size:.7rem;font-weight:400;line-height:1.35}.recipient-check{width:22px;height:22px;padding:4px;background:var(--color-primary);border-radius:50%;color:#fff;opacity:0}.recipient-option:has(input:checked) .recipient-check{opacity:1}.amount-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;margin-top:3px;border:1px solid var(--control-border);border-radius:var(--radius-sm)}.amount-input span{padding-left:14px;color:var(--muted-dark);font-size:1rem;font-weight:600}.amount-input input{min-height:66px;border:0;-moz-appearance:textfield;appearance:textfield;font-size:1.8rem;font-weight:600}.amount-input input::-webkit-inner-spin-button,.amount-input input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.amount-input:has(input[aria-invalid=true]){border-color:var(--danger)}.amount-input:focus-within{outline:3px solid var(--accent);outline-offset:3px}.amount-input input:focus{outline:none}.available-line{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:7px;color:var(--muted);font-size:.72rem}#schedule-date-wrap{margin:8px 0}#schedule-payment{accent-color:var(--color-primary)}.aside-summary{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink)}.aside-summary span,.aside-summary small{display:block;color:var(--muted);font-size:.72rem}.aside-summary strong{display:block;margin:5px 0;font-size:1.55rem}.recent-recipients{padding:18px}.recent-recipients ul{margin-top:8px}.recent-recipients li{border-top:1px solid var(--line)}.recent-recipients button{display:grid;width:100%;min-height:65px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 0;background:transparent;border:0;text-align:left}.recent-recipients button>span:nth-child(2){display:grid}.recent-recipients strong{font-size:.8rem}.recent-recipients small{color:var(--muted);font-size:.68rem}.recent-recipients svg{width:17px;color:var(--muted)}.review-card{max-width:680px;margin:0 auto}.review-recipient{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid var(--line)}.review-recipient>div{display:grid}.review-recipient small,.review-recipient span{color:var(--muted);font-size:.72rem}.review-recipient strong{font-size:1rem}.review-list>div{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.review-list dt{color:var(--muted);font-size:.76rem}.review-list dd{font-size:.8rem;font-weight:600;text-align:right}.review-list .review-total{min-height:78px}.review-total dd{font-size:1.5rem}.receipt-card,.cancelled-state{max-width:620px;margin:0 auto;text-align:center}.success-mark,.cancel-mark{display:grid;width:56px;height:56px;margin:4px auto 13px;place-items:center;background:var(--success-soft);border-radius:50%;color:var(--success)}.cancel-mark{background:var(--danger-soft);color:var(--danger)}.success-mark svg,.cancel-mark svg{width:28px}.status-label{margin:0 auto 10px}.receipt-card>p,.cancelled-state p{margin:8px auto 0;color:var(--muted)}.receipt-amount{display:block;margin:24px 0 15px;font-size:clamp(2rem,8vw,3.2rem)}.receipt-details{margin:0 auto;border-top:1px solid var(--line)}.receipt-details>div{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.receipt-details dt{color:var(--muted);font-size:.75rem}.receipt-details dd{overflow-wrap:anywhere;font-size:.78rem;font-weight:600;text-align:right}.receipt-actions{justify-content:center}.receipt-card>.wide{margin-top:10px}.cancelled-state{padding:44px 10px}.cancelled-state .button{margin-top:24px}.qr-dialog{width:min(100%,460px)}.qr-simulation{position:relative;display:grid;width:180px;height:180px;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 auto 18px;padding:25px;overflow:hidden;background:var(--surface-soft);border:1px solid var(--line-strong)}.qr-simulation span{background:var(--color-primary-hover)}.qr-simulation span:nth-child(3n){transform:scale(.6)}.qr-simulation i{position:absolute;top:15px;right:15px;left:15px;height:3px;background:var(--accent);opacity:0}.qr-simulation.is-scanning i{opacity:1;animation:scan-line .65s ease-in-out infinite alternate}@keyframes scan-line{to{transform:translateY(145px)}}.qr-invoice{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 15px;padding:13px;background:var(--success-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.qr-invoice span{grid-column:1 / -1;color:var(--success);font-size:.68rem;font-weight:600}.scanner-status{min-height:20px;margin-top:12px;color:var(--muted-dark);font-size:.78rem;text-align:center}.rewards-page-header{margin-bottom:14px}.rewards-page-header .eyebrow{margin-bottom:4px}.rewards-page-header>div>p:last-child{margin-top:6px}.rewards-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.rewards-summary>div{min-width:0;padding:10px 14px}.rewards-summary>div:nth-child(odd){border-right:1px solid var(--color-border)}.rewards-summary>div:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.rewards-summary dt{color:var(--color-text-secondary);font-size:.68rem;font-weight:500}.rewards-summary dd{margin-top:2px;color:var(--color-text);font-size:1rem;font-weight:600}.rewards-filters{grid-template-columns:1fr;align-items:end;gap:10px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.rewards-filters .search-control{position:relative;display:block;margin:0}.rewards-filters .search-control svg{top:50%}.rewards-filters input[type=search]{min-height:44px;border-color:var(--color-control-border)}.rewards-filters .saved-only{min-height:44px;align-self:end;padding-inline:4px}.rewards-reset{min-height:44px;white-space:nowrap}.reward-card{display:grid;align-self:start;min-width:0;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.reward-card.is-used,.reward-card.is-expired{background:#faf9f7}.reward-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px}.reward-card .merchant-monogram{width:36px;height:36px;background:var(--color-primary-soft);border:1px solid #f1d4d0;border-radius:50%;color:var(--color-primary-hover)}.reward-merchant{min-width:0}.reward-merchant h2{overflow:hidden;font-size:1rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.reward-merchant p{margin-top:2px;overflow:hidden;color:var(--color-text-secondary);font-size:.7rem;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.reward-card-controls{display:block}.reward-value{flex:0 0 auto;padding:4px 7px;background:var(--color-primary);border-radius:var(--radius-small);color:#fff;font-size:.72rem;font-weight:600;line-height:1.25;white-space:nowrap}.is-used .reward-value{background:var(--color-primary-soft);color:var(--color-text)}.is-expired .reward-value{background:#eceae7;color:var(--color-text-secondary)}.reward-save-button{display:grid;width:44px;height:44px;padding:0;place-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-small);color:var(--color-text-secondary)}.reward-save-button svg{width:20px;height:20px}.reward-save-button.is-saved{background:var(--color-primary-soft);border-color:#e9a49d;color:var(--color-primary)}.reward-offer{display:flex;align-items:flex-start;gap:10px;margin-top:12px}.reward-benefit{min-width:0;color:var(--color-text);font-size:.84rem;font-weight:400;line-height:1.35}.reward-facts{display:grid;margin-top:12px;padding-block:8px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.reward-facts>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.reward-facts dt{color:var(--color-text-secondary);font-size:.66rem;font-weight:500}.reward-facts dd{margin-top:0;overflow-wrap:anywhere;color:var(--color-text);font-size:.71rem;font-weight:500}.reward-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;margin-top:12px}.reward-actions .button{width:100%;min-width:0;min-height:44px;padding:8px;font-size:.72rem}.reward-status-control{min-width:84px;min-height:44px;justify-self:end;justify-content:center;padding:8px 12px;border:1px solid var(--color-border);cursor:not-allowed}.reward-status-control[aria-disabled=true]{background:#eceae7;border-color:#eceae7;color:var(--color-text-secondary)}.offer-state.used,.offer-state.expired{gap:4px;border-radius:var(--radius-small)}.offer-state.used{background:var(--color-primary-soft);color:var(--color-text)}.offer-state.used svg{width:12px;height:12px;color:var(--color-primary)}.offer-state.expired{background:#eceae7;color:var(--color-text-secondary)}.rewards-page .results-heading{min-height:42px}.reward-grid{align-items:start}.reward-confirm-summary,.reward-detail-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-small)}.reward-confirm-summary>span:nth-child(2),.reward-detail-heading>span:nth-child(2){display:grid;min-width:0}.reward-confirm-summary small,.reward-detail-heading small{margin-top:3px;color:var(--color-text-secondary);font-size:.7rem;font-weight:400}.reward-detail-heading{margin-bottom:12px}.reward-dialog-facts{display:grid;margin-top:12px}.reward-dialog-facts>div{padding:12px 0;border-bottom:1px solid var(--color-border)}.reward-dialog-facts dt{color:var(--color-text-secondary);font-size:.72rem;font-weight:500}.reward-dialog-facts dd{margin-top:4px;overflow-wrap:anywhere;font-size:.82rem}.reward-detail-list dd{font-weight:500}.rewards-empty{grid-column:1 / -1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}.rewards-empty .button{margin-top:18px}.table-panel{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse;table-layout:fixed}.transactions-table thead{background:var(--surface-soft)}.transactions-table th,.transactions-table td{padding:13px 14px;border-bottom:1px solid var(--line);font-size:.75rem;text-align:left}.transactions-table thead th{color:var(--muted-dark);font-size:.68rem;text-transform:uppercase}.transactions-table thead th:nth-child(1){width:12%}.transactions-table thead th:nth-child(2){width:34%}.transactions-table thead th:nth-child(3){width:17%}.transactions-table thead th:nth-child(4){width:17%}.transactions-table thead th:nth-child(5){width:20%;text-align:right}.transactions-table tbody tr:last-child th,.transactions-table tbody tr:last-child td{border-bottom:0}.transaction-name-button{display:grid;width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0;background:transparent;border:0;text-align:left}.transaction-name-button>span:nth-child(2){display:grid;min-width:0}.transaction-name-button strong,.transaction-name-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-name-button strong{font-size:.78rem}.transaction-name-button small{color:var(--muted);font-size:.68rem;font-weight:500}.transactions-table .table-amount{text-align:right}.transaction-detail-hero{display:grid;justify-items:center;margin-bottom:18px;text-align:center}.transaction-detail-hero h3{margin-top:10px}.transaction-detail-hero p{margin-top:3px;color:var(--muted);font-size:.78rem}.transaction-detail-hero>strong{margin:18px 0 8px;font-size:1.8rem}.transaction-status-explanation dd{color:var(--muted-dark);font-weight:500;line-height:1.45}.reference-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:419px){.topbar,#main-content{padding-inline:14px}.page-header{align-items:flex-start;flex-direction:column}.page-header .button,.account-selector{width:100%}.balance-metrics{grid-template-columns:1fr}.balance-metrics>div{display:flex;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.balance-metrics>div:last-child{border-bottom:0}.quick-action-grid button{flex-direction:column;align-items:center}.quick-action-section{align-items:flex-start;flex-direction:column;gap:9px}.payment-progress li{gap:5px;font-size:.65rem}.rewards-filters{grid-template-columns:1fr}.reward-actions{width:100%}.reward-actions .button{flex:1}.flow-actions.three{flex-wrap:wrap}.flow-actions.three>*{flex:1 1 42%}}@media(max-width:767px){.page-header{align-items:flex-start;margin-bottom:22px}.page-header h1{font-size:2rem}.page-header>div>p:last-child{font-size:.88rem}.dashboard-header .dashboard-date{font-size:.78rem}.mobile-nav a span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel .search-field,.transaction-search,.reset-filters{grid-column:1 / -1}.rewards-page-header{margin-bottom:12px}.rewards-summary>div{padding:8px 12px}.rewards-filters{gap:8px;padding:10px}.rewards-filters label>span:not(.visually-hidden,.search-control){margin-bottom:3px}.rewards-filters .select-wrapper select,.rewards-filters input[type=search],.rewards-reset{min-height:44px}.saved-only{align-self:center}.qr-launch{white-space:nowrap}.transactions-table,.transactions-table tbody{display:block}.transactions-table thead{display:none}.transactions-table tr{display:grid;grid-template-columns:1fr auto;padding:14px;border-bottom:1px solid var(--line)}.transactions-table th,.transactions-table td{display:block;width:auto;padding:0;border:0}.transactions-table th{grid-column:1 / -1;grid-row:1;margin-bottom:12px}.transactions-table td:nth-child(1){grid-column:1;grid-row:2;color:var(--muted)}.transactions-table td:nth-child(3){display:none}.transactions-table td:nth-child(4){grid-column:1;grid-row:3;margin-top:7px}.transactions-table td:nth-child(5){grid-column:2;grid-row:2 / span 2;align-self:center}.transaction-name-button .category-glyph{width:38px;height:38px}.transaction-name-button small{overflow:visible;line-height:1.35;text-overflow:clip;white-space:normal}.dialog-actions,.receipt-actions{align-items:stretch;flex-direction:column-reverse}.dialog-actions>*,.receipt-actions>*{width:100%}}@media(max-width:599px){.transaction-filters{width:100%;min-width:0;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;background:transparent;border:0;border-radius:0}.transaction-filters>*,.transaction-filters .select-wrapper,.transaction-filters select{width:100%;min-width:0;max-width:100%}.transaction-filters .transaction-search,.transaction-filters .transaction-category-field,.transaction-filters .transaction-type-field,.transaction-filters .reset-filters{grid-column:1 / -1}.transaction-filters .select-wrapper select{padding-right:40px;padding-left:14px;font-size:1rem}.transaction-filters input[type=date]{font-size:1rem}.transaction-filters .select-chevron{right:14px;width:14px;height:14px}}@media(max-width:430px){.transaction-search,.transaction-search input{width:100%;min-width:0;max-width:100%}.transaction-search input{padding-right:14px;padding-left:48px}.transaction-search svg{top:50%;left:18px}}@media(max-width:389px){.transaction-filters{grid-template-columns:minmax(0,1fr)}.transaction-filters>*{grid-column:1}}@media(max-width:340px){.rewards-filters .reward-category-filter,.rewards-filters .reward-status-filter{grid-column:1 / -1}}@media(max-width:899px){:where(#app-shell,#dialog-root) input,:where(#app-shell,#dialog-root) select,:where(#app-shell,#dialog-root) textarea,.language-control select,.account-selector select{font-size:1rem}.rewards-filters .reward-category-filter,.rewards-filters .reward-status-filter{grid-column:span 2}.topbar{min-height:57px;gap:8px;padding:4px 16px}.mobile-brand{min-width:0;gap:8px}.mobile-brand .brand-mark{width:40px;height:40px}.mobile-brand strong{white-space:nowrap}.topbar-actions{flex:0 0 auto;gap:6px}.language-control .select-wrapper{width:96px}.language-control select{height:48px;min-height:48px}#preferences-button{width:48px;height:48px}.recipient-options{max-height:none;overflow-y:visible}#main-content:has(.rewards-page){padding-top:16px}.rewards-page-header{margin-bottom:8px}.rewards-page-header h1{font-size:2.125rem;line-height:1.05}.rewards-page-header>div>p:last-child{margin-top:4px;font-size:1rem;line-height:1.35}.rewards-summary{margin-bottom:10px}.rewards-summary>div{padding:8px 12px}.rewards-summary dt{font-size:.8125rem;line-height:1.2}.rewards-summary dd{margin-top:1px;font-size:1.4375rem;line-height:1.1}.rewards-filters{gap:6px;padding:8px}.rewards-filters label>span:not(.visually-hidden,.search-control){margin-bottom:2px;line-height:1.1}.rewards-filters .select-wrapper select,.rewards-filters input[type=search],.rewards-reset{height:44px;min-height:44px}.rewards-page .results-heading{min-height:30px}.hero-balance{font-size:clamp(2rem,8vw,2.25rem)}}@media(min-width:600px){#main-content{padding:36px 28px 110px}.balance-main{padding:28px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-panel,.latest-panel{grid-column:1 / -1}.quick-action-grid{max-width:450px}.quick-action-grid button{min-height:46px;padding:9px 12px}.payment-flow{padding:28px}.recipient-options,.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.topbar{padding-inline:28px}.filter-panel{grid-template-columns:repeat(4,minmax(0,1fr))}.rewards-filters .search-field{grid-column:span 2}.rewards-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.rewards-summary>div{border-right:1px solid var(--color-border);border-bottom:0!important}.rewards-summary>div:last-child{border-right:0}.transaction-filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.transaction-filters .transaction-search{grid-column:1 / -1}.reset-filters{align-self:end}}@media(min-width:900px){.app-shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;width:var(--sidebar-width);height:100vh;flex-direction:column;padding:25px 16px 20px;background:var(--surface);border-right:1px solid var(--line);color:var(--ink)}.sidebar .brand{padding:0 8px;color:var(--ink)}.brand>span:last-child{display:grid}.brand strong{font-size:1.16rem;font-weight:600}.brand-mark{width:38px;height:38px;font-size:.8rem}.brand small{color:var(--muted);font-size:.68rem}.primary-nav{order:1;display:grid;gap:4px;margin-top:34px}.primary-nav a{display:flex;min-height:48px;align-items:center;gap:12px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted-dark);font-size:.82rem;font-weight:600;text-decoration:none}.primary-nav a svg{width:20px;height:20px}.primary-nav a.is-active{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.primary-nav a.is-active svg{color:var(--accent)}.mobile-brand,.mobile-nav{display:none}.topbar{justify-content:flex-end;min-height:68px;padding:12px clamp(28px,4vw,52px);background:var(--canvas);border-bottom:0}#preferences-button{position:fixed;bottom:91px;left:24px;z-index:45;display:flex;width:calc(var(--sidebar-width) - 48px);min-height:44px;align-items:center;justify-content:flex-start;gap:10px;padding:0 11px;background:var(--surface);border-color:var(--line)}#preferences-button .preferences-label{display:inline;font-size:.76rem;font-weight:600}#main-content{min-height:calc(100vh - 190px);padding:18px clamp(28px,4vw,52px) 58px}.toast{right:30px;bottom:30px;left:auto;margin:0}.balance-panel{grid-template-columns:minmax(220px,.85fr) minmax(340px,1.15fr)}.balance-metrics{align-items:center;border-top:0;border-left:1px solid var(--line)}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr)}.chart-panel{grid-column:1}.category-panel{grid-column:2}.latest-panel{grid-column:1}.side-stack{grid-column:2}.payment-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.65fr);align-items:start}.payment-aside{position:sticky;top:20px}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-panel{padding:18px}.rewards-filters{padding:12px}}@media(min-width:1320px){.reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rewards-filters{grid-template-columns:minmax(260px,2fr) repeat(2,minmax(145px,1fr)) minmax(125px,.75fr) auto}.rewards-filters .search-field{grid-column:auto}.transaction-filters{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.transaction-filters .transaction-search{grid-column:1 / -1}}
