:root{--bg:#080b18;--panel:#10152a;--panel2:#0d1123;--border:rgba(151,160,205,.13);--text:#f7f8ff;--muted:#949bb8;--subtle:#68708c;--purple:#7938ed;--purple2:#a249ef;--green:#42d789;--orange:#ff9b39;--red:#ff5266;--sidebar:238px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 65% -20%,rgba(91,43,180,.18),transparent 40%),var(--bg);color:var(--text)}button,input,select{font:inherit}button{color:inherit}.hidden{display:none!important}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(430px,100%);padding:32px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(18,23,48,.96),rgba(9,13,30,.98));box-shadow:0 35px 90px rgba(0,0,0,.36)}.login-brand,.brand{display:flex;align-items:center;gap:11px}.login-brand>div:last-child,.brand>div:last-child{display:grid;gap:4px}.login-brand strong,.brand strong{font-size:1.1rem}.login-brand span,.brand span{color:var(--muted);font-size:.68rem}.logo-orb{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.025);overflow:hidden;box-shadow:0 12px 30px rgba(129,56,232,.2)}.logo-orb img{width:100%;height:100%;display:block;object-fit:contain}.logo-orb.small{width:38px;height:38px;border-radius:12px}.login-card h1{margin:31px 0 8px;font-size:1.75rem;letter-spacing:-.04em}.login-card>p{margin:0 0 24px;color:var(--muted);font-size:.8rem;line-height:1.55}.login-card form{display:grid;gap:14px}label{display:grid;gap:7px;color:#bdc3d9;font-size:.72rem}input,select{min-height:43px;width:100%;padding:0 12px;border:1px solid var(--border);border-radius:10px;outline:0;background:#090d1d;color:#fff}input:focus,select:focus{border-color:rgba(133,69,244,.8);box-shadow:0 0 0 3px rgba(117,55,226,.12)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;border-radius:11px;border:1px solid var(--border);background:rgba(17,22,46,.86);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;box-shadow:none;color:var(--text);font-size:.87rem;font-weight:600}.btn:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(180,102,255,.5)}.btn:disabled{opacity:.48;cursor:not-allowed}.btn.primary,.btn-primary{border:0;background:linear-gradient(110deg,#7738f4 0%,#c936e8 48%,#ff4f8f 76%,#ff8c26 100%);box-shadow:0 10px 24px rgba(165,55,231,.23);color:#fff}.btn.primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){border-color:transparent}.btn.full{width:100%;min-height:44px}.btn.danger,.btn-danger{background:rgba(255,82,102,.1);border-color:rgba(255,82,102,.25);color:#ff8392}.btn.btn-sm,.btn-sm{min-height:34px;padding:0 11px;font-size:.78rem;border-radius:9px}.dev-note{display:block;margin-top:20px;text-align:center;color:var(--subtle)}.alert{padding:11px 13px;border-radius:10px;font-size:.7rem;line-height:1.45}.alert.error{margin-top:14px;color:#ffb6c0;background:rgba(255,82,102,.08);border:1px solid rgba(255,82,102,.22)}.alert.success{color:#b5ffdb;background:rgba(66,215,137,.08);border:1px solid rgba(66,215,137,.22)}.alert.info{color:#cab6ff;background:rgba(121,56,237,.08);border:1px solid rgba(121,56,237,.22)}code{color:#c9a9ff}.app{min-height:100vh}.sidebar{position:fixed;z-index:50;left:18px;top:18px;bottom:18px;width:var(--sidebar);display:flex;flex-direction:column;padding:17px 12px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(180deg,rgba(15,19,42,.97),rgba(8,12,29,.99));box-shadow:0 22px 60px rgba(0,0,0,.24)}.brand{padding:0 8px 17px}.nav{display:grid;gap:3px;overflow:auto}.nav button{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#c0c5d8;text-align:left;cursor:pointer;font-size:.78rem}.nav button:hover{background:rgba(255,255,255,.035);color:#fff}.nav button.active{color:#fff;background:linear-gradient(104deg,rgba(131,54,237,.78),rgba(105,56,240,.95));box-shadow:0 8px 21px rgba(105,48,217,.2)}.nav .ico{width:20px;text-align:center;color:#a8afc8}.nav em{margin-left:auto;padding:2px 5px;border:1px solid rgba(210,104,255,.35);border-radius:5px;color:#df8cff;font-size:.52rem;font-style:normal}.help{display:grid;gap:3px;margin-top:auto;padding:12px;border:1px solid rgba(233,72,181,.25);border-radius:11px;background:rgba(113,35,173,.08)}.help b{font-size:.72rem}.help span{color:#bd80e9;font-size:.63rem}.profile{display:flex;align-items:center;gap:8px;padding:10px 5px 2px}.profile>div:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.profile strong{font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile span{color:var(--muted);font-size:.61rem}.profile button{border:0;background:transparent;color:var(--muted);cursor:pointer}.avatar{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#8f41ef,#5f35dd);font-size:.68rem;font-weight:800;flex:0 0 auto}.avatar.sm{width:31px;height:31px}.avatar.has-image{background:#0a0d19}.profile-avatar-img{width:100%;height:100%;display:block;object-fit:cover}.avatar.rafiyki-admin-avatar .profile-avatar-img{object-fit:contain;background:#090c18;padding:2px}.main{min-height:100vh;margin-left:calc(var(--sidebar) + 54px)}.topbar{height:82px;display:flex;align-items:center;gap:10px;padding:0 28px 0 16px}.spacer{flex:1}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:rgba(15,20,42,.8);cursor:pointer}.icon-btn.mobile{display:none}.merchant-switch{display:flex;align-items:center;gap:8px}.merchant-switch label{display:block;color:var(--muted);font-size:.62rem}.merchant-switch select{min-width:220px;min-height:36px}.user-pill{display:flex;align-items:center;gap:9px;padding:7px 11px;border:1px solid var(--border);border-radius:12px;background:rgba(17,21,44,.76)}.user-pill>div:last-child{display:grid;gap:2px}.user-pill b{font-size:.72rem}.user-pill span{color:var(--muted);font-size:.6rem}.content{padding:0 28px 30px 16px;max-width:1600px;margin:0 auto}.page{display:grid;gap:14px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:2px}.page-head h1{margin:0;font-size:1.45rem;letter-spacing:-.035em}.page-head p{margin:6px 0 0;color:var(--muted);font-size:.72rem}.actions{display:flex;gap:8px;flex-wrap:wrap}.grid{display:grid;gap:14px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.card{border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,rgba(17,22,45,.84),rgba(12,16,35,.88));box-shadow:0 14px 35px rgba(0,0,0,.08)}.metric{display:grid;gap:8px;padding:17px}.metric span{color:var(--muted);font-size:.67rem}.metric strong{font-size:1.38rem;letter-spacing:-.035em}.metric small{color:var(--subtle);font-size:.61rem}.split{grid-template-columns:1.25fr .75fr}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid var(--border)}.card-head h2{margin:0;font-size:.85rem}.card-head span{color:var(--muted);font-size:.63rem}.card-body{padding:17px}.table-wrap{overflow:auto}.data{width:100%;border-collapse:collapse}.data th,.data td{padding:11px 13px;border-bottom:1px solid rgba(151,160,205,.085);text-align:left;white-space:nowrap;font-size:.68rem}.data th{color:#727b9a;font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}.data td strong{font-size:.7rem}.primary-cell{display:grid;gap:3px}.primary-cell small{color:var(--muted)}.badge{display:inline-flex;align-items:center;min-height:21px;padding:0 7px;border-radius:6px;background:rgba(125,61,239,.12);color:#bea0ff;font-size:.56rem;font-weight:700;text-transform:capitalize}.badge.success{background:rgba(66,215,137,.1);color:#75e7ad}.badge.warn{background:rgba(255,155,57,.1);color:#ffb76d}.badge.error{background:rgba(255,82,102,.1);color:#ff8896}.badge.gray{background:rgba(145,154,188,.1);color:#abb1c7}.amount{font-variant-numeric:tabular-nums;font-weight:650}.muted{color:var(--muted)}.empty{padding:40px;text-align:center;color:var(--muted);font-size:.72rem}.toolbar{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--border)}.toolbar input{min-width:220px}.toolbar select{width:auto;min-width:150px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(151,160,205,.08);font-size:.7rem}.summary-line:last-child{border-bottom:0}.summary-line span{color:var(--muted)}.donut{width:120px;height:120px;margin:8px auto;border-radius:50%;background:conic-gradient(var(--green) 0 80%,var(--orange) 80% 92%,var(--red) 92%);position:relative}.donut:after{content:"";position:absolute;inset:21px;border-radius:50%;background:#11162b}.bar-chart{height:150px;display:flex;align-items:end;gap:6px;padding-top:18px}.bar-chart i{flex:1;min-width:6px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#a649ef,#6630e4);opacity:.85}.pill-list{display:flex;gap:6px;flex-wrap:wrap}.pill{padding:5px 8px;border:1px solid var(--border);border-radius:999px;color:#bdc3da;font-size:.6rem}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.key-value{display:grid;grid-template-columns:160px 1fr;gap:8px 12px;font-size:.7rem}.key-value dt{color:var(--muted)}.key-value dd{margin:0}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.62);backdrop-filter:blur(5px)}.modal{width:min(560px,100%);border:1px solid var(--border);border-radius:18px;background:#0e1329;box-shadow:0 35px 90px rgba(0,0,0,.45)}.modal-head{display:flex;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:1rem}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:.68rem}.modal-body{display:grid;gap:14px;padding:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.toast{position:fixed;right:22px;bottom:22px;z-index:200;padding:11px 14px;border:1px solid rgba(66,215,137,.28);border-radius:10px;background:#101e1d;color:#aaf5cf;font-size:.7rem}.scrim{position:fixed;inset:0;z-index:40;border:0;background:rgba(0,0,0,.55)}.merchant-business-cell{display:flex;align-items:center;gap:11px;min-width:230px}.merchant-logo-wrap{width:40px;height:40px;display:grid;place-items:center;flex:0 0 40px;border-radius:11px;overflow:hidden;background:linear-gradient(135deg,#743cf0,#e347ad);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.merchant-logo{width:100%;height:100%;display:block;object-fit:cover}.merchant-logo-fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#743cf0,#e347ad);color:#fff;font-size:.68rem;font-weight:750;letter-spacing:.02em}.merchant-logo-wrap .merchant-logo+.merchant-logo-fallback{display:none}.merchant-business-cell .primary-cell{min-width:0}.merchant-business-cell .primary-cell strong{max-width:250px;overflow:hidden;text-overflow:ellipsis}.merchant-business-cell .primary-cell small{max-width:320px;overflow:hidden;text-overflow:ellipsis}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.report-grid{grid-template-columns:1fr 1fr}}@media(max-width:850px){.sidebar{left:-280px;transition:left .2s}.sidebar.open{left:10px}.main{margin-left:0}.icon-btn.mobile{display:grid}.content{padding:0 14px 24px}.topbar{height:70px;padding:0 14px}.merchant-switch label{display:none}.merchant-switch select{min-width:150px}.user-pill>div:last-child{display:none}}@media(max-width:580px){.metrics,.report-grid,.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.actions{width:100%}.actions .btn{flex:1}.user-pill{display:none}.merchant-switch select{min-width:120px;max-width:155px}.data th,.data td{padding:10px}.key-value{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{width:100%}}

/* Interactive Business UI */
body.modal-open{overflow:hidden}.click-row{cursor:pointer;transition:background .15s ease}.click-row:hover,.click-row:focus{background:rgba(127,73,239,.07);outline:none}.click-row:focus{box-shadow:inset 3px 0 0 #8f4bf4}.detail-modal{width:min(720px,100%);max-height:min(86vh,820px);overflow:hidden}.detail-body{max-height:calc(86vh - 88px);overflow:auto}.detail-hero{display:grid;gap:7px;padding:16px;border:1px solid rgba(139,75,239,.22);border-radius:14px;background:linear-gradient(145deg,rgba(119,56,244,.11),rgba(255,79,143,.05))}.detail-hero>span:first-child{color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.detail-hero>strong{font-size:1.3rem;letter-spacing:-.03em}.detail-subvalue{color:var(--muted);font-size:.68rem}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.detail-kv-row{display:grid;gap:5px;padding:12px;border:1px solid rgba(151,160,205,.09);border-radius:11px;background:rgba(255,255,255,.018)}.detail-kv-row>span{color:var(--muted);font-size:.59rem;text-transform:uppercase;letter-spacing:.045em}.detail-kv-row>strong{font-size:.72rem;overflow-wrap:anywhere}.detail-section{display:grid;gap:9px}.detail-section h3{margin:2px 0 0;font-size:.74rem}.detail-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.detail-list>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(151,160,205,.08);font-size:.69rem}.detail-list>div:last-child{border-bottom:0}.mini-transactions{display:grid;gap:7px}.mini-transaction{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02);text-align:left;cursor:pointer}.mini-transaction:hover{border-color:rgba(180,102,255,.4);background:rgba(119,56,244,.05)}.mini-transaction span{color:var(--muted);font-size:.64rem}.mini-transaction strong{font-size:.68rem}

.withdraw-modal{width:min(520px,100%)}.withdraw-balance{display:grid;gap:5px;padding:16px;border-radius:14px;border:1px solid rgba(121,56,237,.2);background:linear-gradient(135deg,rgba(121,56,237,.13),rgba(255,79,143,.06))}.withdraw-balance span{color:var(--muted);font-size:.62rem}.withdraw-balance strong{font-size:1.55rem;letter-spacing:-.04em}.quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:-4px}.quick-amounts button{min-height:31px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025);color:#c7cce0;cursor:pointer;font-size:.63rem}.quick-amounts button:hover{border-color:rgba(180,102,255,.45);background:rgba(119,56,244,.08)}.withdraw-summary{display:grid;gap:6px;padding:18px;border:1px solid rgba(121,56,237,.2);border-radius:14px;background:linear-gradient(120deg,rgba(119,56,244,.12),rgba(255,79,143,.04))}.withdraw-summary span,.withdraw-summary small{color:var(--muted);font-size:.64rem}.withdraw-summary strong{font-size:1.6rem;letter-spacing:-.04em}

.chart-card{overflow:visible}.chart-stage{min-height:180px;position:relative}.segmented{display:flex;gap:4px;padding:3px;border:1px solid var(--border);border-radius:9px;background:rgba(7,10,24,.7)}.segmented button{min-width:42px;height:27px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;font-size:.6rem;font-weight:700}.segmented button.active{background:linear-gradient(110deg,#7738f4,#c936e8);color:#fff;box-shadow:0 6px 14px rgba(119,56,244,.2)}.interactive-bars{height:175px;display:flex;align-items:stretch;gap:5px;padding:8px 2px 22px}.volume-bar{position:relative;flex:1;min-width:8px;border:0;background:transparent;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center}.volume-bar>span{width:100%;height:var(--h);min-height:4px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#cb42ef 0%,#7638f4 70%,#5f35dd 100%);box-shadow:0 5px 14px rgba(119,56,244,.14);transition:filter .15s ease,transform .15s ease,opacity .15s ease}.volume-bar:hover>span,.volume-bar:focus>span{filter:brightness(1.18);transform:translateY(-2px)}.volume-bar small{position:absolute;bottom:-19px;color:var(--subtle);font-size:.53rem;white-space:nowrap}.chart-tooltip{position:fixed;z-index:400;display:grid;gap:4px;min-width:145px;max-width:220px;padding:9px 11px;border:1px solid rgba(170,115,255,.25);border-radius:10px;background:rgba(13,17,35,.97);box-shadow:0 18px 42px rgba(0,0,0,.4);pointer-events:none}.chart-tooltip b{font-size:.65rem}.chart-tooltip span{color:var(--muted);font-size:.61rem}.recon-overview{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:20px}.interactive-donut{width:132px;height:132px;border-radius:50%;position:relative;margin:auto;box-shadow:0 12px 26px rgba(0,0,0,.13);cursor:pointer}.donut-hole{position:absolute;inset:24px;display:grid;place-items:center;align-content:center;border-radius:50%;background:#10152a;box-shadow:inset 0 0 0 1px var(--border)}.donut-hole strong{font-size:1rem}.donut-hole span{color:var(--muted);font-size:.52rem}.chart-legend{display:grid;gap:5px}.chart-legend button{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;width:100%;padding:8px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:opacity .15s ease,background .15s ease}.chart-legend button:hover{background:rgba(255,255,255,.025);border-color:var(--border)}.chart-legend button.muted{opacity:.32}.chart-legend button span{color:var(--muted);font-size:.61rem;text-transform:capitalize}.chart-legend button strong{font-size:.67rem}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.matched{background:#6d5dfc}.legend-dot.unmatched{background:#f4b740}.legend-dot.reversed{background:#e85d75}.legend-dot.flagged{background:#ff7a59}.stack-chart{height:180px;display:flex;align-items:stretch;gap:5px;padding:6px 0 22px}.stack-column{position:relative;flex:1;min-width:8px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border:0;background:transparent;padding:0;cursor:pointer}.stack{width:100%;min-height:0;transition:filter .15s ease}.stack-column:hover .stack{filter:brightness(1.15)}.stack.matched{background:#6d5dfc}.stack.unmatched{background:#f4b740}.stack.reversed{background:#e85d75}.stack.flagged{background:#ff7a59}.stack-column .stack:first-child{border-radius:0 0 4px 4px}.stack-column .stack:last-of-type{border-radius:4px 4px 0 0}.stack-column small{position:absolute;bottom:-19px;color:var(--subtle);font-size:.53rem;white-space:nowrap}.ai-insight .card-body{padding:15px}.insight-callout{display:flex;align-items:flex-start;gap:12px}.insight-callout>span{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:linear-gradient(135deg,rgba(119,56,244,.22),rgba(255,79,143,.15));color:#d89cff}.insight-callout p{margin:2px 0;color:#bac1d9;font-size:.7rem;line-height:1.55}.insight-callout strong{color:#fff}

@media(max-width:720px){.detail-grid{grid-template-columns:1fr}.recon-overview{grid-template-columns:1fr}.interactive-donut{width:120px;height:120px}.quick-amounts{grid-template-columns:repeat(2,1fr)}.mini-transaction{grid-template-columns:1fr auto}.mini-transaction .badge{display:none}}

/* Rafiyki Business management workspace */
.manage-modal{max-width:720px}.manage-modal.wide{max-width:980px}.manage-body{padding:0;max-height:min(78vh,820px);overflow:auto}.manage-body>#manageBody{display:grid;gap:1px;background:var(--border)}
.manage-section{padding:22px;background:var(--surface,#0e1320)}.manage-section-head{margin-bottom:16px}.manage-section-head h3{margin:0;font-size:15px}.manage-section-head p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.manage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manage-field{display:grid;gap:7px;font-size:12px;color:var(--muted)}.manage-field>span{font-weight:700;color:var(--text)}.manage-field.wide,.manage-grid>.wide{grid-column:1/-1}.manage-field input,.manage-field select,.manage-field textarea,.toolbar-select{width:100%;border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--text);border-radius:12px;padding:11px 12px;outline:none}.manage-field select[multiple]{min-height:96px}.manage-field input:focus,.manage-field select:focus,.manage-field textarea:focus,.toolbar-select:focus{border-color:rgba(182,67,238,.65);box-shadow:0 0 0 3px rgba(151,61,238,.12)}.manage-field small{color:var(--muted);line-height:1.4}.manage-check{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer}.manage-check input{margin-top:2px;accent-color:#b83be9}.manage-check span{display:grid;gap:3px}.manage-check strong{font-size:12px}.manage-check small{font-size:11px;color:var(--muted);font-weight:400}.check-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.capability-grid{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.cap-chip input{position:absolute;opacity:0}.cap-chip span{display:block;padding:9px 12px;border:1px solid var(--border);border-radius:999px;font-size:11px;font-weight:750;cursor:pointer;background:rgba(255,255,255,.025);transition:.16s}.cap-chip input:checked+span{border-color:rgba(206,59,223,.7);background:linear-gradient(110deg,rgba(119,56,244,.24),rgba(255,79,143,.16));color:#fff;box-shadow:0 6px 18px rgba(139,53,229,.12)}
.sticky-actions{position:sticky;bottom:0;background:rgba(8,12,20,.96);backdrop-filter:blur(14px);padding:16px 22px;border-top:1px solid var(--border);margin:0;z-index:2}.manage-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.manage-search{height:40px;min-width:230px;flex:1;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:11px;padding:0 12px;background:rgba(255,255,255,.025);color:var(--muted)}.manage-search input{flex:1;border:0;outline:0;background:transparent;color:var(--text);min-width:0}.toolbar-select{width:auto;min-width:175px;height:40px;padding-top:0;padding-bottom:0}.manage-card-head{align-items:center}.manage-card-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.row-actions{display:flex;justify-content:flex-end;gap:7px;white-space:nowrap}.btn.primary-soft{border-color:rgba(197,63,232,.4);background:rgba(156,53,225,.12);color:#f2d8ff}
.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:18px}.entity-card{border:1px solid var(--border);border-radius:16px;padding:15px;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(255,255,255,.015));display:grid;gap:13px;min-width:0}.entity-card-top{display:flex;gap:11px;align-items:center;min-width:0}.entity-card-top>div:not(.booking-icon){min-width:0;flex:1}.entity-card-top h3{margin:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-card-top p{margin:4px 0 0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-thumb,.mini-avatar,.booking-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;overflow:hidden;flex:0 0 auto;background:linear-gradient(135deg,rgba(119,56,244,.2),rgba(255,79,143,.16));border:1px solid var(--border);font-weight:800}.entity-thumb img{width:100%;height:100%;object-fit:cover}.entity-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.entity-card-meta span{padding:8px 9px;background:rgba(255,255,255,.026);border-radius:9px;color:var(--muted);font-size:10px;display:grid;gap:3px}.entity-card-meta b{font-size:11px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-card-actions{display:flex;justify-content:flex-end;gap:7px}.context-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025)}.context-banner>div{display:flex;gap:10px;align-items:center}.context-banner>div>div{display:grid}.context-banner span{font-size:10px;color:var(--muted)}.context-banner strong{font-size:13px}.context-banner small{font-size:10px;color:var(--muted)}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr))}.product-media{height:130px;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.035);position:relative;display:grid;place-items:center;font-size:30px;font-weight:850}.product-media img{width:100%;height:100%;object-fit:cover}.product-media>div{position:absolute;left:9px;top:9px}.product-price{font-size:18px;font-weight:850}.product-owner{color:var(--muted);font-size:10px}.manage-empty-card{text-align:center;padding:46px 24px}.manage-empty-card h2{margin:10px 0 6px}.manage-empty-card p{max-width:580px;margin:0 auto;color:var(--muted);line-height:1.6}.empty-state-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin:auto;background:linear-gradient(135deg,rgba(119,56,244,.2),rgba(255,79,143,.16));font-size:25px}.centered{justify-content:center;margin-top:18px}
.entity-list{display:grid;gap:8px}.entity-list-row{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02);color:var(--text);text-align:left;cursor:pointer}.entity-list-row.static{cursor:default}.entity-list-row span:nth-child(2){display:grid;min-width:0}.entity-list-row strong{font-size:12px}.entity-list-row small{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-avatar{width:34px;height:34px;border-radius:10px}.marketplace-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:8px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(110deg,rgba(119,56,244,.07),rgba(255,79,143,.04))}.marketplace-flow>div{display:flex;gap:8px;align-items:center;min-width:0}.marketplace-flow b{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(110deg,#7738f4,#c936e8);font-size:10px}.marketplace-flow span{font-size:11px;font-weight:650}.marketplace-flow i{color:var(--muted);font-style:normal}.summary-line span small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
@media(max-width:800px){.manage-modal.wide,.manage-modal{max-width:none;width:min(96vw,720px)}.manage-grid{grid-template-columns:1fr}.manage-field.wide,.manage-grid>.wide{grid-column:auto}.check-row{grid-template-columns:1fr}.manage-toolbar{align-items:stretch}.manage-search,.toolbar-select,.manage-toolbar>.btn{width:100%;min-width:0}.entity-grid{grid-template-columns:1fr}.marketplace-flow{grid-template-columns:1fr}.marketplace-flow>i{transform:rotate(90deg);text-align:center}.row-actions{flex-wrap:wrap}.context-banner{align-items:flex-start}}

/* Management polish: darker native selects, compact checks, larger readable type, image upload + delete confirmation */
select,select option,select optgroup,.manage-field select,.toolbar-select,.merchant-switch select,#withdrawMethod{background:#090d1d;color:#f7f8ff;color-scheme:dark}
select option,select optgroup{background-color:#090d1d!important;color:#f7f8ff!important}
.manage-field{font-size:13.5px}.manage-field>span{font-size:13.5px}.manage-field input,.manage-field select,.manage-field textarea,.toolbar-select{font-size:14px;line-height:1.35}.manage-field textarea{min-height:88px;resize:vertical}.manage-section-head h3{font-size:16px}.manage-section-head p{font-size:12.5px}.manage-card-head p{font-size:12.5px}.entity-card-top h3{font-size:15px}.entity-card-top p{font-size:12px}.entity-card-meta span{font-size:11px}.entity-card-meta b{font-size:12px}.product-owner{font-size:11px}.entity-list-row strong{font-size:13px}.entity-list-row small{font-size:11px}.data th,.data td{font-size:.73rem}.data th{font-size:.62rem}.data td strong{font-size:.76rem}
.manage-check{align-items:center;min-height:46px}.manage-check input[type="checkbox"]{appearance:auto;-webkit-appearance:checkbox;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;max-width:17px!important;max-height:17px!important;padding:0!important;margin:0!important;flex:0 0 17px;accent-color:#b83be9}.manage-check strong{font-size:13px}.manage-check small{font-size:11.5px}.cap-chip input[type="checkbox"]{width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important}.cap-chip span{font-size:12px}
.manage-image-field{grid-column:1/-1}.manage-image-row{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.manage-image-preview{width:100%;height:190px;border:1px dashed rgba(184,83,239,.42);border-radius:16px;background:linear-gradient(145deg,rgba(119,56,244,.09),rgba(255,79,143,.045));display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:12px}.manage-image-preview.has-image{border-style:solid}.manage-image-preview img{width:100%;height:100%;object-fit:contain;background:#050814}.manage-image-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.manage-image-controls>input[type="url"]{grid-column:1/-1}.manage-image-controls>input[type="file"]{min-height:42px;padding:6px 8px;background:#090d1d}.manage-image-controls>input[type="file"]::file-selector-button{min-height:29px;margin-right:9px;padding:0 11px;border:1px solid rgba(180,102,255,.35);border-radius:8px;background:rgba(119,56,244,.12);color:#eee7ff;cursor:pointer}.manage-image-controls>.manage-upload-btn{white-space:nowrap}.manage-image-controls>small{grid-column:1/-1;color:var(--muted);font-size:11.5px}
.manage-action-spacer{flex:1}.manage-delete{margin-right:auto}.confirm-modal{width:min(460px,100%);padding:24px;display:grid;gap:16px;background:linear-gradient(180deg,#11162d,#0b0f20)}.confirm-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:rgba(255,82,102,.12);border:1px solid rgba(255,82,102,.28);color:#ff8291;font-size:22px;font-weight:900}.confirm-copy{display:grid;gap:7px}.confirm-copy h2{margin:0;font-size:1.1rem}.confirm-copy p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.confirm-target{padding:12px 14px;border:1px solid rgba(255,82,102,.18);border-radius:11px;background:rgba(255,82,102,.055);font-size:.82rem;font-weight:750;overflow-wrap:anywhere}.confirm-actions{margin-top:0}.confirm-actions .btn.danger{min-width:110px;background:linear-gradient(110deg,#b9274b,#ff5266);border:0;color:#fff;box-shadow:0 10px 24px rgba(255,82,102,.16)}
@media(max-width:640px){.manage-image-row{grid-template-columns:1fr}.manage-image-preview{width:100%;height:160px}.manage-image-controls{grid-template-columns:1fr}.manage-image-controls>*{grid-column:1!important}.sticky-actions{flex-wrap:wrap}.manage-action-spacer{display:none}.manage-delete{margin-right:0}}

/* Compact status badges: prevent long statuses such as Awaiting payment from stretching */
.badge{width:max-content!important;max-width:100%;flex:0 0 auto!important;align-self:center;justify-self:start;justify-content:center;white-space:nowrap;line-height:1.1}
.data td .badge,.entity-card .badge,.detail-hero .badge{display:inline-flex;width:max-content!important}

/* Google Maps location picker */
.manage-map-picker{grid-column:1/-1;display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(145deg,rgba(119,56,244,.055),rgba(255,79,143,.025));overflow:hidden}
.manage-map-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.manage-map-head>div{display:grid;gap:2px}.manage-map-head strong{font-size:14px}.manage-map-head small{font-size:11.5px;color:var(--muted)}.map-kenya-chip{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 9px;border-radius:999px;border:1px solid rgba(83,215,151,.22);background:rgba(83,215,151,.08);color:#9ce8bf}
.manage-map-search{min-height:46px;position:relative;z-index:4}.manage-map-search gmp-place-autocomplete{display:block;width:100%;min-height:44px;color-scheme:dark;--gmpx-color-surface:#090d1d;--gmpx-color-on-surface:#f7f8ff;--gmpx-color-on-surface-variant:#aab0c6;--gmpx-color-primary:#b83be9;--gmpx-color-outline:#303852;--gmpx-font-family:Inter,system-ui,sans-serif}
.manage-map-canvas{height:300px;border-radius:13px;overflow:hidden;background:#090d1d;border:1px solid rgba(255,255,255,.075);position:relative}.map-loading,.map-config-error{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;padding:24px;color:var(--muted);font-size:12px;background:radial-gradient(circle at center,rgba(119,56,244,.08),transparent 60%)}.map-config-error strong{color:var(--text);font-size:13px}.map-config-error span{max-width:440px;line-height:1.5}.manage-map-status{font-size:11.5px;color:var(--muted);line-height:1.45;padding:0 2px}.manage-map-picker input[type="hidden"]{display:none!important}
@media(max-width:640px){.manage-map-canvas{height:240px}.manage-map-head{align-items:flex-start}.map-kenya-chip{flex:0 0 auto}}


/* Google Custom Search image picker */
.manage-image-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.manage-image-actions>.btn{white-space:nowrap}.manage-image-search-btn{border-color:rgba(73,152,255,.34);background:rgba(48,119,255,.08);color:#dceaff}.manage-image-search-btn:hover{border-color:rgba(91,169,255,.6);background:rgba(48,119,255,.14)}
.manage-image-search-panel{grid-column:1/-1;display:grid;gap:10px;margin-top:3px;padding:12px;border:1px solid rgba(126,92,239,.22);border-radius:13px;background:rgba(5,9,21,.72)}.manage-image-search-panel.hidden{display:none}.manage-image-searchbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.manage-image-searchbar input{min-width:0}.manage-image-search-status{min-height:16px;color:var(--muted);font-size:.72rem}.manage-image-search-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.manage-image-result{display:grid;grid-template-rows:minmax(145px,1fr) auto;gap:0;min-width:0;padding:0;border:1px solid rgba(151,160,205,.13);border-radius:11px;background:#090d1c;color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .14s ease,border-color .14s ease,background .14s ease}.manage-image-result:hover{transform:translateY(-2px);border-color:rgba(180,102,255,.5);background:rgba(119,56,244,.08)}.manage-image-result:disabled{opacity:.62;cursor:wait;transform:none}.manage-image-result.importing{border-color:rgba(70,170,255,.65);box-shadow:0 0 0 2px rgba(70,170,255,.08)}.manage-image-result-media{display:grid;place-items:center;width:100%;height:100%;overflow:hidden;border-radius:0;background:#050814}.manage-image-result-media img{width:100%;height:100%;display:block;object-fit:contain;background:#050814}.manage-image-result-copy{display:grid;gap:3px;min-width:0;padding:10px}.manage-image-result-copy strong{font-size:.69rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manage-image-result-copy small,.manage-image-rights-note{color:var(--muted);font-size:.62rem}.manage-image-rights-note{display:block}
@media(max-width:900px){.manage-image-search-results{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.manage-image-searchbar{grid-template-columns:1fr}.manage-image-search-results{grid-template-columns:1fr 1fr}.manage-image-result{grid-template-rows:140px auto}.manage-image-actions{display:grid;grid-template-columns:1fr 1fr}.manage-image-actions>.btn{width:100%}}

/* Rafiyki management UX pass: accent scrollbars, smart suggestions and custom Places search */
*{scrollbar-width:thin;scrollbar-color:#a249ef #090d1d}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#090d1d;border-radius:999px}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7938ed,#c936e8,#ff4f8f);border:2px solid #090d1d;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8f4bf4,#d849ec,#ff6ca3)}

.smart-list-field{gap:9px}.smart-chip-editor{display:grid;gap:9px}.smart-chip-values{display:flex;flex-wrap:wrap;gap:7px;min-height:4px}.smart-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 8px 6px 10px;border:1px solid rgba(190,73,242,.34);border-radius:999px;background:linear-gradient(110deg,rgba(121,56,237,.14),rgba(255,79,143,.07));color:#f1e7ff;font-size:12px;line-height:1.2}.smart-chip button{width:18px;height:18px;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#d6c7ef;cursor:pointer;padding:0}.smart-chip button:hover{background:rgba(255,82,102,.18);color:#ff9caa}.smart-chip-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.smart-chip-entry input{min-width:0}.smart-suggestion-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.smart-suggest-label{font-size:11px;color:var(--muted);margin-right:2px}.smart-suggest{border:1px solid rgba(151,160,205,.15);border-radius:999px;background:rgba(255,255,255,.025);color:#bfc5dc;padding:5px 8px;cursor:pointer;font-size:11px}.smart-suggest:hover{border-color:rgba(190,73,242,.45);background:rgba(121,56,237,.10);color:#fff}

.custom-place-search{display:grid;gap:5px}.place-search-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:45px;padding:0 10px;border:1px solid var(--border);border-radius:12px;background:#090d1d;transition:.15s}.place-search-input-wrap:focus-within{border-color:rgba(182,67,238,.65);box-shadow:0 0 0 3px rgba(151,61,238,.12)}.place-search-input-wrap>span{color:#ac8bed;font-size:16px}.place-search-input-wrap input{min-height:42px;border:0!important;box-shadow:none!important;background:transparent!important;padding:0!important}.place-search-input-wrap button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:18px}.place-search-input-wrap button:hover{background:rgba(255,255,255,.05);color:#fff}.place-suggestion-list{position:absolute;left:0;right:0;top:52px;z-index:25;padding:6px;border:1px solid rgba(178,87,242,.25);border-radius:12px;background:#0b1022;box-shadow:0 20px 45px rgba(0,0,0,.42);max-height:280px;overflow:auto}.place-suggestion{width:100%;display:grid;grid-template-columns:25px minmax(0,1fr);align-items:center;gap:8px;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.place-suggestion:hover{background:rgba(121,56,237,.11)}.place-suggestion>span:last-child{display:grid;gap:3px;min-width:0}.place-suggestion strong{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-suggestion small{font-size:10.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-pin{color:#bc6af2}.place-google-attribution{justify-self:end;color:#7f879f;font-size:9.5px;line-height:1}.manage-map-search{z-index:6}

.manage-field>select+input[data-custom-value]{margin-top:7px}
@media(max-width:640px){.smart-chip-entry{grid-template-columns:1fr}.smart-chip-entry .btn{width:100%}.place-suggestion-list{max-height:220px}}

/* Finance/admin operations: date filters, reversals, settlement automation, payment links and MIDs */
.date-filter-bar{display:grid;grid-template-columns:minmax(180px,1fr) 170px 170px auto;align-items:end;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(110deg,rgba(121,56,237,.07),rgba(255,79,143,.025))}.date-filter-title{display:flex;align-items:center;gap:10px;align-self:center}.date-filter-title>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:rgba(121,56,237,.12);color:#c694ff;font-size:17px}.date-filter-title>div{display:grid;gap:2px}.date-filter-title strong{font-size:.78rem}.date-filter-title small{color:var(--muted);font-size:.63rem}.date-filter-bar label{font-size:.66rem}.date-filter-bar input{min-height:38px}.date-filter-actions{display:flex;gap:7px;align-items:center}.cell-sub{display:block;margin-top:4px;max-width:260px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}.row-actions{display:flex;gap:6px}.copy-code{display:block;padding:14px;border:1px solid var(--border);border-radius:11px;background:#080c1a;overflow-wrap:anywhere}
.detail-body textarea,.finance-form textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:10px;outline:0;background:#090d1d;color:#fff;font:inherit;resize:vertical}.detail-body textarea:focus,.finance-form textarea:focus{border-color:rgba(133,69,244,.8);box-shadow:0 0 0 3px rgba(117,55,226,.12)}.danger-zone{border:1px solid rgba(255,82,102,.18);border-radius:13px;background:rgba(255,82,102,.035);padding:14px}.danger-zone-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.danger-zone-head h3{margin:0 0 4px}.danger-zone-head p{margin:0;color:var(--muted);font-size:.69rem}.reverse-panel{display:grid;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,82,102,.15)}.reverse-actions,.finance-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.action-spacer{flex:1}
.finance-form{display:grid;gap:14px}.finance-form label{font-size:.75rem}.finance-form input,.finance-form select,.finance-form textarea{font-size:.86rem}.form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.finance-field{display:grid;gap:8px}.finance-field>span{color:#bdc3d9;font-size:.75rem}.inline-check{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02);cursor:pointer}.inline-check input{width:17px!important;height:17px!important;min-height:17px!important;flex:0 0 auto;padding:0;accent-color:#a249ef}.payment-method-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payment-method-choice{display:flex!important;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.02);cursor:pointer}.payment-method-choice:has(input:checked){border-color:rgba(178,75,244,.55);background:rgba(121,56,237,.1)}.payment-method-choice input{width:17px!important;height:17px!important;min-height:17px!important;accent-color:#a249ef}.payment-method-choice>span{display:grid;gap:2px}.payment-method-choice b{font-size:.72rem}.payment-method-choice small{color:var(--muted);font-size:.6rem}.settlement-merchant{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--border);border-radius:11px}.settlement-merchant span{color:var(--muted);font-size:.67rem}.settlement-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.settlement-summary>div{display:grid;gap:6px;padding:13px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}.settlement-summary span{color:var(--muted);font-size:.63rem}.settlement-summary strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Hosted Pay via Rafiyki checkout */
.hosted-pay-body{min-height:100vh;background:radial-gradient(circle at 50% -10%,rgba(122,56,237,.26),transparent 42%),#070a16}.hosted-pay-shell{min-height:100vh;display:grid;place-items:center;padding:28px 16px}.hosted-pay-card{width:min(520px,100%);display:grid;gap:18px;padding:22px;border:1px solid rgba(151,160,205,.15);border-radius:24px;background:linear-gradient(180deg,rgba(17,22,45,.97),rgba(8,12,27,.98));box-shadow:0 35px 90px rgba(0,0,0,.38)}.hosted-pay-brand{display:flex;align-items:center;gap:10px}.hosted-pay-brand>div:last-child{display:grid;gap:2px}.hosted-pay-brand strong{font-size:.88rem}.hosted-pay-brand span{color:var(--muted);font-size:.62rem}.hosted-pay-rafiyki-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#7738f4,#d238e6,#ff7b31);font-size:1rem;font-weight:900;box-shadow:0 10px 24px rgba(145,51,230,.22)}.hosted-pay-loading{padding:44px 12px;text-align:center;color:var(--muted)}.merchant-checkout-brand{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.025)}.merchant-checkout-brand>div:last-child{display:grid;gap:3px}.merchant-checkout-brand span,.merchant-checkout-brand small{color:var(--muted);font-size:.65rem}.merchant-checkout-brand h1{margin:0;font-size:1rem}.checkout-merchant-logo{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#7938ed,#ff4f8f);font-weight:900}.checkout-merchant-logo img{width:100%;height:100%;object-fit:cover}.checkout-request{display:grid;gap:7px;padding:2px 3px}.checkout-request>span{color:var(--muted);font-size:.7rem}.checkout-request>strong{font-size:2rem;letter-spacing:-.045em}.checkout-request p{margin:0;color:#c9cee0;font-size:.75rem;line-height:1.5}.checkout-request small{color:var(--muted)}.hosted-pay-form{display:grid;gap:13px}.checkout-method-field{display:grid;gap:8px}.checkout-method-field>span{font-size:.72rem;color:#bdc3d9}.checkout-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.checkout-method{display:grid!important;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:11px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.022);cursor:pointer}.checkout-method:has(input:checked){border-color:rgba(190,73,242,.62);background:linear-gradient(110deg,rgba(121,56,237,.14),rgba(255,79,143,.07));box-shadow:0 7px 18px rgba(121,56,237,.08)}.checkout-method input{width:16px!important;height:16px!important;min-height:16px!important;accent-color:#a249ef}.checkout-method-icon{min-width:36px;height:28px;display:grid;place-items:center;padding:0 5px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0a0e1d;font-size:.62rem;font-weight:900}.checkout-method>span:last-child{display:grid;gap:2px}.checkout-method b{font-size:.7rem}.checkout-method small{color:var(--muted);font-size:.58rem}.security-strip{display:grid;gap:7px;padding:11px;border:1px solid rgba(66,215,137,.14);border-radius:12px;background:rgba(66,215,137,.035)}.security-strip>div{display:grid;grid-template-columns:150px 1fr;gap:8px;align-items:center}.security-strip b{font-size:.62rem;color:#9be9bf}.security-strip span{font-size:.59rem;color:var(--muted)}.hosted-pay-submit{min-height:48px}.checkout-result{display:grid;gap:12px;text-align:center;padding:12px 3px}.checkout-result-icon{width:58px;height:58px;margin:auto;display:grid;place-items:center;border-radius:18px;background:rgba(66,215,137,.12);border:1px solid rgba(66,215,137,.25);color:#6de3a6;font-size:1.6rem}.checkout-result h2{margin:0}.checkout-result p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.5}.checkout-result dl{display:grid;grid-template-columns:120px 1fr;gap:8px 10px;text-align:left;padding:12px;border:1px solid var(--border);border-radius:12px}.checkout-result dt{color:var(--muted);font-size:.66rem}.checkout-result dd{margin:0;font-size:.69rem;overflow-wrap:anywhere}.hosted-pay-footer{text-align:center;color:var(--subtle);font-size:.58rem}
@media(max-width:860px){.date-filter-bar{grid-template-columns:1fr 1fr}.date-filter-title{grid-column:1/-1}.settlement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.date-filter-bar,.form-two,.payment-method-select,.checkout-method-grid{grid-template-columns:1fr}.date-filter-actions{justify-content:flex-end}.settlement-summary{grid-template-columns:1fr 1fr}.security-strip>div{grid-template-columns:1fr;gap:2px}.hosted-pay-card{padding:17px;border-radius:19px}.checkout-request>strong{font-size:1.7rem}}

/* Hosted checkout payment-brand and method-specific fields */
.checkout-method-logo{width:58px;height:34px;display:grid;place-items:center;padding:5px 7px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:#fff;overflow:hidden}
.checkout-method-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.payment-logo-fallback{width:100%;height:100%;place-items:center;color:#111827;font-size:.61rem;font-weight:900}
.payment-specific-card{display:grid;gap:11px;padding:14px;border:1px solid rgba(160,91,244,.2);border-radius:14px;background:linear-gradient(140deg,rgba(121,56,237,.08),rgba(255,79,143,.035))}
.payment-specific-card:empty{display:none}
.payment-specific-title{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}
.payment-specific-title>img,.payment-specific-title>.checkout-method-logo,.payment-specific-title>.payment-logo-fallback{width:58px;height:34px;object-fit:contain;border-radius:9px;padding:5px;background:#fff}
.payment-specific-title>div{display:grid;gap:2px}.payment-specific-title b{font-size:.76rem}.payment-specific-title span{color:var(--muted);font-size:.61rem}
.payment-card-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.payment-data-note{color:var(--muted);font-size:.59rem;line-height:1.45}
.checkout-method{grid-template-columns:auto 58px 1fr}.checkout-method>span:last-child{min-width:0}.checkout-method b{font-size:.73rem}.checkout-method small{font-size:.59rem;line-height:1.35}

/* Order fulfilment actions */
.order-status-section{display:grid;gap:11px}.order-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.order-status-heading h3{margin:0 0 3px}.order-status-heading span{color:var(--muted);font-size:.64rem}
.order-status-actions{display:flex;flex-wrap:wrap;gap:8px}.order-status-btn{min-width:122px}.order-status-btn[data-order-status="PROCESSING"],.order-status-btn[data-order-status="IN_PROGRESS"]{border-color:rgba(244,189,69,.28)}.order-status-btn[data-order-status="READY"],.order-status-btn[data-order-status="CONFIRMED"]{border-color:rgba(96,165,250,.3)}.order-status-btn[data-order-status="OUT_FOR_DELIVERY"]{border-color:rgba(168,85,247,.34)}.order-status-btn[data-order-status="DELIVERED"],.order-status-btn[data-order-status="COMPLETED"]{border-color:rgba(66,215,137,.35)}
.order-status-timeline{display:grid;gap:9px}.order-status-timeline>div{display:grid;grid-template-columns:12px 1fr;gap:9px;align-items:start}.order-status-timeline i{width:9px;height:9px;margin-top:5px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#ec4899);box-shadow:0 0 0 4px rgba(124,58,237,.08)}.order-status-timeline span{display:grid;gap:2px}.order-status-timeline b{text-transform:capitalize;font-size:.69rem}.order-status-timeline small{color:var(--muted);font-size:.59rem;line-height:1.4}
@media(max-width:560px){.payment-card-row{grid-template-columns:1fr}.checkout-method{grid-template-columns:auto 54px 1fr}.checkout-method-logo{width:54px}.order-status-actions{display:grid;grid-template-columns:1fr 1fr}.order-status-btn{min-width:0}}
.payment-method-choice{grid-template-columns:auto 44px 1fr!important}.payment-method-choice-logo{width:44px;height:28px;display:grid;place-items:center;padding:4px 6px;border-radius:7px;background:#fff;overflow:hidden}.payment-method-choice-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}

/* Asset-free Rafiyki alternative mark */
.rafiyki-alt-icon{width:100%;height:100%;display:grid;place-items:center;border-radius:7px;background:linear-gradient(135deg,#7738f4 0%,#b53ee5 52%,#ff6a3d 100%);color:#fff;font-size:.82rem;font-weight:900;line-height:1;letter-spacing:-.04em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.hosted-pay-rafiyki-mark{color:#fff;line-height:1;letter-spacing:-.04em}
.payment-specific-title .checkout-method-logo .rafiyki-alt-icon{border-radius:6px}
.payment-method-choice-logo.rafiyki-no-asset{padding:0;background:transparent;border:0}
.payment-method-choice-logo.rafiyki-no-asset .rafiyki-alt-icon{border-radius:7px}


/* Rafiyki embedded brand icon + checkout title/reference alignment */
.embedded-brand-logo,.hosted-pay-rafiyki-mark img{width:100%;height:100%;display:block;object-fit:contain}
.hosted-pay-rafiyki-mark{overflow:hidden;padding:4px;background:rgba(255,255,255,.035)!important}
.checkout-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}
.checkout-request-head>span{min-width:0;font-size:.76rem;font-weight:750;color:#f5f6ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.checkout-reference{display:flex;align-items:center;gap:5px;flex:0 0 auto;color:var(--muted);font-size:.61rem;white-space:nowrap}
.checkout-reference b{color:#d8dcef;font-weight:700}
#payAmount.hidden{display:none!important}

/* Icon-first withdrawal destination selector */
.withdraw-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}
.withdraw-method-card{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:58px;padding:10px 11px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.022);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.withdraw-method-card:hover{border-color:rgba(177,98,255,.4);background:rgba(121,56,237,.055);transform:translateY(-1px)}
.withdraw-method-card:has(input:checked){border-color:rgba(191,75,242,.68);background:linear-gradient(110deg,rgba(121,56,237,.16),rgba(255,79,143,.07));box-shadow:0 7px 18px rgba(121,56,237,.08)}
.withdraw-method-card>input{position:absolute;opacity:0;pointer-events:none}
.withdraw-method-card>span:last-child{display:grid;gap:2px;min-width:0}.withdraw-method-card b{font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.withdraw-method-card small{font-size:.56rem;color:var(--muted)}
.withdraw-choice-logo{width:46px;height:34px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:#0a0e1d}
.withdraw-choice-logo>.payment-method-choice-logo{width:100%;height:100%;border:0;border-radius:0;background:transparent;padding:5px}
.withdraw-choice-logo>.payment-method-choice-logo img{width:100%;height:100%;object-fit:contain}
.withdraw-bank-logo{width:100%;height:100%;display:grid;place-items:center;padding:5px}

/* Bank selector used by MIDs */
.bank-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.bank-choice{display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:58px;padding:10px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.022);cursor:pointer}
.bank-choice:has(input:checked){border-color:rgba(191,75,242,.68);background:linear-gradient(110deg,rgba(121,56,237,.14),rgba(255,79,143,.06))}
.bank-choice>input{position:absolute;opacity:0;pointer-events:none}.bank-choice>span:last-child{display:grid;gap:2px;min-width:0}.bank-choice b{font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bank-choice small{font-size:.55rem;color:var(--muted)}
.bank-choice-logo{width:44px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:9px;background:#fff;overflow:hidden}
.bank-logo,.bank-inline-logo{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.bank-logo img,.bank-inline-logo img{width:100%;height:100%;object-fit:contain}.bank-logo-fallback,.bank-none-logo{width:100%;height:100%;display:grid;place-items:center;background:#12182c;color:#dfe3f4;font-size:.58rem;font-weight:800}
.bank-inline{display:inline-flex;align-items:center;gap:7px;min-width:0}.bank-inline-logo{width:28px;height:24px;flex:0 0 28px;padding:3px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#fff}.bank-inline>span:last-child{max-width:125px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.63rem}
.method-pill-with-logo{display:inline-flex!important;align-items:center;gap:5px}.method-pill-with-logo .payment-method-choice-logo{width:22px;height:16px;min-width:22px;padding:1px;border:0;background:transparent}.method-pill-with-logo .payment-method-choice-logo img{width:100%;height:100%;object-fit:contain}
.payment-method-choice-logo.rafiyki-no-asset{background:transparent;border:0;padding:2px}
.payment-method-choice-logo.rafiyki-no-asset img{width:100%;height:100%;object-fit:contain}
@media(max-width:580px){.withdraw-method-grid,.bank-choice-grid{grid-template-columns:1fr}.checkout-request-head{align-items:flex-start}.checkout-reference{font-size:.57rem}}
.withdraw-bank-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.checkout-reference b{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}


.pay-inline-label{display:grid;gap:6px}
.field-label.with-start-margin{display:block;margin-inline-start:6px}
.checkout-method-field{display:grid;gap:8px}
.checkout-method-field>span{display:block}
.checkout-method-logo,.payment-method-choice-logo,.hosted-pay-rafiyki-mark{display:grid;place-items:center}
.checkout-method-logo img,.payment-method-choice-logo img,.embedded-brand-logo,.hosted-pay-rafiyki-mark img{width:100%;height:100%;display:block;object-fit:contain}
.checkout-method-logo img,.payment-method-choice-logo img{padding:2px}
.payment-method-choice-logo.rafiyki-no-asset,.checkout-method-logo .embedded-brand-logo{padding:0}
.withdraw-choice-logo>.payment-method-choice-logo img{padding:0}

/* Full-image rendering: keep uploaded/saved image composition without cropping. */
.manage-image-preview img,
.manage-image-result-media img,
.entity-thumb img,
.product-media img,
.merchant-logo,
.checkout-merchant-logo img {
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.manage-image-preview,
.manage-image-result-media,
.entity-thumb,
.product-media,
.merchant-logo-wrap,
.checkout-merchant-logo {
  background:#050814;
}
/* Do not zoom image search thumbnails: show the same complete image that is saved. */
.manage-image-result-media img{padding:0 !important;}

/* Business portal: branch-directory links, category browser and multi-image listings */
.link-sub{display:block;margin-top:4px;color:var(--muted);font-size:.58rem;line-height:1.35;max-width:210px;overflow-wrap:anywhere}
.directory-link-readout{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.025)}
.directory-link-readout strong{font-size:.68rem;color:#eef0fa;overflow-wrap:anywhere}.directory-link-readout small{font-size:.57rem;color:var(--muted)}
.category-list-panel{margin:0 14px 14px;padding:12px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.018)}
.category-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.category-list-head>div{display:grid;gap:3px}.category-list-head strong{font-size:.72rem}.category-list-head small{color:var(--muted);font-size:.58rem}
.category-chip-list{display:flex;flex-wrap:wrap;gap:7px}.category-manage-chip{display:grid;gap:2px;min-width:120px;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025);color:inherit;text-align:left;cursor:pointer}.category-manage-chip:hover{border-color:rgba(176,38,255,.44);background:rgba(176,38,255,.06)}.category-manage-chip strong{font-size:.64rem}.category-manage-chip small{font-size:.52rem;color:var(--muted)}
.manage-multi-image-field{display:grid;gap:9px}.manage-multi-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;min-height:72px}.manage-multi-image-item{position:relative;min-height:105px;display:grid;grid-template-rows:82px auto;gap:4px;padding:5px;border:1px solid var(--border);border-radius:12px;background:#050814;overflow:hidden}.manage-multi-image-item img{width:100%;height:82px;object-fit:contain;object-position:center;border-radius:8px;background:#050814}.manage-multi-image-item>span{font-size:.52rem;color:var(--muted);text-align:center}.manage-multi-image-item>button{position:absolute;top:7px;right:7px;width:23px;height:23px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(5,8,20,.9);color:#fff;cursor:pointer}.manage-multi-image-empty{display:grid;place-items:center;min-height:76px;border:1px dashed rgba(255,255,255,.12);border-radius:11px;color:var(--muted);font-size:.6rem;background:rgba(255,255,255,.015)}
@media(max-width:640px){.manage-multi-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-manage-chip{min-width:calc(50% - 4px)}}

/* Rafiyki POS bridge • compact, uncropped square logos */
.manage-image-field.logo-small .manage-image-row{grid-template-columns:84px minmax(0,1fr);align-items:start}
.manage-image-field.logo-small .manage-image-preview{width:84px;height:84px;aspect-ratio:1/1;border-radius:14px;font-size:10px}
.manage-image-field.logo-small .manage-image-preview img{object-fit:contain!important;padding:4px}
.manage-image-field.logo-small .manage-image-controls{min-width:0}
.pos-branch-permission{padding:14px 12px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025);margin:9px 0;grid-column:1/-1}
.pos-branch-header{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.pos-permission-title{display:block;color:var(--muted);font-size:12px;font-weight:700;margin:12px 0 7px}
.pos-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pos-permission{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:8px}
.pos-permission input{accent-color:#b743db}
.branch-role-pill{display:inline-block;padding:4px 8px;margin:2px;border:1px solid var(--border);border-radius:8px;font-size:11px}
@media(max-width:640px){.manage-image-field.logo-small .manage-image-row{grid-template-columns:72px minmax(0,1fr);gap:10px}.manage-image-field.logo-small .manage-image-preview{width:72px;height:72px}.pos-branch-header{grid-template-columns:1fr}}

/* Android POS-derived configuration UI. Collapsible groups avoid dense stacked forms. */
.pos-form-panel{min-width:0;grid-column:1/-1;border:1px solid var(--border);border-radius:15px;background:rgba(135,99,204,.045);overflow:hidden;margin:0 0 10px}
.pos-form-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;padding:15px 17px;min-height:58px;user-select:none}
.pos-form-panel>summary::-webkit-details-marker{display:none}
.pos-form-panel>summary strong{display:block;color:var(--text);font-size:14px;letter-spacing:.01em}
.pos-form-panel>summary small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px;line-height:1.35}
.pos-form-panel>summary:hover{background:rgba(168,97,204,.055)}
.pos-chevron{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;width:29px;height:29px;flex-shrink:0;color:var(--muted);transition:transform .18s}
.pos-form-panel[open] .pos-chevron{transform:rotate(180deg)}
.pos-panel-content{padding:17px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.pos-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;margin-top:7px}
.pos-choice{display:flex;align-items:center;gap:9px;font-size:12px;line-height:1.3;padding:11px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02);cursor:pointer;min-height:43px}
.pos-choice input{accent-color:#b743db;flex-shrink:0}
.pos-choice:has(input:checked){border-color:rgba(183,67,219,.55);background:rgba(183,67,219,.09)}
#branchPosSettings{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0;grid-column:1/-1}
#branchPosSettings.hidden,.pos-branch-options.hidden{display:none!important}
.pos-branch-options{padding-top:12px}
.pos-branch-permission:has(input[id^=posAssign_]:checked){border-color:rgba(183,67,219,.5)}
.pos-branch-permission .pos-permission{min-height:38px;font-size:12px;padding:10px}
.pos-empty-permissions{color:var(--muted);font-size:12px}
@media(max-width:680px){.pos-panel-content{grid-template-columns:minmax(0,1fr);padding:13px}.pos-choice-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.pos-form-panel>summary{padding:13px}.pos-branch-permission{padding:12px}.pos-permission-grid{grid-template-columns:minmax(0,1fr)}}

/* Compact native check/radio controls across Rafiyki Business.
   Generic text-field rules give every input width:100% and min-height:43px;
   never let those rules enlarge checkboxes or visible radio controls. */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  appearance: auto;
  -webkit-appearance: auto;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  margin: 0;
  flex: 0 0 16px;
  accent-color: #b743db;
  box-shadow: none;
}

/* Override the more specific .manage-field input selector in POS Customize. */
.manage-field .pos-choice > input[type="checkbox"],
.pos-permission-grid .pos-permission > input[type="checkbox"],
.manage-check > input[type="checkbox"],
.inline-check > input[type="checkbox"],
.payment-method-choice > input[type="checkbox"],
.checkout-method > input[type="radio"] {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 0 0 16px;
  align-self: center;
}

/* Keep choice tiles easy to tap, without stretching their actual checkbox. */
.pos-choice,
.pos-permission {
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.pos-choice {
  min-height: 39px;
  padding: 8px 10px;
}
.pos-choice > span,
.pos-permission > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.pos-choice-grid { gap: 7px; }
.pos-permission-grid { gap: 7px; }

/* Icon-style capability chips deliberately hide the real checkbox.
   Preserve that pattern while keeping the input keyboard accessible. */
.cap-chip { position: relative; }
.cap-chip > input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 1px !important;
  height: 1px !important;
  min-width: 1px !important;
  min-height: 1px !important;
  max-width: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Keyboard focus remains visible for compact controls. */
.pos-choice:has(input:focus-visible),
.pos-permission:has(input:focus-visible),
.manage-check:has(input:focus-visible),
.cap-chip:has(input:focus-visible) > span {
  outline: 2px solid #c572f9;
  outline-offset: 2px;
}

/* Rafiyki Business original login visual language, with production OTP.
   Scoped to .auth-shell so management forms retain their existing styling. */
.auth-shell{--login-ink:#f7f8ff;--login-muted:#949bb8;position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:36px 18px;background:radial-gradient(circle at 65% -20%,rgba(91,43,180,.23),transparent 40%),radial-gradient(circle at 0% 90%,rgba(155,46,166,.1),transparent 48%),#080b18;color:var(--login-ink)}
.auth-shell .auth-card{width:min(464px,100%);padding:32px;border-radius:22px;border:1px solid rgba(151,160,205,.13);background:linear-gradient(180deg,rgba(18,23,48,.97),rgba(9,13,30,.99));box-shadow:0 35px 90px rgba(0,0,0,.36);overflow:hidden}
.auth-shell .auth-brand{display:flex;gap:11px;align-items:center;font-size:inherit;letter-spacing:normal}.auth-shell .auth-brand>div:last-child{display:grid;gap:4px}.auth-shell .auth-brand strong{font-size:1.1rem;font-weight:800;color:#fff}.auth-shell .auth-brand small{color:var(--login-muted);font-size:.68rem}.auth-shell .auth-brand .logo-orb{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(255,255,255,.025);overflow:hidden;box-shadow:0 12px 30px rgba(129,56,232,.2);flex:none}.auth-shell .auth-brand .logo-orb img{width:100%;height:100%;object-fit:contain}
.auth-shell .auth-glow-line{height:3px;border-radius:12px;margin:23px 0 21px;background:linear-gradient(110deg,#7738f4 0%,#c936e8 48%,#ff4f8f 76%,#ff8c26 100%);box-shadow:0 3px 16px rgba(174,51,215,.18)}
.auth-shell .auth-eyebrow{font-weight:800;letter-spacing:1.5px;font-size:.6rem;color:#ba8eef}.auth-shell h1{font-size:clamp(1.65rem,5vw,2rem);letter-spacing:-.045em;line-height:1.15;margin:14px 0 10px}.auth-shell h1 span{background:linear-gradient(110deg,#aa7dff,#eb72d5 55%,#ff996d);color:transparent;background-clip:text;-webkit-background-clip:text}.auth-shell .auth-description{color:#a5adc8;font-size:.78rem;line-height:1.6;margin:0 0 22px}
.auth-shell .auth-card-header{border:0;padding:15px 0 0;border-top:1px solid rgba(151,160,205,.12);display:flex;justify-content:space-between;align-items:center}.auth-shell .auth-card-kicker{font-size:.62rem;letter-spacing:1.1px;font-weight:750;color:#c4a0fd}.auth-shell .auth-lock{color:#d55fd6;font-size:1rem}.auth-shell .auth-card h2{font-size:1.25rem;margin:11px 0 5px;line-height:1.25;letter-spacing:-.02em;color:#fff}.auth-shell .auth-card h2+p{font-size:.74rem;line-height:1.55;color:#949bb8;margin:0 0 20px}
.auth-shell .auth-form{display:grid;gap:12px}.auth-shell .auth-field-label{display:block;font-size:.73rem;font-weight:700;color:#bdc3d9;margin-bottom:7px}.auth-shell .auth-input-wrap{display:flex;align-items:center;gap:9px;border:1px solid rgba(151,160,205,.2);border-radius:10px;background:#090d1d;padding:0 12px}.auth-shell .auth-input-wrap:focus-within{border-color:rgba(133,69,244,.8);box-shadow:0 0 0 3px rgba(117,55,226,.12)}.auth-shell .auth-input-wrap span{font-size:16px;color:#ae9bbf}.auth-shell .auth-input-wrap input{min-height:46px!important;height:46px!important;width:100%;background:transparent!important;border:0!important;box-shadow:none!important;outline:0!important;color:white!important;padding:0!important;font-size:.85rem}.auth-shell .auth-input-wrap input::placeholder{color:#6b7391}
.auth-shell .auth-primary{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:46px;margin-top:16px;border:0;border-radius:11px;font-size:.87rem;font-weight:750;cursor:pointer;color:#fff;background:linear-gradient(110deg,#7738f4 0%,#c936e8 48%,#ff4f8f 76%,#ff8c26 100%);box-shadow:0 10px 24px rgba(165,55,231,.23);transition:transform .16s ease,filter .16s ease}.auth-shell .auth-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07)}.auth-shell .auth-primary:disabled,.auth-shell .auth-merchant-choice:disabled{opacity:.55;cursor:wait}
.auth-shell .auth-email-summary{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 12px;border:1px solid rgba(164,130,216,.2);background:#0d1123;border-radius:11px;margin-bottom:18px}.auth-shell .auth-email-summary>div{display:grid;gap:4px;min-width:0}.auth-shell .auth-email-summary small{color:#9aa2c2;font-size:.66rem}.auth-shell .auth-email-summary strong{overflow-wrap:anywhere;font-size:.79rem;color:#f2e8ff}.auth-shell .auth-text-action{border:0;background:transparent;color:#cb96fa;cursor:pointer;font-size:.73rem;font-weight:700;padding:5px}.auth-shell .auth-text-action:hover{text-decoration:underline}.auth-shell .auth-otp-input{min-height:60px!important;width:100%;text-align:center;letter-spacing:9px;font-variant-numeric:tabular-nums;font-size:1.65rem!important;font-weight:800!important;color:#fff!important;background:#090d1d!important;border:1px solid rgba(151,160,205,.2)!important;border-radius:10px!important}.auth-shell .auth-otp-input:focus{border-color:rgba(133,69,244,.8)!important;box-shadow:0 0 0 3px rgba(117,55,226,.12)!important}.auth-shell .auth-code-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;font-size:.66rem;color:#949bb8}
.auth-shell .auth-choice-copy{font-size:.77rem;color:#a4b0cc;line-height:1.6}.auth-shell .auth-merchant-choices{display:grid;gap:9px;margin:12px 0}.auth-shell .auth-merchant-choice{display:flex;width:100%;align-items:center;gap:11px;border:1px solid rgba(151,160,205,.2);background:#090d1d;border-radius:11px;padding:10px;color:#eee;cursor:pointer;text-align:left}.auth-shell .auth-merchant-choice:hover{border-color:#9950e8}.auth-shell .auth-merchant-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(120deg,#7738f4,#ff4f8f);font-size:.74rem;font-weight:800}.auth-shell .auth-merchant-info{display:grid;gap:4px;flex:1;min-width:0}.auth-shell .auth-merchant-info strong{font-size:.78rem}.auth-shell .auth-merchant-info small{font-size:.68rem;color:#9ca4c3}
.auth-shell .auth-error,.auth-shell .auth-success{font-size:.73rem;line-height:1.5;border-radius:10px;padding:11px 13px;margin-top:15px}.auth-shell .auth-error{color:#ffb6c0;background:rgba(255,82,102,.08);border:1px solid rgba(255,82,102,.22)}.auth-shell .auth-success{color:#b5ffdb;background:rgba(66,215,137,.08);border:1px solid rgba(66,215,137,.22)}.auth-shell .auth-security-note{margin:21px 0 18px;font-size:.68rem;color:#8c95b3;line-height:1.5}.auth-shell .auth-security-note span{color:#d07fe7}.auth-shell .auth-portal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:15px;border-top:1px solid rgba(151,160,205,.12);font-size:.63rem;color:#737d9e}.auth-shell .auth-portal-footer a{color:#c49af7;text-decoration:none}.auth-shell .auth-portal-footer a:hover{text-decoration:underline}
@media(max-width:520px){.auth-shell{padding:14px 12px}.auth-shell .auth-card{padding:24px 20px;border-radius:18px}.auth-shell .auth-portal-footer{gap:8px}.auth-shell .auth-otp-input{letter-spacing:6px}}
@media(prefers-reduced-motion:reduce){.auth-shell .auth-primary{transition:none}}


/* The Business name appears once, as the gradient hero headline. */
.auth-shell.portal-business .auth-brand-title{display:none}
.auth-shell .auth-brand small{display:block;max-width:325px;font-size:.7rem;line-height:1.45}
/* Center the copyright on all login views; on Admin, portal links sit below it. */
.auth-shell .auth-portal-footer{
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:9px;
  text-align:center;
}
.auth-shell .auth-portal-footer span{display:block;max-width:100%;text-align:center}

/* Keep the original gradient headline in the brand header, directly above the AI tagline. */
.auth-shell.portal-business .auth-brand #loginHero{margin:0;}
.auth-shell.portal-business #loginHero span{font-weight:800;letter-spacing:-.045em;background:linear-gradient(110deg,#aa7dff,#eb72d5 55%,#ff996d);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.auth-shell .auth-brand #authTagline{max-width:335px;line-height:1.45}
.auth-shell .auth-brand-title:empty{display:none}

/* Shared legal notice, Admin editor and public document pages. */
.auth-shell .auth-legal-consent{margin:17px 0 18px;text-align:center;font-size:.69rem;line-height:1.75;color:#9da6c2}
.auth-shell .auth-legal-consent a,.sidebar-legal a,.legal-public-footer a{color:#ce8aff;text-decoration:none;font-weight:750}
.auth-shell .auth-legal-consent a:hover,.sidebar-legal a:hover,.legal-public-footer a:hover{text-decoration:underline;color:#ff93c1}
.auth-shell .auth-legal-consent a:focus-visible,.sidebar-legal a:focus-visible,.legal-public-footer a:focus-visible{outline:2px solid #cc72f5;outline-offset:3px}
.auth-shell.portal-brand-layout .auth-brand-title{display:none}
.auth-shell.portal-brand-layout .auth-brand #loginHero{margin:0}
.auth-shell.portal-brand-layout #loginHero span{font-weight:800;letter-spacing:-.045em;background:linear-gradient(110deg,#aa7dff,#eb72d5 55%,#ff996d);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.sidebar-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:12px 6px;font-size:.64rem;border-top:1px solid rgba(151,160,205,.12)}
.sidebar-legal span{color:#65718b}
.legal-page-body{margin:0;min-height:100vh;background:radial-gradient(circle at 65% -20%,rgba(91,43,180,.19),transparent 40%),#080b18;color:#f7f8ff;font-family:inherit}
.legal-page-wrap{max-width:900px;margin:0 auto;padding:26px 20px 38px}
.legal-page-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}
.legal-brand-link{display:flex;gap:10px;align-items:center;color:#f7f8ff;text-decoration:none;font-weight:800;font-size:1.16rem}
.legal-brand-link img{object-fit:contain}
.legal-back{color:#d09bfa;text-decoration:none;font-weight:650;font-size:.77rem}
.legal-back:hover{text-decoration:underline}
.legal-document-card{border:1px solid rgba(151,160,205,.14);border-radius:20px;padding:clamp(20px,4vw,42px);background:linear-gradient(180deg,#121730,#090d1e);min-height:390px;box-shadow:0 25px 70px rgba(0,0,0,.2)}
.legal-page-label{font-size:.67rem;font-weight:800;letter-spacing:1.7px;color:#c697fb}
.legal-document-card h1{font-size:clamp(1.8rem,5vw,2.9rem);line-height:1.15;letter-spacing:-.04em;margin:12px 0 0;background:linear-gradient(105deg,#ad81ff,#ef80d7 58%,#ff9970);background-clip:text;-webkit-background-clip:text;color:transparent}
.legal-document-card .auth-glow-line{height:3px;border-radius:12px;margin:19px 0 19px;background:linear-gradient(110deg,#7738f4,#c936e8 48%,#ff4f8f 76%,#ff8c26)}
.legal-page-metadata{color:#a1abca;font-size:.76rem;margin:0 0 27px}
.legal-rich-content{color:#d1d8eb;line-height:1.8;font-size:.9rem;overflow-wrap:anywhere}
.legal-rich-content h2{margin:26px 0 6px;color:#f5e9ff;font-size:1.16rem}.legal-rich-content h3{margin:20px 0 6px;color:#eddaff;font-size:1rem}
.legal-rich-content p{margin:0 0 14px}.legal-rich-content ul{padding-left:22px;margin:7px 0 19px}.legal-rich-content li{margin:4px 0}
.legal-public-footer{display:grid;gap:13px;text-align:center;padding:24px 0;font-size:.69rem;color:#7d87a4}
.legal-public-footer nav{display:flex;justify-content:center;gap:22px}
.legal-admin-editor{display:grid;gap:14px}
.legal-admin-tabs{display:flex;flex-wrap:wrap;gap:9px}
.legal-admin-tabs button.active{background:linear-gradient(110deg,#7738f4,#c936e8 48%,#ff4f8f 76%,#ff8c26);border-color:transparent;color:white}
.legal-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:17px}
.legal-admin-layout textarea{width:100%;min-height:360px;resize:vertical;background:#090d1d;color:#f7f8ff;padding:15px;border:1px solid rgba(151,160,205,.24);border-radius:13px;font-family:inherit;font-size:.83rem;line-height:1.6}
.legal-admin-layout textarea:focus{outline:2px solid #a465ec;outline-offset:1px}
.legal-admin-preview{border:1px solid rgba(151,160,205,.14);border-radius:13px;background:#0a0e20;padding:17px;min-height:220px;max-height:480px;overflow:auto}
.legal-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.legal-admin-status{font-size:.72rem;color:#a8b0cd}
.legal-admin-note{font-size:.75rem;line-height:1.65;color:#a8b0cd}
@media(max-width:720px){.legal-admin-layout{grid-template-columns:1fr}.legal-admin-layout textarea{min-height:260px}.legal-page-wrap{padding:16px 12px}.legal-document-card{border-radius:16px}}

/* Keep editor background consistently dark below modal title. */
.manage-modal,.manage-modal .modal-head,.manage-modal .manage-body,.manage-modal .manage-section,.manage-modal .pos-form-panel,.manage-modal .pos-panel-content,.manage-modal #manageBody{background:#0e1329!important;background-image:none!important}
.manage-modal .manage-body>#manageBody{gap:0;background:#0e1329!important}
.manage-modal .manage-section,.manage-modal .pos-form-panel{border-bottom:1px solid rgba(151,160,205,.12)}
/* Google-like indeterminate progress line in Rafiyki colors. */
.auth-shell .auth-card{position:relative}
.auth-progress{position:absolute;left:0;top:0;right:0;height:3px;overflow:hidden;background:rgba(122,56,237,.14);pointer-events:none}
.auth-progress i{display:block;width:42%;height:100%;background:linear-gradient(90deg,#7938ed,#c936e8,#ff4f8f,#ff9b39);animation:rafiyki-progress 2s cubic-bezier(.6,0,.35,1) infinite;transform:translateX(-110%)}
@keyframes rafiyki-progress{0%{transform:translateX(-110%) scaleX(.55)}55%{transform:translateX(125%) scaleX(1.1)}100%{transform:translateX(345%) scaleX(.65)}}
@media(prefers-reduced-motion:reduce){.auth-progress i{animation:none;transform:none;width:100%;opacity:.85}}
/* Compact permissions management */
.access-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.access-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.access-stack{display:grid;gap:8px;margin-top:12px}.access-row{display:grid;gap:5px;text-align:left;padding:13px 15px;border-radius:10px;border:1px solid var(--border);background:#0b1024;color:var(--text);cursor:pointer}.access-row:hover{border-color:var(--purple2)}.access-row small,.access-tick small{display:block;color:var(--muted);font-size:11px}.access-editor{margin-top:18px;padding:20px;border:1px solid rgba(174,92,244,.3);background:#0e1329;border-radius:12px;display:grid;gap:15px;max-width:850px}.access-editor h3{margin:0}.access-editor label{font-size:13px}.access-tick{display:flex!important;align-items:flex-start;gap:10px;padding:8px;border:1px solid var(--border);border-radius:8px;background:#0b1024}.access-tick input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px!important;flex:none;margin:1px 0 0;accent-color:#ac48ed}.access-permissions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;overflow:auto}@media(max-width:750px){.access-cols,.access-permissions{grid-template-columns:1fr}}

/* Branch-aware role & permission editor */
.access-module-group{border:1px solid var(--border);background:rgba(255,255,255,.015);border-radius:12px;padding:12px;margin-top:10px}
.access-module-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.access-module-header strong{font-size:13px}.access-module-header small{font-size:11px;color:var(--muted)}
.access-permission-groups{max-height:500px;overflow:auto;display:grid;gap:8px}
.access-permission-groups .access-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.access-scope-fieldset{border:1px solid var(--border);border-radius:12px;padding:14px;min-width:0}
.access-scope-fieldset legend{padding:0 8px;font-size:13px;font-weight:700}
.access-types-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
@media(max-width:700px){.access-permission-groups .access-stack{grid-template-columns:1fr}}


/* Grouped merchant capability and fee cards */
.manage-capability-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.manage-capability-section{padding:15px;border:1px solid rgba(155,112,221,.18);border-radius:14px;background:linear-gradient(155deg,#12162c,#0b1022)}
.manage-capability-section h4{font-size:14px;color:#f8efff;margin:0 0 5px}
.manage-capability-section>p{font-size:11px;color:var(--muted);margin:0 0 10px}
.manage-capability-grid{display:grid;gap:7px}
.manage-capability-option{min-height:50px;padding:9px 12px;border:1px solid rgba(161,137,211,.16);border-radius:10px;background:#0b1021;display:flex!important;gap:12px!important;align-items:center!important}
.manage-capability-option:has(input:checked){border-color:rgba(209,76,225,.65);background:linear-gradient(95deg,rgba(114,46,208,.2),rgba(255,83,154,.09))}
.manage-capability-option strong{display:block;font-size:12.5px!important}.manage-capability-option small{display:block;color:var(--muted);font-size:10.5px!important;margin-top:3px}
.manage-capability-option input[type=checkbox]{width:17px!important;height:17px!important;min-height:17px!important;min-width:17px!important;flex:0 0 17px}
.manage-fee-tiers{display:grid;gap:9px;margin:10px 0}
.manage-fee-tier{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 34px;gap:7px;align-items:end;padding:10px;border:1px solid var(--border);background:#0b1022;border-radius:12px}
.manage-fee-tier label{min-width:0;font-size:10px;color:var(--muted)}.manage-fee-tier input{min-width:0;width:100%;font-size:12px;padding:0 7px}
.manage-fee-tier .manage-tier-delete{padding:0;width:34px;min-height:40px;color:#ff8ca0}
#mgFeeTablePanel{display:grid;gap:8px}
/* Illustrated empty states */
.empty-illustrated{width:100%;min-height:178px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:23px 16px;text-align:center;color:var(--muted);font-size:12px}
.empty-illustrated img{width:min(180px,85%);height:137px;object-fit:contain;display:block;filter:drop-shadow(0 12px 30px rgba(157,61,238,.09))}
.empty-illustrated strong{color:#f7edff;font-size:14px;font-weight:750}.empty-illustrated span{color:var(--muted);font-size:11px}
.access-stack>.empty-illustrated{grid-column:1/-1}.admin-users-list{gap:0!important}
.admin-user-row{display:flex;align-items:center;gap:13px;padding:14px 10px;border-bottom:1px solid var(--border)}.admin-user-row:last-child{border:0}
.admin-user-avatar{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(211,120,244,.3);border-radius:13px;background:linear-gradient(135deg,rgba(124,50,224,.22),rgba(242,95,134,.13));color:#f8dcff;font-weight:800}
.admin-user-summary{min-width:0;flex:1;display:grid;gap:4px}.admin-user-summary strong{color:#fff;font-size:13px}.admin-user-summary small{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.admin-user-actions{display:flex;gap:7px;align-items:center}
@media(max-width:760px){.manage-capability-groups{grid-template-columns:1fr}.manage-fee-tier{grid-template-columns:repeat(2,minmax(0,1fr)) 34px}.manage-fee-tier .manage-tier-delete{grid-column:3;grid-row:1}.admin-user-row{flex-wrap:wrap}.admin-user-actions{width:100%;justify-content:flex-end}}

/* Maintain a uniform dark modal surface without the light separator wash */
.manage-body>#manageBody{background:#0a0f1e;gap:1px}
.manage-section{background:#0d1325!important}
.manage-section-head{background:transparent}
.entity-grid>.empty-illustrated{grid-column:1/-1;min-height:285px}
@media(max-width:520px){.manage-fee-tier{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-fee-tier .manage-tier-delete{grid-column:2;grid-row:auto;justify-self:end}}

/* Gateway Payments: one parent, three permission-aware pages. */
.gateway-nav-group{min-width:0;display:grid;gap:3px}
.nav .gateway-nav-toggle{width:100%;justify-content:flex-start;font-weight:720}
.nav .gateway-nav-toggle.gateway-selected{color:#f5eaff;background:rgba(128,56,231,.13)}
.gateway-nav-chevron{margin-left:auto;color:#bd91f7;width:17px;height:17px;flex:0 0 17px;transition:transform .2s ease, color .2s ease;filter:drop-shadow(0 0 3px rgba(161,73,239,.25))}.gateway-nav-toggle:hover .gateway-nav-chevron{color:#ecb2ff}
.gateway-nav-toggle[aria-expanded="true"] .gateway-nav-chevron{transform:rotate(180deg)}
.gateway-nav-children{display:grid;gap:2px;margin:0 0 5px 19px;padding-left:12px;border-left:1px solid rgba(179,116,249,.25)}
.gateway-nav-children.hidden{display:none}
.nav .gateway-nav-child{min-height:34px;width:100%;padding:4px 10px;gap:8px;font-size:.7rem}
.gateway-nav-dot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#9376b7}
.gateway-nav-child.active .gateway-nav-dot{background:#fff}
/* Rafiyki progress is shown at the top edge of the main card while a page loads. */
.rafiyki-loading-card{min-height:260px;position:relative;overflow:hidden;display:grid;place-items:center}
.rafiyki-main-progress{position:absolute;inset:0 0 auto;height:3px;background:rgba(133,59,232,.13);overflow:hidden}
.rafiyki-main-progress i{display:block;width:36%;height:100%;background:linear-gradient(90deg,#7438ed 0%,#c836e7 35%,#ff4e9c 68%,#ff9c3a 100%);animation:rafiyki-content-slide 1.55s cubic-bezier(.65,0,.35,1) infinite;will-change:transform}
@keyframes rafiyki-content-slide{0%{transform:translateX(-105%) scaleX(.7)}55%{transform:translateX(120%) scaleX(1.25)}100%{transform:translateX(305%) scaleX(.7)}}
.rafiyki-loading-content{display:grid;justify-items:center;gap:13px;padding:32px;width:min(320px,100%)}
.rafiyki-loading-logo{display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(199,93,240,.24);border-radius:19px;background:linear-gradient(135deg,rgba(124,55,236,.15),rgba(255,75,155,.1));box-shadow:0 8px 28px rgba(160,63,229,.12)}
.rafiyki-loading-logo img{width:44px;height:44px;object-fit:contain}
.rafiyki-loading-title{font-size:.75rem;color:#d9c3f5;font-weight:650}
.rafiyki-loading-line{display:block;height:7px;width:100%;border-radius:30px;background:linear-gradient(90deg,rgba(122,65,220,.1),rgba(229,105,208,.2),rgba(122,65,220,.1));animation:rafiyki-loading-pulse 1.4s ease-in-out infinite}
.rafiyki-loading-line.short{width:64%;animation-delay:.17s}
@keyframes rafiyki-loading-pulse{0%,100%{opacity:.34}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.rafiyki-main-progress i,.rafiyki-loading-line{animation:none}.rafiyki-main-progress i{width:100%;transform:none}}

/* Compact POS navigation and AI identifier for reconciliation */
.nav-ai-badge{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:16px;padding:0 5px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.03em;color:#fff;background:linear-gradient(90deg,#7b40e8,#dc3fc0,#fa8744)}
.terminal-list{display:grid;gap:9px}.terminal-device{display:flex;align-items:center;gap:12px;padding:14px;border-radius:13px;background:#11182a;border:1px solid rgba(178,130,255,.16)}
.terminal-icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid rgba(190,103,244,.24);background:linear-gradient(135deg,rgba(115,64,234,.22),rgba(243,99,159,.11));border-radius:12px;color:#dfadff;font-size:22px;flex-shrink:0}
.terminal-main{display:grid;gap:4px;min-width:0;flex:1}.terminal-main strong{font-size:.86rem}.terminal-main small{font-size:.72rem;color:#98a3bd;overflow-wrap:anywhere}
@media(max-width:580px){.terminal-device{flex-wrap:wrap}.terminal-main{flex-basis:calc(100% - 62px)}.terminal-device>.badge{margin-left:57px}}

.role-unavailable{display:block;margin-top:5px;font-size:.72rem;color:#edb6ff;line-height:1.4}

/* Shared chevron geometry for the sidebar and all form accordions. */
.pos-form-panel>summary .pos-chevron{display:block;width:19px;height:19px;flex:0 0 19px;margin-right:4px;color:#bd91f7;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 0 3px rgba(161,73,239,.25));transition:transform .2s ease,color .2s ease}
.pos-form-panel>summary:hover .pos-chevron{color:#ecb2ff}
.pos-form-panel[open]>summary .pos-chevron{transform:rotate(180deg)}
.pos-waiter-option{border:1px solid rgba(180,102,255,.21);border-radius:12px;padding:8px 10px;background:rgba(137,58,232,.055)}
.pos-branch-permission{background:#10152a;border-color:rgba(151,160,205,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.pos-branch-header{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.pos-branch-header .manage-field{min-width:0}
.pos-branch-options{margin-top:11px;border-top:1px solid rgba(151,160,205,.12);padding-top:12px}
@media(max-width:640px){.pos-branch-header{grid-template-columns:minmax(0,1fr)}}

.user-invite-hero{display:flex;align-items:center;gap:13px;grid-column:1/-1;padding:15px 16px;border:1px solid rgba(177,88,231,.27);border-radius:14px;background:linear-gradient(105deg,rgba(118,50,225,.16),rgba(211,56,198,.08) 52%,rgba(255,126,57,.04));margin-bottom:13px}
.user-invite-hero-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(206,131,254,.27);border-radius:12px;background:linear-gradient(130deg,rgba(126,58,226,.35),rgba(255,91,152,.16));color:#e6baff}
.user-invite-hero>div:last-child{display:grid;gap:4px;min-width:0}.user-invite-hero strong{color:#faf6ff;font-size:13px}.user-invite-hero span{color:#aeb6d2;font-size:11px;line-height:1.5}

/* Session hydration: never show the sign-in card before checking the secure cookie. */
.session-splash{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 55% 0%,rgba(119,56,244,.15),transparent 45%),#080b18}
.session-splash-card{position:relative;display:grid;justify-items:center;gap:11px;width:min(320px,100%);padding:38px 25px;overflow:hidden;border:1px solid rgba(151,160,205,.13);border-radius:19px;background:linear-gradient(180deg,#11162e,#0a0e1f);box-shadow:0 22px 60px rgba(0,0,0,.22)}
.session-splash-card img{object-fit:contain}.session-splash-card strong{font-size:1rem}.session-splash-card span{font-size:.75rem;color:var(--muted)}
.session-splash-progress{position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;background:rgba(121,56,237,.12)}
.session-splash-progress i{display:block;width:38%;height:100%;background:linear-gradient(90deg,#7938ed,#c936e8,#ff4f8f,#ff9b39);animation:rafiyki-progress 1.8s ease-in-out infinite}
/* Sign-in is idle by default; its progress line only moves during authentication requests. */
.auth-shell .auth-progress{opacity:0;visibility:hidden;transition:opacity .15s ease}
.auth-shell .auth-progress i{animation-play-state:paused}
.auth-shell.is-loading .auth-progress{opacity:1;visibility:visible}
.auth-shell.is-loading .auth-progress i{animation-play-state:running}
@media(prefers-reduced-motion:reduce){.session-splash-progress i{animation:none;width:100%}}
