/* Wallet UX — isolated QA, no ledger changes */
:root{--u2w-deep:#064e3b;--u2w-mint:#b8e6d1}
#u2w-root{max-width:760px;margin:0 auto 130px;color:#17382f}
.u2w-head,.u2w-focus-header,.u2w-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.u2w-head h2{font-size:26px;letter-spacing:-.045em;margin:5px 0 0;color:#17332d}
.u2w-kicker,.u2w-focus-header small{color:#69847a;font-weight:650;font-size:11px;letter-spacing:.09em}
.u2w-add{background:#e4f3ec!important;color:#07533d!important;border:1px solid #afd3c3!important;border-radius:999px!important;font-weight:700!important;padding:10px 14px!important;white-space:nowrap}
.u2w-filter{display:flex;gap:7px;overflow:auto;margin:22px 0 20px;scrollbar-width:none}
.u2w-filter button,.u2w-activity-filters button{font:650 12px system-ui!important;border:1px solid #dae4df!important;background:rgba(255,255,255,.72)!important;color:#536a60!important;border-radius:999px!important;padding:9px 15px!important;white-space:nowrap}
.u2w-filter button.active,.u2w-activity-filters button.active{background:#ddf4e9!important;color:#075139!important;border-color:#a6d6c2!important;box-shadow:none!important}
.u2w-stack{position:relative;max-width:535px;margin:20px auto 8px;isolation:isolate;}
.u2w-stack-card{position:absolute!important;left:0;right:0;display:block;width:100%;height:226px;cursor:pointer;overflow:visible;border:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;transform:translateY(0) scale(1);transition:transform .25s cubic-bezier(.2,.7,.2,1),filter .25s ease;text-align:left}
.u2w-stack-card:hover{transform:translateY(-4px)}
.u2w-stack-card:focus-visible{outline:3px solid #177957!important;outline-offset:4px;border-radius:18px}
.u2w-stack-card .u2-real-card{width:100%;height:100%;aspect-ratio:auto;box-sizing:border-box;box-shadow:0 7px 26px #06291d30,0 0 0 1px #ffffff20;border-radius:18px;overflow:hidden}
.u2w-hint{text-align:center;color:#72877d;font-size:12px;margin:24px 0}
.u2w-empty,.u2w-empty-activity{color:#71837b;text-align:center;padding:22px;background:#f8fbf9;border:1px solid #deebe3;border-radius:16px}
.u2w-focus-header{margin:2px 0 24px}
.u2w-focus-header>button{width:44px;height:44px;border-radius:50%!important;border:1px solid #d5e4dc!important;background:#f7faf7!important;color:#064e3b!important;font-size:32px!important;line-height:1!important}
.u2w-focus-header>div{text-align:center;display:grid;gap:4px;min-width:0}.u2w-focus-header b{font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u2w-focus-header>span{color:#738980;font-size:12px;white-space:nowrap}
.u2w-carousel{margin:0 auto 21px;max-width:640px;touch-action:pan-y}
.u2w-carousel-viewport{height:auto;min-height:190px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 0 8px}
.u2w-active-card{position:relative;z-index:3;width:min(85%,480px);box-shadow:0 16px 30px #153a2b20;border-radius:20px}
.u2w-active-card>.u2-real-card{aspect-ratio:1.68;width:100%;height:auto;border-radius:20px;overflow:hidden}
.u2w-peek{position:absolute!important;top:17%;width:30%;height:63%;border:0!important;padding:0!important;background:transparent!important;overflow:hidden;filter:brightness(.82);opacity:.7}
.u2w-peek.left{left:-23%;}.u2w-peek.right{right:-23%}
.u2w-peek>.u2-real-card{width:100%;height:100%;min-width:180px;aspect-ratio:auto}
.u2w-dots{display:flex;gap:7px;justify-content:center;align-items:center;margin:13px 0 21px;color:#708c80;font-size:12px}
.u2w-dots i{width:6px;height:6px;border-radius:50%;display:inline-block;background:#d0dad4;transition:background .2s,transform .2s}.u2w-dots i.active{background:#0c7857;transform:scale(1.3)}
.u2w-card-context{display:grid;gap:12px;transition:opacity .24s ease}
.u2w-info,.u2w-activity{border:1px solid rgba(23,110,80,.13);border-radius:20px;background:rgba(255,255,255,.78);padding:16px 17px;box-shadow:0 8px 24px #284d3a07;color:#18392e}
.u2w-info small,.u2w-section-head small{display:block;color:#779087;font-size:11px;font-weight:550;margin-bottom:4px}.u2w-info strong{font-size:18px;font-weight:770}.u2w-info p{font-size:12px;color:#70837b;line-height:1.4;margin:8px 0 0}.u2w-two,.u2w-three{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.u2w-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:15px}.u2w-three b{font-size:12px;display:block;overflow-wrap:anywhere}.u2w-progress{height:6px;border-radius:20px;background:#e7ede9;overflow:hidden;margin-top:13px}.u2w-progress i{height:100%;display:block;background:#087c5a;border-radius:20px}.u2w-section-head b{font-size:14px}.u2w-section-head strong{font-size:15px}.u2w-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:3px 0}.u2w-actions button{display:flex!important;flex-direction:column;gap:9px;align-items:center;justify-content:center;min-height:75px;padding:10px 4px!important;background:rgba(228,241,233,.8)!important;border:1px solid #cfe4d8!important;color:#07533d!important;border-radius:16px!important;font:700 11px system-ui!important}.u2w-actions span{font-size:20px}
.u2w-activity{margin-top:2px}.u2w-activity .u2w-section-head span{font-size:11px;color:#73877d}.u2w-activity-filters{display:flex;gap:6px;overflow-x:auto;margin:15px 0}.u2w-activity-filters button{font-size:11px!important;padding:8px 11px!important}
.u2w-activity-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:8px;padding:14px 3px!important;border:0!important;border-bottom:1px solid #edf2ef!important;border-radius:0!important;background:transparent!important;text-align:left;color:#24392e!important}.u2w-activity-row span{min-width:0;display:grid;gap:4px}.u2w-activity-row b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.u2w-activity-row small{font-size:11px;color:#82958c}.u2w-activity-row strong{font-size:12px;white-space:nowrap}.u2w-activity-row .positive{color:#087958}
.u2w-add-menu,.u2w-review-list{display:grid;gap:10px}.u2w-add-menu button{background:#f5faf7!important;color:#124c38!important;border:1px solid #cfe0d6!important;border-radius:13px!important;padding:17px!important;text-align:left;display:flex;justify-content:space-between}
.u2w-review-item{border:1px solid #d7e6dc;background:#f8fcf9;border-radius:17px;padding:14px;display:grid;gap:12px}.u2w-review-item>div:first-child{display:grid;gap:5px}.u2w-review-item small{color:#708b7b;font-size:11px}.u2w-review-item label{font-size:12px;font-weight:600;color:#59796b}.u2w-review-item select{width:100%;margin-top:7px}.u2w-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.u2w-review-actions button{background:#07583d!important;color:#fff!important;border-radius:12px!important}.u2w-review-actions .secondary{background:#ecf6f0!important;color:#246049!important}
#u2w-dock-area{position:fixed;z-index:2147480900;bottom:calc(24px + env(safe-area-inset-bottom));right:clamp(15px,6vw,55px);display:grid;justify-items:end;gap:12px;pointer-events:none}
#u2w-aavi-trigger{width:61px;height:61px;border-radius:50%!important;border:1px solid #b8e6d1!important;background:#064e3b!important;box-shadow:0 9px 24px #003a2836!important;color:#fff!important;font-size:26px!important;pointer-events:auto;transition:transform .2s ease}
#u2w-aavi-trigger:active{transform:scale(.95)}
#u2w-thought{width:min(340px,calc(100vw - 34px));box-sizing:border-box;border:1px solid #d1e7db;border-radius:24px;background:rgba(250,253,251,.98);padding:15px 17px;color:#234036;box-shadow:0 15px 45px #163d2c30;pointer-events:auto;opacity:0;transform:translateY(16px) scale(.85);transform-origin:90% 100%;transition:opacity .2s ease,transform .32s cubic-bezier(.15,.9,.2,1);position:relative}
#u2w-thought.visible{opacity:1;transform:translateY(0) scale(1)}#u2w-thought[hidden]{display:none!important}
#u2w-thought:after{content:'';position:absolute;right:22px;bottom:-11px;width:19px;height:19px;transform:rotate(45deg);border-right:1px solid #d1e7db;border-bottom:1px solid #d1e7db;background:#fafdfb}
.u2w-thinking-head{display:flex;gap:8px;align-items:center}.u2w-thinking-head>span{color:#087858}.u2w-thinking-head small{margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#77938a}.u2w-thinking-head strong{color:#064e3b}.u2w-thinking-head+p{font-size:13px;line-height:1.5;margin:10px 0 0}
/* Always preserve card artwork fallback; don't let a failed remote image hide the card. */
.u2w-root .u2-real-card{position:relative;overflow:hidden}.u2w-root .u2-real-card>.u2-real-official-image{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;object-fit:contain;transition:opacity .2s ease}.u2w-root .u2-real-card.u2-artwork-unavailable:before{display:block}
/* Budget status bars: status, not legacy purple. */
body .budget-v14-card.u2w-over-budget .budget-v14-progress i,body .budget-v14-card.u2w-over-budget .budget-progress i,body .budget-v14-card.u2w-over-budget .budget-v14-bar i,body .budget-v14-card.u2w-over-budget .budget-progress-fill,body .budget-v14-card.u2w-over-budget .progress-fill{background:#c46d69!important}
body .budget-v14-card.u2-at-limit .budget-v14-progress i,body .budget-v14-card.u2-at-limit .budget-progress i,body .budget-v14-card.u2-at-limit .budget-v14-bar i,body .budget-v14-card.u2-at-limit .budget-progress-fill,body .budget-v14-card.u2-at-limit .progress-fill{background:#ba9556!important}
body .budget-v14-card.u2w-healthy .budget-v14-progress i,body .budget-v14-card.u2w-healthy .budget-progress i,body .budget-v14-card.u2w-healthy .budget-v14-bar i,body .budget-v14-card.u2w-healthy .budget-progress-fill,body .budget-v14-card.u2w-healthy .progress-fill{background:#0a805d!important}
body .u2-display-gear{border-radius:14px!important;border:1px solid rgba(6,78,59,.15)!important;background:rgba(245,252,248,.65)!important;color:#064e3b!important;box-shadow:none!important}
/* Remaining legacy purple controls in QA-completed pages. */
body .tx-filter-chip.active,body .tx-filter-v13.active,body .transactions .chip.active,body .transaction-review-card button,body .transactions-section .link,body .tx-tools-bar button.active,body .tx-top-tabs button.active,body .tx63-tab.active,body .merchant-tab.active,body .u2-merchant-tab.active,body .u2-aavi-card .primary,body #modal-root .modal .u2-memory-list+button.primary{color:#07573e!important;border-color:#b8dccb!important}
body .transaction-review-card button,body .tx63-tab.active,body .merchant-tab.active,body .u2-merchant-tab.active{background:#e4f5ec!important}
body .budget-v14-card .budget-pin-v14,body .budget-v14-card .avatar{color:#117251!important}
body #modal-root .modal:has(.u2-memory-list) button.primary{background:#07563e!important;border-color:#07563e!important;color:#fff!important}
@media(max-width:520px){.u2w-head h2{font-size:23px}.u2w-stack,.u2w-active-card{max-width:100%}.u2w-stack-card{height:190px}.u2w-two strong{font-size:15px}.u2w-info{padding:13px}.u2w-three{gap:6px}.u2w-actions button{font-size:10px!important}.u2w-card-context{gap:10px}}
@media(prefers-reduced-motion:reduce){.u2w-stack-card,.u2w-card-context,#u2w-thought,#u2w-aavi-trigger{transition:none!important}}

.u2w-flying>.u2-real-card{width:100%!important;height:100%!important;aspect-ratio:auto!important;border-radius:19px;overflow:hidden;box-shadow:0 14px 30px #153a2b2d}.u2w-editor-delete{display:block;margin:17px auto 0!important;width:100%;color:#b64d48!important;border-color:#e3c3bd!important;background:#fffafa!important}

/* Avoid covering Edit Card, confirmation dialogs, or category review sheets. */
body:has(#modal-root .modal) #u2w-dock-area,body:has(.modal-wrap:not([hidden])) #u2w-dock-area{opacity:0!important;pointer-events:none!important}
/* Wallet appearance setup remains accessible without a toolbar duplicate. */
.u2w-appearance-manage{display:flex;justify-content:center;align-items:center;gap:7px;margin:6px auto 10px!important;border:0!important;background:transparent!important;color:#216d52!important;font-size:12px!important;font-weight:650!important;padding:10px 12px!important}
/* Target the exact QA screenshot controls, not the transaction's semantic expense color. */
body .tx-toolbar-action-v129621.merchant-tool-v1262,body .tx-toolbar-action-v129621.active{color:#0a684d!important;border-color:#cfe4d8!important;background:#e8f5ec!important}
body .chips .chip.active{color:#065b40!important;background:#dff1e8!important;border-color:#cce2d4!important}
body .tx63-review-banner strong{color:#0d7455!important}
body .tx-summary-values-v1251.transfer-amount strong{color:#0c8068!important}
