/* ECW Value Catalogue v1 — one number, three verbs. */
#home-screen .ecw-value-catalog{display:grid;gap:10px;margin:10px 0 12px}
.ecw-value-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}
.ecw-value-kicker strong{font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.ecw-value-kicker small{font-size:9px;color:var(--muted)}
.ecw-value-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.ecw-value-layer{min-width:0;min-height:92px;padding:11px 10px;border:1px solid rgba(197,168,102,.18);border-radius:15px;background:linear-gradient(155deg,rgba(12,24,49,.98),rgba(7,14,31,.98));color:#f8f9fd;text-align:left;box-shadow:0 9px 24px rgba(1,7,20,.14)}
.ecw-value-layer:focus-visible,.ecw-value-router-trigger:focus-visible,.ecw-value-sheet button:focus-visible,.ecw-value-sheet input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ecw-value-layer b,.ecw-value-layer span,.ecw-value-layer small{display:block}
.ecw-value-layer b{font-size:12px;letter-spacing:-.02em}
.ecw-value-layer span{margin-top:8px;font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ecw-value-layer small{margin-top:4px;color:#8f9bb0;font-size:8px;line-height:1.35}
.ecw-value-layer[data-layer="reserve"]{border-color:rgba(199,160,82,.46);background:linear-gradient(155deg,#151b27,#0b1324 72%,#15120b)}
.ecw-value-layer[data-layer="reserve"] b{color:#d8ba72}
.ecw-value-layer[data-layer="grow"]{opacity:.78}
.ecw-value-router-trigger{width:100%;min-height:46px;border:1px solid rgba(199,160,82,.38);border-radius:14px;background:linear-gradient(110deg,#0b1731,#101b34);color:#f7f8fb;font-size:11px;font-weight:850}
.ecw-value-router-trigger span{color:#d8ba72}
.ecw-value-sheet-backdrop{position:fixed;inset:0;z-index:198;background:rgba(1,5,15,.66);backdrop-filter:blur(4px)}
.ecw-value-sheet{position:fixed;z-index:199;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,460px);max-height:88dvh;overflow:auto;padding:12px 16px calc(22px + env(safe-area-inset-bottom));border:1px solid rgba(199,160,82,.22);border-bottom:0;border-radius:25px 25px 0 0;background:linear-gradient(165deg,#0b1428,#060c18);color:#f8f9fd;box-shadow:0 -24px 70px rgba(0,0,0,.34)}
.ecw-value-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0 12px}
.ecw-value-sheet-head small{display:block;color:#8d99ad;font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:850}
.ecw-value-sheet-head h3{margin-top:3px;font-size:22px;letter-spacing:-.04em}
.ecw-value-sheet-close{width:42px;height:42px;border:1px solid rgba(160,174,205,.16);border-radius:13px;background:rgba(255,255,255,.04);color:#fff;font-size:20px}
.ecw-value-sheet-card{margin-top:9px;padding:13px;border:1px solid rgba(150,165,197,.14);border-radius:16px;background:rgba(255,255,255,.035)}
.ecw-value-sheet-card strong,.ecw-value-sheet-card small{display:block}
.ecw-value-sheet-card strong{font-size:12px}
.ecw-value-sheet-card small{margin-top:5px;color:#96a1b5;font-size:10px;line-height:1.55}
.ecw-reserve-asset{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.ecw-reserve-glyph{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(210,177,103,.4);background:rgba(202,166,83,.1);color:#dfc27c;font-size:17px}
.ecw-reserve-status{font-size:9px;font-weight:850;color:#dfc27c}
.ecw-value-route{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.ecw-value-route-box{padding:11px;border:1px solid rgba(149,164,197,.14);border-radius:13px;background:#081124}
.ecw-value-route-box small{margin:0;color:#7f8ba0}
.ecw-value-route-box strong{margin-top:4px}
.ecw-value-route-arrow{color:#d8ba72;font-size:18px}
.ecw-value-amount{width:100%;min-height:48px;margin-top:10px;padding:0 13px;border:1px solid rgba(149,164,197,.2);border-radius:13px;background:#071022;color:#fff;font-size:15px}
.ecw-value-action{width:100%;min-height:50px;margin-top:10px;border:0;border-radius:14px;background:#1a2743;color:#7f8ba0;font-size:11px;font-weight:900}
.ecw-value-action:disabled{cursor:not-allowed}
.ecw-value-sheet-note{margin:9px 2px 0;color:#8390a5;font-size:9px;line-height:1.5}
.ecw-value-sheet .ecw-brief-title{color:#d8ba72}
@media(max-width:370px){.ecw-value-layers{gap:5px}.ecw-value-layer{min-height:88px;padding:10px 8px}.ecw-value-layer b{font-size:11px}}

.ecw-spend-summary>strong{margin-top:5px;font-size:24px;letter-spacing:-.04em;color:#f7f8fb}
.ecw-spend-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.ecw-spend-actions button{min-height:74px;padding:11px;border:1px solid rgba(150,165,197,.14);border-radius:14px;background:rgba(255,255,255,.035);color:#f8f9fd;text-align:left}
.ecw-spend-actions button strong,.ecw-spend-actions button small{display:block}
.ecw-spend-actions button strong{font-size:11px}
.ecw-spend-actions button small{margin-top:4px;color:#96a1b5;font-size:9px;line-height:1.4}
@media(max-width:350px){.ecw-spend-actions{grid-template-columns:1fr}}

.ecw-value-view-skeleton{display:grid;gap:10px;padding:4px 0 2px}
.ecw-value-view-skeleton span{display:block;height:74px;border-radius:16px;background:linear-gradient(100deg,rgba(255,255,255,.035) 20%,rgba(255,255,255,.075) 40%,rgba(255,255,255,.035) 60%);background-size:220% 100%;animation:ecw-value-shimmer 1.05s ease-in-out infinite}
.ecw-value-view-skeleton span:first-child{height:92px}
.ecw-value-view-skeleton span:last-child{height:48px}
@keyframes ecw-value-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.ecw-value-view-skeleton span{animation:none}}


.ecw-spend-source{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(150,165,197,.14);border-radius:16px;background:rgba(255,255,255,.035)}
.ecw-spend-source small,.ecw-spend-source strong,.ecw-spend-source span{display:block}.ecw-spend-source small{color:#8d99af;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.ecw-spend-source strong{margin-top:4px;color:#f8f9fd;font-size:14px}.ecw-spend-source span{margin-top:4px;color:#98a4ba;font-size:10px}.ecw-spend-source button{min-height:34px;padding:0 11px;border:1px solid rgba(150,165,197,.16);border-radius:999px;background:rgba(255,255,255,.04);color:#cdd5e5;font-size:9px;font-weight:800}
.ecw-spend-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.ecw-spend-shortcuts button{min-height:68px;padding:9px 5px;border:1px solid rgba(150,165,197,.14);border-radius:14px;background:rgba(255,255,255,.035);color:#eef2fa}.ecw-spend-shortcuts span,.ecw-spend-shortcuts strong{display:block}.ecw-spend-shortcuts span{font-size:18px}.ecw-spend-shortcuts strong{margin-top:5px;font-size:8px}
.ecw-airtime{margin-top:12px;padding:14px;border:1px solid rgba(150,165,197,.14);border-radius:18px;background:rgba(7,16,35,.9)}.ecw-airtime-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ecw-airtime-heading small{display:block;color:#8d99af;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.ecw-airtime-heading h4{margin:3px 0 0;color:#f9fbff;font-size:15px}.ecw-capability-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.055);color:#aab5c9;font-size:8px;font-weight:900}
.ecw-field-block{margin-top:13px}.ecw-field-block>label{display:block;margin-bottom:7px;color:#c8d0df;font-size:9px;font-weight:800}.ecw-network-grid,.ecw-amount-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.ecw-network-grid button,.ecw-amount-grid button{min-height:46px;padding:7px;border:1px solid rgba(150,165,197,.14);border-radius:12px;background:rgba(255,255,255,.035);color:#dbe2ef}.ecw-network-grid button[aria-pressed="true"],.ecw-amount-grid button[aria-pressed="true"]{border-color:rgba(118,221,175,.56);background:rgba(65,176,127,.13);color:#a7edcc}.ecw-network-grid button:disabled{opacity:.38}.ecw-network-grid strong,.ecw-network-grid small{display:block}.ecw-network-grid strong{font-size:9px}.ecw-network-grid small{margin-top:3px;color:#77869f;font-size:7px}.ecw-amount-grid button{font-size:9px;font-weight:850}
.ecw-phone-row{display:grid;grid-template-columns:1fr auto;gap:7px}.ecw-phone-row input,.ecw-custom-amount{width:100%;min-height:46px;border:1px solid rgba(150,165,197,.16);border-radius:12px;background:#07152e;color:#f7f9ff;padding:0 12px;font-size:12px;outline:none}.ecw-phone-row input:focus,.ecw-custom-amount:focus{border-color:rgba(132,92,233,.78);box-shadow:0 0 0 3px rgba(123,77,225,.12)}.ecw-phone-row button,.ecw-test-number{min-height:46px;padding:0 10px;border:1px solid rgba(150,165,197,.15);border-radius:12px;background:rgba(255,255,255,.04);color:#cbd4e4;font-size:8px;font-weight:800}.ecw-test-number{min-height:32px;margin-top:7px}
.ecw-custom-amount{margin-top:7px}.ecw-airtime-message{margin-top:10px;padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.035);color:#9faabd;font-size:9px;line-height:1.45}.ecw-airtime-message[data-kind="ok"]{background:rgba(62,177,124,.1);color:#9ce0be}.ecw-airtime-message[data-kind="warn"]{background:rgba(213,169,74,.1);color:#dfc98c}.ecw-airtime-message[data-kind="error"]{background:rgba(217,84,104,.1);color:#efacb8}
.ecw-airtime>.ecw-value-action{width:100%;margin-top:10px}
.ecw-confirm-layer{position:fixed;inset:0;z-index:260}.ecw-confirm-scrim{position:absolute;inset:0;border:0;background:rgba(1,5,15,.74);backdrop-filter:blur(7px)}.ecw-confirm-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,460px);padding:18px 16px calc(18px + env(safe-area-inset-bottom));border:1px solid rgba(150,165,197,.16);border-bottom:0;border-radius:24px 24px 0 0;background:#09142b;color:#f8faff;box-shadow:0 -24px 70px rgba(0,0,0,.38)}.ecw-confirm-grabber{width:42px;height:4px;margin:0 auto 13px;border-radius:999px;background:#34415b}.ecw-confirm-sheet>small{display:block;color:#8c99b0;font-size:9px;text-align:center;text-transform:uppercase;letter-spacing:.09em}.ecw-confirm-sheet h4{margin:5px 0 13px;font-size:17px;text-align:center}.ecw-confirm-summary{display:grid;gap:0;margin:0;padding:11px 12px;border:1px solid rgba(150,165,197,.12);border-radius:15px;background:#061126}.ecw-confirm-summary div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(150,165,197,.09)}.ecw-confirm-summary div:last-child{border-bottom:0}.ecw-confirm-summary dt{color:#8896ac;font-size:9px}.ecw-confirm-summary dd{margin:0;color:#f5f7fc;font-size:10px;font-weight:800;text-align:right;overflow-wrap:anywhere}.ecw-confirm-note{margin:10px 2px 0;color:#9ca8bb;font-size:9px;line-height:1.5}.ecw-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.ecw-confirm-actions button{min-height:47px;border:0;border-radius:13px;background:#15223b;color:#cbd5e5;font-size:9px;font-weight:900}.ecw-confirm-actions button:last-child{background:linear-gradient(120deg,#7046cf,#345ed1);color:#fff}.ecw-receipt-status{margin:0 auto 12px;width:max-content;padding:6px 9px;border-radius:999px;background:rgba(220,177,80,.12);color:#dfc67c;font-size:9px;font-weight:900}.ecw-receipt-status[data-kind="success"]{background:rgba(65,177,127,.13);color:#9ae4bf}.ecw-receipt-status[data-kind="failed"]{background:rgba(217,84,104,.12);color:#efacb8}
@media(max-width:360px){.ecw-spend-shortcuts,.ecw-network-grid,.ecw-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ECW Airtime consumer polish v2 */
.ecw-spend-shortcuts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(88px,1fr);grid-template-columns:none;gap:9px;margin-top:12px;overflow-x:auto;padding:1px 1px 7px;scroll-snap-type:x proximity;scrollbar-width:none}
.ecw-spend-shortcuts::-webkit-scrollbar{display:none}
.ecw-spend-shortcuts button{min-height:72px;padding:10px 9px;border-radius:15px;scroll-snap-align:start;text-align:center;touch-action:manipulation}
.ecw-spend-shortcuts button.is-active{border-color:rgba(133,96,230,.48);background:linear-gradient(155deg,rgba(98,60,187,.16),rgba(255,255,255,.035))}
.ecw-spend-shortcuts span{font-size:19px;line-height:1}.ecw-spend-shortcuts strong{margin-top:7px;font-size:10px}.ecw-spend-shortcuts small{display:block;margin-top:3px;color:#94a3b8;font-size:8px}

.ecw-spend-source{min-height:76px;padding:15px 16px}.ecw-spend-source button{min-height:44px;padding:0 14px;font-size:10px}
.ecw-airtime{padding:16px;border-radius:20px}
.ecw-airtime-heading h4{font-size:18px;letter-spacing:-.025em}.ecw-airtime-heading small{font-size:10px}.ecw-capability-pill{min-height:28px;align-items:center;padding:5px 10px;font-size:9px}
.ecw-capability-pill[data-kind="test"]{border:1px solid rgba(213,169,74,.34);background:rgba(213,169,74,.12);color:#efd58a}
.ecw-capability-pill[data-kind="active"]{border:1px solid rgba(58,202,132,.34);background:rgba(58,202,132,.11);color:#9be8c3}
.ecw-capability-pill[data-kind="gated"],.ecw-capability-pill[data-kind="error"]{border:1px solid rgba(225,91,111,.28);background:rgba(225,91,111,.09);color:#f0a9b5}
.ecw-airtime-message{margin:10px 0 0;padding:10px 11px;font-size:10px}

.ecw-field-block{margin-top:16px}.ecw-field-block>label,.ecw-field-label-row>label{color:#cbd5e1;font-size:11px;font-weight:800}
.ecw-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ecw-field-label-row small{color:#7f8ca3;font-size:8px}
.ecw-carrier-hint{display:inline-flex;align-items:center;min-height:24px;padding:4px 7px;border:1px solid rgba(130,151,195,.17);border-radius:999px;background:rgba(255,255,255,.035);color:#cbd5e1;font-size:8px;font-weight:850;white-space:nowrap}
.ecw-carrier-hint[data-brand="mtn"]{border-color:rgba(250,204,21,.38);background:rgba(250,204,21,.09);color:#fde047}
.ecw-carrier-hint[data-brand="airtel"]{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.09);color:#fca5a5}
.ecw-carrier-hint[data-brand="glo"]{border-color:rgba(34,197,94,.38);background:rgba(34,197,94,.09);color:#86efac}
.ecw-carrier-hint[data-brand="9mobile"]{border-color:rgba(163,230,53,.38);background:rgba(163,230,53,.09);color:#bef264}

.ecw-network-grid{gap:9px}.ecw-network-grid .ecw-network-card{min-height:70px;padding:9px 6px;border-width:1px;touch-action:manipulation}
.ecw-network-mark{display:grid!important;place-items:center;width:28px;height:28px;margin:0 auto 5px;border-radius:9px;background:#101b31;color:#f8fafc;font-size:9px;font-weight:950;letter-spacing:-.03em}
.ecw-network-card strong{font-size:10px!important}.ecw-network-card small{font-size:8px!important}
.ecw-network-card[data-brand="mtn"] .ecw-network-mark{background:#facc15;color:#141414}.ecw-network-card[data-brand="mtn"][aria-pressed="true"]{border-color:#facc15;background:rgba(250,204,21,.09);color:#fde047}
.ecw-network-card[data-brand="airtel"] .ecw-network-mark{background:#dc2626;color:#fff}.ecw-network-card[data-brand="airtel"][aria-pressed="true"]{border-color:#ef4444;background:rgba(239,68,68,.09);color:#fca5a5}
.ecw-network-card[data-brand="glo"] .ecw-network-mark{background:#16a34a;color:#fff}.ecw-network-card[data-brand="glo"][aria-pressed="true"]{border-color:#22c55e;background:rgba(34,197,94,.09);color:#86efac}
.ecw-network-card[data-brand="9mobile"] .ecw-network-mark{background:#84cc16;color:#0a0f09}.ecw-network-card[data-brand="9mobile"][aria-pressed="true"]{border-color:#a3e635;background:rgba(163,230,53,.09);color:#bef264}

.ecw-phone-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.ecw-phone-row input,.ecw-custom-amount,.ecw-input{min-height:52px;border-color:#334155;background:#0f172a;color:#fff;font-size:16px;font-weight:700;line-height:1.2;caret-color:#fff}
.ecw-phone-row input::placeholder,.ecw-custom-amount::placeholder,.ecw-input::placeholder{color:#64748b;opacity:1}
.ecw-phone-row input:focus,.ecw-custom-amount:focus,.ecw-input:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px rgba(139,92,246,.13)}
.ecw-phone-row button{min-width:78px;min-height:52px;font-size:9px}.ecw-test-number{min-height:44px;padding:0 13px;font-size:9px}

.ecw-amount-grid{gap:9px}.ecw-amount-grid button{min-height:48px;padding:10px 4px;font-size:11px;border-color:#334155;background:#0f172a;color:#e2e8f0}
.ecw-amount-grid button[aria-pressed="true"]{border-color:#10b981;background:#059669;color:#fff;box-shadow:0 8px 22px rgba(5,150,105,.16)}

.ecw-session-recents{margin-top:14px}.ecw-recent-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.ecw-recent-strip::-webkit-scrollbar{display:none}
.ecw-recent-strip button{flex:0 0 auto;min-width:100px;min-height:52px;padding:8px 10px;border:1px solid rgba(150,165,197,.14);border-radius:13px;background:rgba(255,255,255,.035);color:#e5eaf3;text-align:left}
.ecw-recent-strip span,.ecw-recent-strip strong{display:block}.ecw-recent-strip span{color:#94a3b8;font-size:8px}.ecw-recent-strip strong{margin-top:4px;font-size:10px}

.ecw-airtime-cta{position:sticky;bottom:-1px;z-index:8;margin:16px -4px -4px;padding:12px 4px calc(4px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(7,16,35,0),rgba(7,16,35,.94) 26%,#071023 58%)}
.ecw-airtime-cta .ecw-value-action{width:100%;min-height:54px;margin:0;border:0;border-radius:15px;background:linear-gradient(120deg,#7650dc,#3866dc);color:#fff;font-size:12px;font-weight:900;box-shadow:0 12px 30px rgba(62,78,192,.22);transition:transform .12s ease,filter .12s ease,opacity .12s ease}
.ecw-airtime-cta .ecw-value-action:not(:disabled):active{transform:scale(.985)}.ecw-airtime-cta .ecw-value-action:disabled{background:#17243d;color:#71809b;box-shadow:none;opacity:1}
.ecw-confirm-actions button{min-height:50px;font-size:10px}

@media(max-width:360px){.ecw-spend-shortcuts{grid-template-columns:none;grid-auto-columns:86px}.ecw-network-grid,.ecw-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecw-carrier-hint{max-width:170px;overflow:hidden;text-overflow:ellipsis}}

.ecw-amount-helper{display:block;margin-top:7px;color:#94a3b8;font-size:9px;line-height:1.4}
.ecw-amount-helper[data-kind="ok"]{color:#8fa8bf}
.ecw-amount-helper[data-kind="error"]{color:#f0a9b5}

.ecw-reserve-action{width:100%;appearance:none;text-align:left;color:inherit;cursor:pointer}
.ecw-reserve-action:hover{border-color:rgba(93,208,164,.34);background:rgba(93,208,164,.045)}
.ecw-reserve-action:focus-visible{outline:2px solid #d8ba72;outline-offset:2px}

.ecw-network-card[data-suggested="true"][aria-pressed="false"]{box-shadow:inset 0 0 0 1px rgba(148,163,184,.22);background:rgba(148,163,184,.045)}
.ecw-network-card[data-suggested="true"][data-brand="mtn"]{border-color:rgba(250,204,21,.42)}
.ecw-network-card[data-suggested="true"][data-brand="airtel"]{border-color:rgba(239,68,68,.42)}
.ecw-network-card[data-suggested="true"][data-brand="glo"]{border-color:rgba(34,197,94,.42)}
.ecw-network-card[data-suggested="true"][data-brand="9mobile"]{border-color:rgba(163,230,53,.42)}
