/* Selected design pair: Soft & playful / Dark & luminous. */
html[data-appearance]{
  color-scheme:light; font-family:"Trebuchet MS",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ink:#29243c;--muted:#756b83;--purple:#7555be;--border:#e8dff1;
  --surface:#fff;--surface-raised:#fff;--soft:#f6f1fc;--soft-strong:#ebe1fa;
  --canvas:linear-gradient(160deg,#f6f2fb,#fff5ec);--offer-header:linear-gradient(120deg,#e8dcfa,#f9e6d5);
  --button: #7555be;--button-ink:#fff;--button-shadow:0 5px 0 #5b41a614;
  --card-shadow:0 10px 26px #7050b511;--success:#28785e;--success-bg:#e2f3eb;
  --warning:#855723;--warning-bg:#fff0dd;--danger:#a33e59;--danger-bg:#fcebf0;
  --nav-bg:#fffffff2;--bundle-line:#ded4ec;--text:#29243c;--text-muted:#756b83;
  --active:#7555be;--active-bg:#ebe1fa;--progress:#7555be;
  background:#f6f2fb;color:var(--ink);
}
html[data-appearance=dark]{
  color-scheme:dark;font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,sans-serif;
  --ink:#f2f5fa;--muted:#b2bed0;--purple:#bcebd9;--border:#40506a;
  --surface:#1e2b3f;--surface-raised:#233044;--soft:#151f31;--soft-strong:#344364;
  --canvas:radial-gradient(ellipse at top right,#293250,#141d2d 62%);
  --offer-header:linear-gradient(110deg,#344261,#29364d);
  --button:linear-gradient(100deg,#bcebd9,#91d5c5);--button-ink:#152a25;
  --button-shadow:0 5px 18px #74d1b417;--card-shadow:0 10px 24px #080e1a30;
  --success:#b4ead7;--success-bg:#24473f;--warning:#f5d49b;--warning-bg:#463923;
  --danger:#ffc0cf;--danger-bg:#452c3a;--nav-bg:#151e2ff5;--bundle-line:#43516a;
  --text:#f2f5fa;--text-muted:#b2bed0;--active:#dbcfff;--active-bg:#40395e;--progress:#b6a2ee;
  background:#141d2d;
}
html[data-appearance] body{background:var(--canvas);background-attachment:fixed;color:var(--ink)}
html[data-appearance] :is(button,input,select,textarea){font-family:inherit}
html[data-appearance] :is(h1,h2,h3,h4,strong,.brand,.transaction-amount,.earned-amount,.bank-header-reward,.bundle-discovery-reward,.deposit-facts strong,.bonus-progress-reward strong,.choice-amount,.checklist b,.install-row strong){color:var(--ink)}
html[data-appearance] :is(h1,h2,h3){font-weight:850}
html[data-appearance=dark] :is(h1,h2,h3){font-weight:650}
html[data-appearance] :is(.muted,.eyebrow,.deadline,.desktop-greeting,.preview-bar,.preview-bar .text-button,.workspace-label,.reward span,.progress-copy strong span,.progress-copy>span,.transaction-info span,.account-status,.sync-time,.next-action,.offer-summary,dt,.fineprint p,.privacy-list li,.privacy-list strong,.onboarding-steps small,.preview-note,footer,dialog>p,.checklist p,.consent-box p,.checkbox,label small,.connection p,.branch-note,.location-banner p,.home-dates li small,.home-date-note,.home-date-empty,.home-start p,.choice-intro,.card-fact,.extra-guide-reward span,.extra-guide-requirements p,.extra-guide-opening p,.bundle-discovery-opening,.bundle-discovery-note,.bundle-discovery-reward>span,.bundle-progress-header small,.bundle-progress-facts p,.bundle-fact-date,.bundle-next p,.bundle-test-note,.bundle-progress-details,.bundle-setup-intro p,.bundle-account-choices p,.deposit-source-note,.deposit-facts span,.deposit-facts small,.deposit-step small,.deposit-count>span,.bonus-progress-context,.bonus-progress-reward span,.progress-fineprint dd,.offer-essentials dd span,.choice-amount small,.card-bonus-header>strong small){color:var(--muted)}
html[data-appearance] :is(a,.text-button,.progress-details summary):not(.primary,.secondary){color:var(--purple)}
html[data-appearance] :is(.sidebar,.app-topbar){background:var(--nav-bg);border-color:var(--border)}
html[data-appearance] .layout>main{background:transparent}
html[data-appearance] .brand{font-weight:850}
html[data-appearance=dark] .brand{font-weight:650}
html[data-appearance=dark] .brand img{padding:3px;background:#e4dcfb;border-radius:8px}
html[data-appearance] :is(.track-card,.panel,.transaction-list,.bonus-progress-card,.bundle-progress-card,.home-dates,.offer-card,.install-row){background:var(--surface);border-color:var(--border);border-radius:28px;box-shadow:var(--card-shadow);color:var(--ink)}
html[data-appearance=light] :is(.offer-card,.bonus-progress-card,.bundle-progress-card){border:0}
html[data-appearance=dark] :is(.bonus-progress-card,.bundle-progress-card){background:linear-gradient(135deg,#233044,#1b2638);border-radius:24px}
html[data-appearance] :is(.primary,.secondary){border-radius:40px;min-height:48px;letter-spacing:-.2px;font-weight:750}
html[data-appearance] .primary{background:var(--button);color:var(--button-ink);box-shadow:var(--button-shadow)}
html[data-appearance] .secondary{background:transparent;border:1px solid var(--purple);color:var(--purple);box-shadow:none}
html[data-appearance=light] .secondary{border-width:2px}
html[data-appearance] .primary:disabled{box-shadow:none}
html[data-appearance] :is(.topbar-actions,.welcome-actions){display:flex;align-items:center;gap:10px}
html[data-appearance] .appearance-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:var(--soft-strong);border:1px solid var(--border);color:var(--active);padding:0}
html[data-appearance] .appearance-toggle .icon{width:21px;height:21px}
html[data-appearance] .top-avatar{background:#f4d8bf;color:#7b523b;border:0;outline:none}
html[data-appearance=dark] .top-avatar{background:#302c4a;color:#dbcfff}
html[data-appearance] .welcome-actions{position:absolute;right:22px;top:22px;z-index:2}
html[data-appearance] .welcome{position:relative;background:var(--canvas)}
html[data-appearance] :is(.welcome-form,.welcome-story){background:transparent;color:var(--ink)}
html[data-appearance] .welcome-story h1 em{color:var(--purple)}
html[data-appearance] :is(.welcome-story p,.welcome-disclaimer,.welcome-form>.muted,.native-welcome-brand p){color:var(--muted)}
html[data-appearance] :is(.auth-details,.auth-details summary){color:var(--ink);border-color:var(--border)}
html[data-appearance] :is(.pill,.sandbox-label,.home-section-heading h2>span,.section-title h2>span,.step-lilac,.source-option:has(input:checked),.eligibility-answers .chosen){background:var(--active-bg);color:var(--active);border-color:var(--active)}
html[data-appearance] :is(.pill.success,.bundle-practice-label,.region-match,.period-met .period-icon,.deposit-state.is-met,.eligibility-result,.step-mint){background:var(--success-bg);color:var(--success);border-color:var(--success)}
html[data-appearance] :is(.region-check,.choice-warning,.review-block,.manual-check,.bundle-attention,.deposit-state.needs-attention,.eligibility-result.is-review,.step-peach,.home-date-badge){background:var(--warning-bg);color:var(--warning);border-color:var(--border)}
html[data-appearance] :is(.danger,.form-error){color:var(--danger)}
html[data-appearance] :is(.eligibility-result.is-restricted,.period-missed .period-icon,.home-dates .date-ended .home-date-badge){background:var(--danger-bg);color:var(--danger)}
html[data-appearance] :is(.pill.neutral,.icon-button,.filter-tabs,.consent-box,.source-option,.sidebar-note,.info-banner,.native-welcome-brand,.location-zip,.manage-note,.area-choices,.offer-choice,.history-entry,.progress-account-details,.timing-callout,.deposit-setup,.deposit-state){background:var(--soft);color:var(--ink);border-color:var(--border)}
html[data-appearance] :is(.nav-item,.bundle-connected-steps li){color:var(--muted)}
html[data-appearance] .nav-item{border-radius:24px}
html[data-appearance] .nav-item.active{background:var(--soft-strong);color:var(--active)}
html[data-appearance=dark] .nav-item.active{background:#273f43;color:#b7ead9}
html[data-appearance] .nav-item b{border-color:var(--surface)}
html[data-appearance] :is(.sidebar-note p,.sidebar-note strong,.profile-button strong){color:var(--ink)}
html[data-appearance] :is(.note-art,.next-step-icon,.location-symbol,.transaction-icon){background:var(--soft-strong);color:var(--active)}
html[data-appearance] :is(.next-step,.home-start,.location-banner,.profile-intro,.profile-earnings,.bundle-practice-start,.bundle-choice){background:var(--surface);border-color:var(--border);color:var(--ink)}
html[data-appearance] :is(.next-step p,.next-step .eyebrow,.profile-intro p,.mini-stat>span:not(.stat-symbol),.mini-stat>small){color:var(--muted)}
html[data-appearance] :is(.mint,.peach,.blue,.green,.purple){background:var(--soft-strong);color:var(--active)}
html[data-appearance] :is(.reward-hero,.art-purple){background:var(--button);color:var(--button-ink)}
html[data-appearance] :is(.hero-copy>span,.hero-copy>strong,.hero-copy p,.hero-copy strong small,.hero-link,.art-purple>span,.art-purple>strong,.art-purple small){color:var(--button-ink)}
html[data-appearance] :is(.art-mint,.deposit-preview){background:var(--success-bg);color:var(--success)}
html[data-appearance] :is(.deposit-preview strong,.deposit-preview p,.deposit-preview .muted){color:var(--success)}
html[data-appearance] .art-peach{background:var(--warning-bg);color:var(--warning)}
html[data-appearance] .bonus-categories{background:var(--surface);border:0;border-radius:30px;box-shadow:0 3px 12px #7255c30d}
html[data-appearance] .bonus-categories button{color:var(--muted);border-radius:25px;font-weight:650}
html[data-appearance] :is(.bonus-categories .selected,.card-type-filter .selected,.filter-tabs .selected){background:var(--soft-strong);color:var(--active);border-color:var(--border)}
html[data-appearance] .card-type-filter button{background:var(--surface);color:var(--muted);border-color:var(--border)}
html[data-appearance] .card-type-filter .selected{background:var(--active-bg);color:var(--active)}
html[data-appearance] :is(.bank-offer-header,.bundle-discovery-head,.card-bonus-header){background:var(--offer-header)!important;color:var(--ink)}
html[data-appearance] :is(.bank-header-reward .offer-amount,.bank-header-reward .pill,.bundle-discovery-head h2,.bundle-discovery-reward strong,.card-bonus-header>strong){color:var(--ink)}
html[data-appearance] :is(.offer-amount span,.bank-header-reward .offer-amount span){color:var(--muted)}
html[data-appearance] :is(.bank-header-reward .pill,.bundle-label,.bundle-badge){background:#f4d8bf;color:#785234;border:0;border-radius:20px}
html[data-appearance=dark] :is(.bank-header-reward .pill,.bundle-label,.bundle-badge){background:#d2c4ff;color:#35255c}
html[data-appearance=dark] :is(.bank-header-mark .bank-brand,.bundle-discovery-top .bank-brand,.bundle-progress-header .bank-brand,.bonus-progress-head .bank-brand){background:#fff;padding:9px;border-radius:10px;height:auto;min-height:40px}
html[data-appearance=dark] :is(.bank-header-mark .bank-brand-fnbo,.bonus-progress-head .bank-brand-fnbo){background:#006341}
html[data-appearance] :is(.bundle-reward-parts,.bundle-discovery-requirements>span){background:var(--soft);border-color:var(--border);color:var(--ink);border-radius:18px}
html[data-appearance] :is(.bundle-reward-parts span,.bundle-reward-parts strong){color:var(--ink)}
html[data-appearance] .bundle-reward-parts>div+div{border-color:var(--border)}
html[data-appearance] :is(.bundle-progress-facts,.deposit-visual,.timing-check){background:var(--soft);border-color:var(--border);border-radius:23px}
html[data-appearance=dark] :is(.bundle-progress-facts,.deposit-visual){border:1px solid #2c3c54;border-radius:16px}
html[data-appearance] :is(.bundle-progress-facts section+section,.progress-details,.progress-account-details,.history-dates,.offer-essentials,.extra-guide-opening,.offer-before-apply,.connection,.transaction,.track-footer,.offer-body dl>div,.earned-row,.checklist p){border-color:var(--border)}
html[data-appearance] .bundle-progress-facts .bundle-fact-note{color:var(--muted)}
html[data-appearance] :is(.bundle-circle,.deposit-step-number,.period-icon,.eligibility-dots i,.flow-number,.bundle-setup-steps i){background:var(--soft);border-color:var(--border);color:var(--muted)}
html[data-appearance] .deposit-step-number{box-shadow:0 0 0 5px var(--surface)}
html[data-appearance] :is(.bundle-connected-steps .is-complete .bundle-circle,.bundle-circle.is-complete,.deposit-step.is-counted .deposit-step-number,.eligibility-dots .done){background:var(--success-bg);border-color:var(--success);color:var(--success)}
html[data-appearance] :is(.bundle-connected-steps .is-current .bundle-circle,.eligibility-dots .current){background:var(--active-bg);border-color:var(--active);color:var(--active)}
html[data-appearance=dark] .bundle-connected-steps .is-current .bundle-circle{box-shadow:0 0 18px #b7a5ec22}
html[data-appearance] :is(.bundle-connected-steps li.is-complete::after,.deposit-step.is-counted::after){background:var(--success)}
html[data-appearance] :is(.bundle-fact-check.is-complete,.deposit-count.is-met,.deposit-step.is-counted small,.review-ready){color:var(--success)}
html[data-appearance] :is(.deposit-step::after,.eligibility-dots i+i:before,.home-start-art i){background:var(--border)}
html[data-appearance] :is(.bundle-fact-check,.deposit-count){color:var(--active)}
html[data-appearance] :is(dialog,input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--surface);color:var(--ink);border-color:var(--border)}
html[data-appearance] dialog{box-shadow:0 24px 100px #0b101b55}
html[data-appearance] dialog::backdrop{background:#10142180}
html[data-appearance] :is(input,textarea)::placeholder{color:var(--muted)}
html[data-appearance] .code{background:var(--active-bg);color:var(--active);border-color:var(--border)}
html[data-appearance] :is(progress,.progress-track){background:var(--border);color:var(--progress)}
html[data-appearance] progress::-webkit-progress-bar{background:var(--border)}
html[data-appearance] progress::-webkit-progress-value{background:var(--progress)}
html[data-appearance] progress::-moz-progress-bar{background:var(--progress)}
html[data-appearance] #toast{background:var(--surface-raised);color:var(--ink);border-color:var(--border)}
@media(max-width:760px){
  html[data-appearance] .app-topbar{background:transparent;gap:8px;padding-left:20px;padding-right:20px}
  html[data-appearance] .mobile-brand{font-size:22px;letter-spacing:-.8px;gap:7px}
  html[data-appearance] .mobile-brand img{width:26px;height:26px}
  html[data-appearance] .topbar-actions{gap:7px}
  html[data-appearance] .top-avatar{width:32px;height:32px}
  html[data-appearance] .nav-item.active{border-radius:25px}
  html[data-appearance] :is(.bonus-progress-card,.bundle-progress-card){border-radius:28px;padding:21px 18px}
  html[data-appearance] .welcome-actions{top:14px;right:18px}
  html[data-appearance] .welcome-form{padding-top:65px}
}
@media(max-width:360px){html[data-appearance] .app-topbar{padding-left:14px;padding-right:14px}html[data-appearance] .mobile-brand{font-size:19px}html[data-appearance] .top-avatar{display:none}}

html[data-appearance] .brand{color:var(--ink)}
.offer-updates-panel{margin:18px 0}.offer-update-list section{padding:16px 0;border-bottom:1px solid var(--border)}.offer-update-list section p{margin:8px 0}

@media(max-width:760px){html[data-appearance] .progress-fineprint>div{display:block}html[data-appearance] .progress-fineprint dt{margin-bottom:6px}html[data-appearance] .progress-fineprint dd{margin-left:0}}
/* Manual home: selected Bonus wallet layout, in both appearance modes. */
.manual-wallet-home{max-width:1000px;margin:auto}
.manual-wallet-totals{display:flex;flex-wrap:wrap;gap:24px 44px;margin:4px 0 30px}
.manual-wallet-totals>div{display:grid;gap:5px}
.manual-wallet-totals span{font-size:13px;color:var(--muted)}
.manual-wallet-totals strong{font-size:30px;line-height:1.2;letter-spacing:-1px}
.manual-wallet-trackers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:32px}
.wallet-tracker{min-width:0;padding:0;border:0;background:transparent}
.manual-wallet-card{border-radius:24px;padding:24px;color:#fff;background:linear-gradient(125deg,#7957bf,#6546ab);box-shadow:0 7px 0 var(--soft-strong),0 13px 0 var(--border);margin:0 0 28px}
html[data-appearance=dark] .manual-wallet-card{background:linear-gradient(125deg,#514478,#3e355b);box-shadow:0 7px 0 #302b48,0 13px 0 #25263b}
.manual-wallet-bank{display:flex;align-items:center;gap:12px;min-width:0}
.manual-wallet-bank>div{min-width:0}
.manual-wallet-mark{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:13px;background:#ffffff24;font-size:13px;font-weight:750}
html[data-appearance] .manual-wallet-card :is(h2,strong){color:#fff}
.manual-wallet-card h2{font-size:19px;letter-spacing:-.4px}
.manual-wallet-bank p{font-size:12px;margin-top:4px;line-height:1.4;color:#f1eafb;overflow-wrap:anywhere}
.manual-wallet-card .manual-wallet-amount{font-size:42px;line-height:1.15;letter-spacing:-1.5px;display:block;margin:24px 0 3px;overflow-wrap:anywhere}
.manual-wallet-card>span{font-size:13px;color:#f1eafb}
.manual-card .manual-wallet-card progress{display:block;width:100%;height:7px;appearance:none;border:0;border-radius:8px;overflow:hidden;background:#ffffff30;margin:22px 0 10px;color:#fff;accent-color:#fff}
html[data-appearance] .manual-wallet-card progress::-webkit-progress-bar{background:#ffffff30}
html[data-appearance] .manual-wallet-card progress::-webkit-progress-value{background:#fff;border-radius:8px}
html[data-appearance] .manual-wallet-card progress::-moz-progress-bar{background:#fff;border-radius:8px}
.manual-wallet-progress{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;font-size:12px;color:#f1eafb}
.manual-wallet-received{font-size:12px;color:#f1eafb;margin-top:18px}
.manual-wallet-next{padding:22px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:21px;box-shadow:var(--card-shadow)}
.manual-wallet-next>.eyebrow{margin-bottom:9px}
.manual-wallet-next>h3{font-size:21px;line-height:1.35;letter-spacing:-.5px}
.manual-wallet-next>.primary,.manual-wallet-next>.secondary{margin-top:17px}
.manual-wallet-deadline{font-size:12px;color:var(--muted);margin-top:8px}
.manual-card .manual-wallet-checklist{margin:18px 0 0;border-top:1px solid var(--border);padding-top:8px}
.manual-wallet-checklist summary{font-size:13px;color:var(--purple);min-height:44px;align-content:center;cursor:pointer}
.manual-wallet-checklist .checkbox{padding:12px 0;margin:0;align-items:flex-start;gap:11px;font-size:13px}
.manual-wallet-checklist .checkbox input{flex-shrink:0;margin-top:3px}
.manual-wallet-checklist [role=status]{font-size:11px;margin-top:10px}
.manual-wallet-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;margin-top:6px}
.manual-wallet-explore{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);margin:28px 0;padding-top:22px}
.manual-wallet-explore h2{font-size:18px}
.manual-wallet-explore p{margin-top:5px}
.manual-wallet-note{font-size:12px;color:var(--muted);margin-top:24px}
.manual-wallet-received-heading{margin:28px 0 20px}
.manual-wallet-empty p{margin:12px 0}
@media(max-width:760px){.manual-wallet-home .page-heading{margin-bottom:22px}.manual-wallet-home h1{font-size:30px}.manual-wallet-totals{gap:36px;margin-bottom:26px}.manual-wallet-totals strong{font-size:27px}.manual-wallet-card{padding:22px}.manual-wallet-next{padding:20px}.manual-wallet-trackers{gap:30px}}
/* Receipt celebration only mounts after a successful first receipt save. */
.manual-receipt-amount{display:grid;gap:5px;text-align:center;padding:22px 14px;background:var(--soft);border:1px solid var(--border);border-radius:20px;margin:14px 0 22px}
.manual-receipt-amount>span,.manual-receipt-amount>small{color:var(--muted);font-size:13px}
.manual-receipt-amount>strong{font-size:42px;letter-spacing:-1.5px}
.manual-receipt-success{position:relative;text-align:center;padding:22px 8px 4px;isolation:isolate;overflow:hidden}
.manual-receipt-success>h2{font-size:38px;letter-spacing:-1.3px;line-height:1.2;margin:12px 0;animation:receipt-arrive .65s cubic-bezier(.2,.75,.25,1) both}
.manual-receipt-success>.eyebrow{margin:20px 0 6px;color:var(--purple)}
.manual-receipt-success>p{font-size:15px;line-height:1.65;color:var(--muted);margin:12px 0 20px}
.manual-receipt-success>.primary{margin-top:26px;position:relative}
.manual-receipt-success>p.small{font-size:12px;margin-bottom:8px}
.manual-receipt-medal{width:88px;height:88px;display:grid;place-items:center;border-radius:50%;background:var(--success-bg);color:var(--success);font-size:44px;font-weight:700;margin:8px auto;box-shadow:0 0 0 10px color-mix(in srgb,var(--success-bg) 45%,transparent);animation:receipt-medal .75s cubic-bezier(.22,.8,.3,1) both}
.manual-receipt-saved{display:inline-block;padding:7px 12px;border-radius:18px;background:var(--soft);color:var(--purple);font-size:12px}
.manual-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.manual-receipt-success>:not(.manual-confetti){position:relative;z-index:1}
.manual-confetti i{position:absolute;top:-16px;left:var(--x);width:7px;height:12px;border-radius:2px;background:var(--purple);opacity:0;animation:receipt-confetti 2.1s ease-out var(--delay) both}
.manual-confetti i:nth-child(3n){background:var(--success);border-radius:50%;width:8px;height:8px}
.manual-confetti i:nth-child(3n+1){background:var(--warning)}
@keyframes receipt-medal{0%{opacity:0;transform:scale(.7)}65%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes receipt-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes receipt-confetti{0%{opacity:0;transform:translateY(0) rotate(0deg)}12%{opacity:.8}75%{opacity:.7}100%{opacity:0;transform:translate(var(--drift),390px) rotate(var(--turn))}}
@media(prefers-reduced-motion:reduce){.manual-receipt-medal,.manual-receipt-success>h2{animation:none}.manual-confetti{display:none}}

/* Position confetti in the stylesheet; the app blocks inline styles. */
.manual-confetti i:nth-child(1){--x:0%;--drift:20px;--delay:0ms;--turn:0deg}
.manual-confetti i:nth-child(2){--x:37%;--drift:-32px;--delay:60ms;--turn:53deg}
.manual-confetti i:nth-child(3){--x:74%;--drift:44px;--delay:120ms;--turn:106deg}
.manual-confetti i:nth-child(4){--x:10%;--drift:-56px;--delay:180ms;--turn:159deg}
.manual-confetti i:nth-child(5){--x:47%;--drift:68px;--delay:240ms;--turn:212deg}
.manual-confetti i:nth-child(6){--x:84%;--drift:-20px;--delay:300ms;--turn:265deg}
.manual-confetti i:nth-child(7){--x:20%;--drift:32px;--delay:360ms;--turn:318deg}
.manual-confetti i:nth-child(8){--x:57%;--drift:-44px;--delay:0ms;--turn:371deg}
.manual-confetti i:nth-child(9){--x:94%;--drift:56px;--delay:60ms;--turn:424deg}
.manual-confetti i:nth-child(10){--x:30%;--drift:-68px;--delay:120ms;--turn:477deg}
.manual-confetti i:nth-child(11){--x:67%;--drift:20px;--delay:180ms;--turn:530deg}
.manual-confetti i:nth-child(12){--x:3%;--drift:-32px;--delay:240ms;--turn:583deg}
.manual-confetti i:nth-child(13){--x:40%;--drift:44px;--delay:300ms;--turn:636deg}
.manual-confetti i:nth-child(14){--x:77%;--drift:-56px;--delay:360ms;--turn:689deg}
.manual-confetti i:nth-child(15){--x:13%;--drift:68px;--delay:0ms;--turn:742deg}
.manual-confetti i:nth-child(16){--x:50%;--drift:-20px;--delay:60ms;--turn:795deg}
.manual-confetti i:nth-child(17){--x:87%;--drift:32px;--delay:120ms;--turn:848deg}
.manual-confetti i:nth-child(18){--x:23%;--drift:-44px;--delay:180ms;--turn:901deg}
.manual-confetti i:nth-child(19){--x:60%;--drift:56px;--delay:240ms;--turn:954deg}
.manual-confetti i:nth-child(20){--x:97%;--drift:-68px;--delay:300ms;--turn:1007deg}
.manual-confetti i:nth-child(21){--x:33%;--drift:20px;--delay:360ms;--turn:1060deg}
.manual-confetti i:nth-child(22){--x:70%;--drift:-32px;--delay:0ms;--turn:1113deg}
.manual-confetti i:nth-child(23){--x:6%;--drift:44px;--delay:60ms;--turn:1166deg}
.manual-confetti i:nth-child(24){--x:43%;--drift:-56px;--delay:120ms;--turn:1219deg}
.manual-confetti i:nth-child(25){--x:80%;--drift:68px;--delay:180ms;--turn:1272deg}
.manual-confetti i:nth-child(26){--x:16%;--drift:-20px;--delay:240ms;--turn:1325deg}
.manual-confetti i:nth-child(27){--x:53%;--drift:32px;--delay:300ms;--turn:1378deg}
.manual-confetti i:nth-child(28){--x:90%;--drift:-44px;--delay:360ms;--turn:1431deg}
/* Original bank artwork stays legible on the wallet card in either theme. */
.manual-wallet-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:92px;min-height:48px;padding:8px 9px;background:#fff;border-radius:11px}
.manual-wallet-logo .bank-brand{display:flex;align-items:center;justify-content:center;width:100%;height:32px;min-width:0;padding:0;background:transparent}
.manual-wallet-logo .bank-brand img{display:block;width:100%;height:32px;max-width:100%;max-height:32px;object-fit:contain;filter:none}
.manual-wallet-logo-dark{background:#006341}
/* Activity entries get their own readable hierarchy on small screens. */
.manual-activity-row{display:block;padding:20px 22px;margin:0 0 15px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:20px;box-shadow:var(--card-shadow)}
.manual-activity-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.manual-activity-heading h2{font-size:17px;line-height:1.4;margin:0;letter-spacing:-.25px;overflow-wrap:anywhere;flex:1;min-width:90px}
.manual-activity-heading .manual-activity-amount{font-size:21px;line-height:1.4;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.manual-activity-row .manual-activity-source{font-size:15px;line-height:1.55;margin:12px 0 4px;overflow-wrap:anywhere}
.manual-activity-row .manual-activity-note{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}
.manual-activity-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:14px;padding-top:9px}
.manual-activity-footer time{font-size:13px;color:var(--muted)}
.manual-activity-actions{display:flex;gap:22px;flex-wrap:wrap}
.manual-activity-actions .text-button{font-size:13px;min-height:44px;min-width:44px}
@media(max-width:760px){.manual-activity-row{padding:18px;margin-bottom:14px}.manual-activity-heading{gap:10px}.manual-activity-heading h2{font-size:17px}}
/* Profile uses one spacing rhythm instead of mixed panel and button margins. */
.manual-profile{max-width:760px;margin:auto}
.manual-profile-stack{display:grid;gap:20px}
.manual-profile-stack>*{margin:0;min-width:0}
.manual-profile-stack>.panel,.manual-profile-stack>.profile-intro,.manual-profile-stack>.delete-panel{padding:22px;border-radius:22px}
.manual-profile .manual-profile-intro{display:flex;align-items:center;gap:15px;border:1px solid var(--border)}
.manual-profile-intro>div{min-width:0;flex:1}
.manual-profile .manual-profile-intro h2{font-size:19px;line-height:1.4}
.manual-profile .manual-profile-intro p{max-width:none;font-size:13px;line-height:1.65;margin-top:5px}
.manual-profile .profile-earnings{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.manual-profile .profile-earnings .earned-amount{display:block;margin:7px 0 8px;font-size:34px}
.manual-profile .profile-earnings .eyebrow{margin:0}
.manual-profile .profile-earnings .secondary{flex-shrink:0}
.manual-profile-group>h2{font-size:14px;margin:4px 4px 10px;color:var(--muted)}
.manual-profile-links{overflow:hidden;border:1px solid var(--border);border-radius:22px;background:var(--surface);box-shadow:var(--card-shadow)}
html[data-appearance] .manual-profile-links>.install-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;margin:0;border:0;border-radius:0;box-shadow:none;text-align:left;min-height:88px}
html[data-appearance] .manual-profile-links>.install-row+ .install-row{border-top:1px solid var(--border)}
.manual-profile .install-row>span:first-child{min-width:0;flex:1 1 auto}
.manual-profile .install-row>span:last-child{flex:0 0 auto;color:var(--purple)}
.manual-profile .install-row strong{display:block;font-size:15px;line-height:1.45}
.manual-profile .install-row small{display:block;font-size:13px;line-height:1.65;margin-top:5px;white-space:normal;overflow-wrap:anywhere}
.manual-profile .panel>h2{font-size:17px;line-height:1.4;margin:0 0 10px}
.manual-profile .panel>p{font-size:14px;line-height:1.7;margin:0}
.manual-profile-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:17px}
.manual-profile-data h2{display:flex;align-items:center;gap:9px}
.manual-profile-data details{margin-top:14px}
.manual-profile-data summary{font-size:13px;color:var(--purple);min-height:44px;align-content:center;cursor:pointer}
.manual-profile-data details p{font-size:13px;line-height:1.75;margin:10px 0 0}
.manual-profile #offer-updates-panel:empty{display:none}
.manual-profile .manual-profile-delete{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:4px}
.manual-profile-delete h3{font-size:15px;line-height:1.5}
.manual-profile-delete p{font-size:13px;line-height:1.65;margin-top:5px}
.manual-profile-connections .connection{gap:15px;flex-wrap:wrap}
@media(max-width:760px){.manual-profile-stack{gap:18px}.manual-profile-stack>.panel,.manual-profile-stack>.profile-intro,.manual-profile-stack>.delete-panel{padding:20px}.manual-profile .profile-earnings{gap:16px;flex-direction:column;align-items:stretch}.manual-profile .profile-earnings .secondary{width:100%}html[data-appearance] .manual-profile-links>.install-row{padding:19px 20px}.manual-profile .manual-profile-intro h2{font-size:17px}.manual-profile .manual-profile-delete{display:block}.manual-profile-delete .secondary{margin-top:16px}}
.manual-profile .manual-profile-delete{background:var(--danger-bg);border:1px solid color-mix(in srgb,var(--danger) 25%,var(--border))}
.manual-profile-delete p{color:var(--muted)}
html[data-appearance] .manual-profile-delete .secondary{color:var(--danger);border-color:var(--danger);background:transparent}
/* Personal welcome: keep the existing BonusTeller brand above the wallet. */
html[data-appearance] .manual-wallet-home .manual-welcome{display:block;padding:26px;border-radius:24px;background:linear-gradient(120deg,var(--soft-strong),var(--soft));margin:0 0 25px}
.manual-welcome-row{display:flex;align-items:center;gap:15px}
.manual-welcome-row>div{min-width:0}
.manual-welcome-avatar{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--purple);box-shadow:var(--card-shadow)}
.manual-welcome-avatar .icon{width:24px;height:24px}
.manual-welcome-label{font-size:11px;font-weight:700;letter-spacing:1.2px;color:var(--muted);line-height:1.5;margin:0 0 5px}
html[data-appearance] .manual-wallet-home .manual-welcome h1{font-size:32px;line-height:1.2;letter-spacing:-1px;margin:0}
.manual-welcome-copy{font-size:14px;line-height:1.6;color:var(--muted);margin:16px 0 0}
@media(max-width:760px){html[data-appearance] .manual-wallet-home .manual-welcome{padding:23px 20px;border-radius:22px;margin-bottom:24px}html[data-appearance] .manual-wallet-home .manual-welcome h1{font-size:28px}.manual-welcome-avatar{width:48px;height:48px}.manual-welcome-row{gap:12px}}
@media(max-width:360px){html[data-appearance] .manual-wallet-home .manual-welcome{padding:21px 16px}html[data-appearance] .manual-wallet-home .manual-welcome h1{font-size:25px}.manual-welcome-label{font-size:10px;letter-spacing:1px}.manual-welcome-copy{font-size:13px}}
.manual-tutorial-entry{margin:-12px 0 22px}
.manual-tutorial-entry .text-button{min-height:44px;font-size:13px;text-align:left}
.manual-tutorial-top{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}
.manual-tutorial-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--soft-strong);color:var(--purple)}
.manual-tutorial-progress{list-style:none;display:flex;gap:6px;margin:20px 0 24px;padding:0}
.manual-tutorial-progress li{flex:1;height:5px;border-radius:5px;background:var(--soft-strong)}
.manual-tutorial-progress li.is-reached{background:var(--purple)}
.manual-tutorial .eyebrow{display:block;margin-bottom:9px;color:var(--muted)}
.manual-tutorial h3{font-size:26px;line-height:1.2;letter-spacing:-.6px;margin:0 0 16px}
.manual-tutorial p{font-size:14px;line-height:1.7;margin:12px 0;color:var(--muted)}
.manual-tutorial p.manual-tutorial-lead{color:var(--ink);font-weight:650}
.manual-tutorial-example{padding:18px;border-radius:16px;background:var(--soft);border:1px solid var(--border);font-size:14px;line-height:1.7;margin:20px 0;color:var(--ink)}
.manual-tutorial p.manual-tutorial-note{font-size:12px}
.manual-tutorial-actions{display:flex;gap:12px;margin-top:24px}
.manual-tutorial-actions button{flex:1;min-height:48px}
.tutorial-welcome h3{margin-top:24px;font-size:30px}
.tutorial-welcome ol{margin:0;padding-left:22px}
.tutorial-welcome li{padding:5px 0 5px 4px}
.tutorial-welcome .primary{min-height:52px}
.tutorial-welcome .manual-tutorial-note{text-align:center}
.manual-step-detail{display:block;font-size:12px;line-height:1.65;color:var(--muted);margin-top:5px}
.manual-checklist-help,.manual-category-review{font-size:12px;line-height:1.65;color:var(--muted);margin:12px 0}
.manual-post-receipt{padding:15px;border-radius:14px;background:var(--soft);color:var(--ink);font-size:13px;line-height:1.65;margin-top:16px}
@media(max-width:360px){.manual-tutorial h3{font-size:23px}.manual-tutorial p{font-size:13px}.manual-tutorial-example{font-size:13px;padding:14px}}

/* Shared earnings period control on Home and Profile. */
.earnings-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px}
.earnings-heading .eyebrow{margin:0}
.earnings-card-content{flex:1;min-width:0}
.earnings-period{display:inline-flex;gap:3px;padding:3px;background:var(--soft);border:1px solid var(--border);border-radius:14px}
.earnings-period button{width:auto;min-height:40px;padding:8px 13px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer}
.earnings-period button[aria-pressed=true]{background:var(--active-bg);color:var(--active);box-shadow:0 1px 3px #00000012}
.earnings-period button:focus-visible{outline:2px solid var(--active);outline-offset:2px}
.manual-earnings-heading{margin:0 0 16px;max-width:480px}
.profile-earnings .earnings-period button{width:auto}

/* Account filters wrap into comfortable tap targets on narrow phones. */
.bank-account-filter{flex-wrap:wrap}
.bank-account-filter button{white-space:nowrap}
