/* Rufiyaa U2 isolated QA round 2 — Emerald surface consistency. */
:root{--u2-fresh:#07966d;--u2-over:#dc454b;--u2-limit:#e3a02b;--u2-transfer:#148e94}
/* Remove the duplicate purple Laari launcher; the dock's existing position is now Aavi's. */
body:has(.finance-full-shell) .bottom .rufiyaa-tab,body:has(.finance-full-shell) .bottom #laari-nav-tab,body:has(.finance-full-shell) .bottom #u2-plus-fab{visibility:hidden!important;pointer-events:none!important}
#u2w-dock-area{position:fixed!important;z-index:2147480900!important;gap:24px!important;pointer-events:none!important;filter:none!important;transform:none!important}
#u2w-aavi-trigger{width:var(--u2w-size,60px)!important;height:var(--u2w-size,60px)!important;min-height:0!important;min-width:0!important;box-sizing:border-box}
#u2w-thought{margin-bottom:5px!important;max-height:min(55dvh,420px);overflow:visible!important}
#u2w-thought:after{bottom:-9px!important}
/* Wallet: the card itself is the only surface, no white frosted backplate at its edges. */
.u2w-active-card,.u2w-peek,.u2w-carousel-viewport{background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.u2w-active-card:before,.u2w-active-card:after,.u2w-carousel-viewport:before,.u2w-carousel-viewport:after{content:none!important;display:none!important}
.u2w-stack{max-width:480px!important}
.u2w-active-card{width:min(85%,480px)!important}
.u2w-peek .u2-real-card{box-shadow:none!important}
/* Single contextual Back icon only in Finance header, never a duplicate inside carousel. */
.u2w-focus-header{display:flex;justify-content:space-between;position:relative;padding:1px 0 5px 0}
.u2w-focus-header>div{flex:1;text-align:center}
.u2w-focus-header>span{margin-left:auto;position:absolute;right:0;top:8px}
/* The stack lift completes before the lower sections descend and fade in. */
.u2w-card-context.u2w-context-enter>*{animation:u2w-drop-in .36s cubic-bezier(.16,1,.3,1) both}
.u2w-card-context.u2w-context-enter>*:nth-child(2){animation-delay:.06s}
.u2w-card-context.u2w-context-enter>*:nth-child(3){animation-delay:.11s}
.u2w-card-context.u2w-context-enter>*:nth-child(4){animation-delay:.16s}
.u2w-card-context.u2w-context-enter>*:nth-child(n+5){animation-delay:.20s}
@keyframes u2w-drop-in{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}
.u2w-credit-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.u2w-credit-tools button,.u2native-action{border:1px solid #cfe4d8!important;border-radius:13px!important;background:#e7f5ee!important;color:#07553d!important;padding:13px 11px!important;font:650 12px system-ui!important;text-align:left}
.u2w-credit-tools button span,.u2native-action span{float:right;font-size:18px}
.u2native-credit{display:grid;gap:12px;max-height:70dvh;overflow:auto}
.u2native-card{display:grid;gap:10px;background:rgba(252,255,253,.75);border:1px solid #dce9e2;border-radius:17px;padding:15px}
.u2native-card h3{font-size:15px;margin:0;font-weight:750;color:#164734}.u2native-card p{font-size:12px;color:#6f8178;margin:2px 0}
.u2native-card small{font-size:11px;color:#778980}.u2native-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.u2native-grid div{display:grid;gap:3px}.u2native-grid b{font-size:13px;overflow-wrap:anywhere}
.u2native-progress{height:7px;background:#e3eae6;overflow:hidden;border-radius:50px}.u2native-progress i{display:block;background:#07966d;height:100%;border-radius:50px}
/* Strong meaningful budget colors, while the Liquid Glass card surface stays neutral. */
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:var(--u2-over)!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:var(--u2-limit)!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:var(--u2-fresh)!important}
body .budget-v14-card .budget-v14-top .rufiyaa-line-icon,body .budget-v14-card .budget-v14-top .avatar,body .budget-v14-card .budget-v14-top svg{color:#0a8260!important;stroke:#0a8260!important}
body .u2-display-gear{border-radius:50%!important;aspect-ratio:1!important;width:43px!important;height:43px!important;display:grid!important;place-items:center!important}
/* Selected controls are emerald/mint, never leftover purple. */
body #modal-root .modal .primary:not(.danger),body #modal-root .modal button[type=submit].primary,body #modal-root .modal button.tx-save-v128,body #modal-root .modal .u1-bill-sticky button.primary{background:#086044!important;background-image:none!important;border-color:#0a7755!important;color:#fff!important;box-shadow:0 9px 20px #0a644126!important}
body #modal-root .modal .seg button.active,body #modal-root .modal .tx-type-seg-v128 button.active,body #modal-root .modal .u1-bill-progress .active,body #modal-root .modal .u1-calc-tabs button.active,body #modal-root .modal .payment-method-cards-v128 button.active,body #modal-root .modal .u1-currency-line.active,body #modal-root .modal .u1-bill-payment-choice button.active,body #modal-root .modal .u1-method.active,body #modal-root .modal .u1-payment-kind.active{color:#07573f!important;border-color:#9bcfb7!important;background:#e0f3e9!important;box-shadow:none!important}
body #modal-root .modal button.active:not(.primary):not(.danger),body #modal-root .modal .tx-split-toggle-v13029.active{color:#07573f!important;border-color:#b8dccb!important;background:#e6f5eb!important}
body #modal-root .modal .u1-bill-progress span.active,body #modal-root .modal .u1-bill-item-extra summary,body #modal-root .modal .u1-product-category summary,body #modal-root .modal .tx-add-split-v13029 .tx-split-toggle-v13029>span,body #modal-root .modal .u1-bill-optional summary{color:#0a7756!important}
body #modal-root .modal .u1-currency-line.active{border-inline-start-color:#07966d!important}
body #modal-root .modal #u1-calc-equals,body #modal-root .modal .u1-calc-grid button.equals,body #modal-root .modal .u1-calc-grid button[data-op="="]{background:#086044!important;color:#fff!important;border-color:#086044!important}
body #modal-root .modal [style*="color: purple"],body #modal-root .modal [style*="color:#7c3aed"]{color:#0a7655!important}
body .chips .chip.active,body .tx-filter-chip.active,body .tx63-tab.active,body .transaction-filter-chip.active,body .transaction-type-filter .active{color:#075b40!important;background:#dff4e9!important;border-color:#a8d7c0!important}
body .tx-toolbar-action-v129621.active,body .tx-filter-clear,body .tx-clear-filters,body .transactions .filter-clear{color:#0a7455!important}
/* Transfers must not be identical to positive income; numeric amount and unit share teal. */
body .tx-summary-values-v1251.transfer-amount strong,body .tx-summary-values-v1251.transfer-amount,body .tx-summary-values-v1251.transfer-amount small,body .tx-summary-values-v1251.transfer-amount span{color:var(--u2-transfer)!important}
body .tx-summary-card-transfer,body .tx63-summary-transfer{color:var(--u2-transfer)!important}
/* Keep bill Date width close to existing and split remaining width equally between Time/Currency. */
#u1-bill-form .u1-bill-compact-meta{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr))!important;column-gap:10px!important}
#u1-bill-form .u1-bill-compact-meta>*{min-width:0!important}
/* Native accounting select preserved behind a consistent accessible button. */
#modal-root select.u2universal-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important}
#modal-root .u2universal-trigger{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px;background:#fbfefa!important;color:#163a2c!important;padding:15px 17px!important;border:1px solid #d6e7dc!important;border-radius:14px!important;width:100%!important;min-height:52px!important;text-align:left!important;font-size:14px!important;box-shadow:none!important}
#u2universal-overlay{position:fixed;inset:0;background:rgba(18,30,26,.38);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:2147482900;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box}
.u2universal-panel{background:rgba(253,255,253,.97);color:#17372b;border-radius:24px;border:1px solid #ebf3ed;width:min(540px,96vw);max-height:78dvh;overflow:auto;padding:18px;box-shadow:0 20px 45px #112f2840;box-sizing:border-box}
.u2universal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.u2universal-head h2{margin:0;font-size:21px}.u2universal-head button{border:0;border-radius:50%;background:#e8f5ee;width:38px;height:38px;font-size:24px;color:#064e3b}
.u2universal-groups{display:grid;gap:14px}.u2universal-groups h3{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#0c6650;margin:0 0 6px}
.u2universal-groups section>button{display:flex;align-items:center;width:100%;gap:13px;text-align:left;padding:11px;border:1px solid transparent;border-radius:13px;background:transparent;color:#193a2d}
.u2universal-groups section>button.active{border-color:#0c7455;background:#e8f5ed}.u2universal-groups section>button span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.u2universal-groups b{font-size:13px}.u2universal-groups small{font-size:11px;color:#68827a}.u2universal-groups i{font-style:normal;color:#067250}
.u2universal-icon{height:46px;width:62px;flex:0 0 62px;background:#1d3940;color:#fff;display:grid;place-items:center;border-radius:8px}
/* Sync success is anchored under the header ellipsis, never over the Undo bar. */
#u2-sync-toast{bottom:auto!important;right:auto!important;max-width:min(220px,calc(100vw - 16px))!important;left:auto;top:76px;transform:translateY(-13px) scale(.87)!important;transform-origin:90% 0!important;z-index:2147481200!important;opacity:0;transition:opacity .22s ease,transform .25s cubic-bezier(.2,.9,.3,1)!important}
#u2-sync-toast.show{transform:translateY(0) scale(1)!important;opacity:1!important}
/* Existing snackbars retain Undo priority and avoid dock overlap. */
body .undo-toast,body #undo-toast,body .transaction-undo-toast{bottom:calc(100px + env(safe-area-inset-bottom))!important;z-index:2147481300!important}
@media(max-width:570px){#u1-bill-form .u1-bill-compact-meta{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important}.u2w-credit-tools{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.u2w-card-context.u2w-context-enter>*,#u2-sync-toast{animation:none!important;transition:none!important}}
