.portalPage{min-height:100vh;background:#f3f0e8;color:#141513;padding:32px clamp(18px,5vw,72px) 80px;font-family:DM Sans,sans-serif}.portalNav{justify-content:space-between;gap:20px;margin-bottom:50px}.portalBrand,.portalNav{display:flex;align-items:center}.portalBrand{gap:11px;text-decoration:none;color:#141513;font:700 17px Space Grotesk}.portalBrand>span:first-child{width:38px;height:38px;background:#ff5b35;color:white;display:grid;place-items:center;transform:rotate(-3deg)}.portalLinks{display:flex;gap:10px}.portalLinks a,.portalLinks button{border:1px solid #141513;padding:10px 14px;color:#141513;background:transparent;text-decoration:none;font:700 11px DM Sans;cursor:pointer}.portalHero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:28px}.portalHero h1{font:600 clamp(40px,6vw,76px)/.95 Space Grotesk;letter-spacing:-.055em;margin:0}.portalHero p{max-width:520px;color:#6e706a;line-height:1.55}.portalGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);grid-gap:20px;gap:20px;align-items:start}.portalCard{background:#fffefa;border:1px solid #d8d5cc;padding:24px}.walletBalance{background:#141513;color:white}.walletBalance small{color:#a5a89f;font-size:9px;letter-spacing:.16em}.walletBalance strong{display:block;color:#c8f04c;font:700 52px Space Grotesk;margin:10px 0}.walletBalance p{color:#aaada5;font-size:11px}.topupForm{display:grid;grid-template-columns:1fr auto;grid-gap:10px;gap:10px;margin-top:22px}.topupForm input{min-width:0;border:1px solid #4a4c47;background:#232421;color:white;padding:13px;font:700 16px Space Grotesk}.portalButton{border:0;background:#ff5b35;color:white;padding:13px 18px;font-weight:700;cursor:pointer}.portalButton:disabled{opacity:.55}.portalSection{margin-top:20px}.portalSection h2{font:600 22px Space Grotesk;margin:0 0 15px}.portalTable{width:100%;border-collapse:collapse;font-size:11px}.portalTable td,.portalTable th{text-align:left;border-bottom:1px solid #e3e0d8;padding:11px 8px;vertical-align:top}.portalTable th{font-size:8px;letter-spacing:.13em;color:#777a72}.credit{color:#4f7f19}.credit,.debit{font-weight:700}.debit{color:#b23424}.statusPill{display:inline-block;background:#ece9e0;padding:5px 7px;font-size:8px;font-weight:700;text-transform:uppercase}.portalEmpty{color:#777a72;font-size:12px;padding:18px 0}.signInCard{max-width:600px;margin:10vh auto;background:#141513;color:white;padding:40px}.signInCard h1{font:600 42px Space Grotesk;margin:0 0 12px}.signInCard p{color:#b7bab2;line-height:1.6}.signInCard a{display:inline-block;background:#ff5b35;color:white;text-decoration:none;padding:15px 20px;font-weight:700;margin-top:15px}.portalNotice{background:#fff4ef;border-left:4px solid #ff5b35;padding:12px 14px;font-size:11px;line-height:1.5;margin:14px 0;color:#5b3026}.adminOrder{background:#fffefa;border:1px solid #d8d5cc;padding:20px;margin-bottom:12px}.adminOrderHead{display:flex;justify-content:space-between;gap:16px}.adminOrder pre{white-space:pre-wrap;font:11px/1.5 DM Sans;background:#f3f0e8;padding:14px;max-height:230px;overflow:auto}.adminActions{display:grid;grid-template-columns:150px 1fr auto auto;grid-gap:8px;gap:8px}.adminActions input{border:1px solid #d8d5cc;padding:11px}.approveButton{background:#141513;color:#c8f04c;border:0}.approveButton,.changesButton{padding:11px;font-weight:700;cursor:pointer}.changesButton{background:white;color:#b23424;border:1px solid #b23424}.authPage{background:#141513}.authPage,.authPage .portalBrand{color:white}.authPage .portalLinks a{border-color:#5a5d56;color:white}.authShell{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.72fr);grid-gap:clamp(36px,7vw,100px);gap:clamp(36px,7vw,100px);align-items:center;min-height:calc(100vh - 190px)}.authIntro{max-width:650px}.authEyebrow{color:#ff7b5e;font-size:10px;font-weight:800;letter-spacing:.18em}.authIntro h1{font:600 clamp(52px,7vw,92px)/.88 Space Grotesk;letter-spacing:-.065em;margin:18px 0 24px}.authIntro>p{max-width:560px;color:#b7bab2;font-size:15px;line-height:1.65}.authIntro ul{display:grid;grid-gap:12px;gap:12px;padding:0;margin:32px 0;list-style:none;color:#d8dbd3;font-size:12px}.authIntro li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:10px;background:#c8f04c;color:#141513;font-weight:900}.authCard{background:#fffefa;color:#141513;padding:clamp(22px,4vw,42px);box-shadow:20px 20px 0 #ff5b35}.authTabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #d8d5cc;margin-bottom:30px}.authTabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:14px 6px;color:#777a72;font:700 11px DM Sans;cursor:pointer}.authTabs button.active{border-color:#ff5b35;color:#141513}.authForm h2{font:600 30px Space Grotesk;margin:0 0 8px}.authForm>p{color:#777a72;font-size:12px;line-height:1.5;margin:0 0 22px}.authForm label{display:grid;grid-gap:7px;gap:7px;margin:15px 0;color:#4c4e49;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.authForm input{border:1px solid #cbc8bf;background:white;padding:14px;color:#141513;font:600 14px DM Sans;outline:none}.authForm input:focus{border-color:#ff5b35;box-shadow:0 0 0 2px #ffded5}.authSubmit{width:100%;border:0;background:#ff5b35;color:white;padding:15px;margin-top:8px;font-weight:800;cursor:pointer}.authSubmit:disabled{opacity:.55}.authForm>small{display:block;color:#777a72;font-size:9px;line-height:1.5;margin-top:15px}@media(max-width:800px){.portalHero{align-items:flex-start;flex-direction:column}.adminActions,.portalGrid{grid-template-columns:1fr}.portalTable{display:block;overflow-x:auto}.portalLinks{flex-wrap:wrap;justify-content:flex-end}.authShell{grid-template-columns:1fr;min-height:auto}.authIntro h1{font-size:54px}.authCard{box-shadow:10px 10px 0 #ff5b35}.authPage{padding-bottom:60px}}.adminPage{background:#eeece5}.adminEyebrow{font-size:9px!important;font-weight:800;letter-spacing:.18em;color:#ff5b35!important;margin:0 0 12px!important}.adminTabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid #cbc8bf}.adminTabs button{border:0;border-bottom:3px solid transparent;background:transparent;padding:13px 16px;font:700 11px DM Sans;cursor:pointer;color:#686b64}.adminTabs button.active{border-color:#ff5b35;color:#141513}.adminTabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:7px;padding:0 5px;background:#dedbd2;font-size:8px}.adminTabs button.active span{background:#ff5b35;color:white}.inventoryStats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin:18px 0}.inventoryStats article{background:#fffefa;border:1px solid #d8d5cc;padding:18px}.inventoryStats small,.inventoryStats span,.inventoryStats strong{display:block}.inventoryStats small{font-size:8px;font-weight:800;letter-spacing:.14em;color:#74776f}.inventoryStats strong{font:650 34px Space Grotesk;margin:8px 0 3px}.inventoryStats span{font-size:9px;color:#81847c}.inventoryStats .warning{border-top:4px solid #e69b2e}.inventoryStats .danger{border-top:4px solid #c53e2a}.inventoryWorkspace{display:grid;grid-template-columns:240px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start}.inventoryEditor>div,.paymentSettingsCard,.productRail,.topupQueue{background:#fffefa;border:1px solid #d8d5cc}.railHead{padding:16px;border-bottom:1px solid #e0ddd5}.railHead b,.railHead small{display:block}.railHead b{font-size:9px;letter-spacing:.14em}.railHead small{font-size:8px;color:#8a8d85;margin-top:3px}.productRail>button{width:100%;border:0;border-bottom:1px solid #e7e4dc;background:transparent;padding:14px 13px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.productRail>button.active{background:#141513;color:white}.productRail>button span b,.productRail>button span small{display:block}.productRail>button span b{font:600 11px Space Grotesk}.productRail>button span small{font-size:8px;color:#878a82;margin-top:3px}.productRail>button.active span small{color:#aeb1a9}.productRail>button em{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#c53e2a;color:white;font-style:normal;font-size:8px}.inventoryEditor{display:grid;grid-gap:12px;gap:12px}.inventoryEditor>div{padding:20px}.editorTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.editorTitle small{display:block;font-size:8px;font-weight:800;letter-spacing:.14em;color:#ff5b35}.editorTitle h2,.editorTitle h3{font:600 24px Space Grotesk;margin:5px 0 0}.editorTitle h3{font-size:18px}.alertFilter,.toggleLine{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:700}.alertFilter input,.toggleLine input{accent-color:#ff5b35}.productFields{display:grid;grid-template-columns:1fr 180px;grid-gap:10px;gap:10px;margin-top:18px}.manualTopupForm label,.paymentSettingsForm label,.productFields label{display:grid;grid-gap:6px;gap:6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.productFields label.wide{grid-column:1/-1}.manualTopupForm input,.paymentSettingsForm input,.productFields input{width:100%;border:1px solid #cfccc3;padding:12px;background:white;color:#141513;font:600 12px DM Sans}.saveProduct{border:0;background:#141513;color:#c8f04c;padding:12px 16px;margin-top:11px;font-weight:800;cursor:pointer}.saveProduct:disabled{opacity:.55}.adminColourGrid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;margin-top:16px}.adminColourGrid>div{border:1px solid #dfdcd4;background:#f6f4ed}.adminColourGrid>div.selected{box-shadow:inset 0 0 0 2px #ff5b35}.colourSelect{border:0;background:transparent;width:100%;padding:10px;display:flex;align-items:center;gap:8px;text-align:left;font-size:9px;font-weight:700;cursor:pointer}.colourSelect i{width:20px;height:20px;border-radius:50%;border:1px solid #aaa}.adminColourGrid>div>label{display:flex;justify-content:center;gap:5px;border-top:1px solid #dfdcd4;padding:6px;font-size:8px}.adminColourGrid input{accent-color:#ff5b35}.stockTitle{align-items:center}.stockHeader,.stockRow{display:grid;grid-template-columns:70px 1fr 1fr 120px 70px;grid-gap:8px;gap:8px;align-items:center}.stockHeader{padding:14px 8px 7px;font-size:8px;font-weight:800;letter-spacing:.08em;color:#777a72}.stockRow{padding:8px;border-top:1px solid #e6e3da}.stockRow>b{font:700 14px Space Grotesk}.stockRow input{width:100%;border:1px solid #d0cdc5;padding:9px;font:700 12px Space Grotesk}.stockRow button{border:1px solid #141513;background:white;padding:9px;cursor:pointer}.stockRow button,.stockStatus{font-size:9px;font-weight:800}.stockRow.healthy .stockStatus{color:#55811f}.stockRow.low .stockStatus{color:#b06c0d}.stockRow.out .stockStatus{color:#bd3927}.inventoryHelp{background:#f3f0e8;padding:10px;margin:12px 0 0;font-size:9px;line-height:1.5;color:#686b64}.directPayCard h2,.paymentSettingsCard h2,.topupQueue h2{font:600 22px Space Grotesk;margin:0 0 8px}.directPayCard>div:first-child>p,.paymentSettingsCard>p{color:#73766e;font-size:10px;line-height:1.5}.paymentQr{display:grid;grid-template-columns:170px 1fr;grid-gap:18px;gap:18px;align-items:center;background:#f3f0e8;padding:14px;margin:16px 0}.paymentQr img{width:170px;height:170px;object-fit:contain;background:white;border:1px solid #d3d0c8}.paymentQr b,.paymentQr em,.paymentQr small,.paymentQr span{display:block}.paymentQr small{font-size:8px;letter-spacing:.12em;color:#777a72}.paymentQr b{font:650 18px Space Grotesk;margin:7px 0 3px}.paymentQr span{font-size:11px}.paymentQr em{font-size:9px;line-height:1.5;color:#a04935;margin-top:12px;font-style:normal}.manualTopupForm{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.manualTopupForm .proofField{grid-column:1/-1}.proofField input,.qrUpload input{padding:9px}.proofField span,.qrUpload span{font-size:8px;color:#777a72;text-transform:none;letter-spacing:0}.manualTopupForm button{grid-column:1/-1}.statusPill.approved{background:#e9f2d7;color:#4f781c}.statusPill.rejected{background:#f7ddd7;color:#a93425}.statusPill.pending{background:#fff0cf;color:#92600c}.paymentsAdmin{display:grid;grid-gap:14px;gap:14px}.paymentSettingsCard,.topupQueue{padding:22px}.configuredBadge{background:#dff0c3;color:#4f781c;padding:7px 9px;font-size:8px;font-weight:800}.paymentSettingsForm{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:18px}.paymentSettingsForm .qrUpload{grid-column:1/-1}.paymentSettingsForm .saveProduct{justify-self:start}.verificationRule{display:flex;align-items:flex-start;gap:15px;background:#fff1d8;border-left:4px solid #e69b2e;padding:12px;margin-top:15px;font-size:9px;line-height:1.5}.verificationRule b{white-space:nowrap}.topupQueue>.editorTitle{margin-bottom:13px}.topupQueue>.editorTitle>span{font-size:9px;color:#777a72}.topupReview{border:1px solid #ddd9d0;padding:15px;margin-top:9px}.topupReview.pending{border-left:4px solid #e69b2e}.topupReviewHead{display:grid;grid-template-columns:1fr auto auto;grid-gap:15px;gap:15px;align-items:center}.topupReviewHead div b,.topupReviewHead div small{display:block}.topupReviewHead div b{font-size:11px}.topupReviewHead div small{font-size:8px;color:#7b7e76;margin-top:3px}.topupReviewHead strong{font:700 19px Space Grotesk}.topupDetails{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:12px;gap:12px;align-items:end;background:#f3f0e8;padding:10px;margin-top:12px}.topupDetails b,.topupDetails small{display:block}.topupDetails small{font-size:7px;letter-spacing:.1em;color:#7c7f77}.topupDetails b{font-size:9px;margin-top:4px}.topupDetails a{font-size:9px;font-weight:800;color:#c2442d}.topupActions{display:grid;grid-template-columns:1fr auto auto;grid-gap:8px;gap:8px;margin-top:10px}.topupActions input{border:1px solid #d2cfc6;padding:10px}.reviewedNote{font-size:9px;color:#6f726a;margin:10px 0 0}@media(max-width:950px){.inventoryStats{grid-template-columns:1fr 1fr}.inventoryWorkspace{grid-template-columns:1fr}.productRail{display:grid;grid-template-columns:repeat(2,1fr)}.railHead{grid-column:1/-1}.adminColourGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.inventoryStats{grid-template-columns:1fr 1fr}.inventoryWorkspace{display:block}.productRail{margin-bottom:12px}.manualTopupForm,.paymentSettingsForm,.productFields{grid-template-columns:1fr}.manualTopupForm .proofField,.manualTopupForm button,.paymentSettingsForm .qrUpload,.productFields label.wide{grid-column:auto}.adminColourGrid{grid-template-columns:repeat(2,1fr)}.stockHeader{display:none}.stockRow{grid-template-columns:45px 1fr 1fr}.stockRow .stockStatus{grid-column:2}.stockRow button{grid-column:3}.paymentQr{grid-template-columns:1fr}.paymentQr img{width:100%;height:auto;max-width:260px}.topupActions,.topupDetails,.topupReviewHead{grid-template-columns:1fr}.adminTabs{overflow-x:auto}.adminTabs button{white-space:nowrap}}