:root{--pg:#0b5d38;--pg2:#15934f;--ink:#16352a;--muted:#64766f;--line:#dce8e2;--soft:#f2f8f5;--gold:#d5a928}
*{box-sizing:border-box}.hidden{display:none!important}.portal-body{margin:0;background:#f6faf8;color:var(--ink);font-family:"DM Sans",sans-serif}.portal-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.portal-header-inner{height:78px;display:flex;align-items:center;justify-content:space-between}.portal-header img{width:185px;display:block}.portal-header-inner>div{display:flex;align-items:center;gap:18px}.portal-header a{color:var(--pg);font-weight:700;text-decoration:none}.portal-logout{border:0;background:#e8f4ed;color:var(--pg);font-weight:700;padding:10px 15px;border-radius:9px;cursor:pointer}.portal-hero{padding:54px 0;background:linear-gradient(125deg,#063d2e,#0c7341);color:#fff}.portal-hero span,.portal-kicker{font-size:12px;letter-spacing:.15em;font-weight:800;color:#53c67e}.portal-hero h1{max-width:780px;margin:10px 0 12px;font-size:clamp(34px,5vw,58px);line-height:1.05;color:#fff}.portal-hero p{max-width:720px;color:#d9eee2;font-size:18px;margin:0}.portal-section{padding-top:42px;padding-bottom:60px}.auth-layout,.redemption-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1020px;margin:auto}.portal-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 12px 34px rgba(15,65,42,.06)}.auth-copy{background:linear-gradient(145deg,#102f25,#0a6639);color:#fff}.auth-copy h2{color:#fff;font-size:34px;margin:10px 0 25px}.auth-copy ol{list-style:none;padding:0;counter-reset:flow}.auth-copy li{counter-increment:flow;display:flex;gap:12px;align-items:center;border-top:1px solid #ffffff26;padding:16px 0}.auth-copy li:before{content:counter(flow);width:30px;height:30px;border-radius:50%;background:#ffffff1f;display:grid;place-items:center;color:#7fe29f;font-weight:800}.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin:-4px 0 24px}.auth-tabs button{flex:1;border:0;background:none;padding:14px;color:var(--muted);font-weight:800;cursor:pointer;border-bottom:3px solid transparent}.auth-tabs button.active{color:var(--pg);border-color:var(--pg2)}.auth-pane{display:none}.auth-pane.active{display:grid}.portal-form{display:grid;gap:16px}.portal-form h2,.portal-card h3{margin:0}.portal-form p{color:var(--muted);margin:-7px 0 3px}.portal-form label{display:grid;gap:7px;font-size:14px;font-weight:700}.portal-form input,.portal-form select{width:100%;padding:13px 14px;border:1px solid #cbdcd3;border-radius:10px;font:inherit;color:var(--ink);background:#fff}.portal-form input:focus,.portal-form select:focus{outline:3px solid #15934f20;border-color:var(--pg2)}.portal-btn{border:0;border-radius:10px;padding:14px 18px;background:var(--pg2);color:#fff;font-weight:800;font:700 15px "DM Sans";cursor:pointer}.portal-btn:hover{background:var(--pg)}.portal-btn:disabled{opacity:.45;cursor:not-allowed}.portal-btn.secondary{background:#e8f4ed;color:var(--pg)}.portal-btn.outline{background:#fff;color:var(--pg);border:1px solid #a8cabb}.portal-btn.compact{padding:10px 15px}.form-note{font-size:12px!important;background:var(--soft);padding:12px;border-radius:9px}.form-wide{max-width:800px;margin:auto}.step-badge,.status-pill{display:inline-block;border-radius:99px;padding:7px 12px;background:#e1f5e8;color:var(--pg);font-size:12px;font-weight:800}.check-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start!important;gap:10px!important;font-weight:500!important;line-height:1.5}.check-row input{width:auto;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dashboard-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dashboard-head h2{font-size:36px;margin:7px 0}.dashboard-head p{margin:0;color:var(--muted)}.status-pill.admin{background:#fff1cf;color:#725600}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px}.metric-grid article{background:#fff;padding:22px;border:1px solid var(--line);border-radius:17px}.metric-grid span,.metric-grid small{display:block;color:var(--muted)}.metric-grid strong{display:block;font:800 27px Manrope;margin:8px 0}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.span-two{grid-column:1/-1}.card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-title h3{margin-top:6px}.empty-state{border:1px dashed #b9d2c5;border-radius:12px;padding:20px;color:var(--muted);background:var(--soft);margin-top:18px}.bag-ticket{display:grid;grid-template-columns:150px 1fr;gap:22px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfdfc}.fake-qr{display:grid;grid-template-columns:repeat(9,1fr);aspect-ratio:1;background:#fff;border:9px solid #fff;box-shadow:0 0 0 1px #ccdcd4}.fake-qr i{background:#fff}.fake-qr i.on{background:#102f25}.bag-ticket strong{display:block;font-size:22px;margin:5px 0}.bag-ticket button{margin-top:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.table-status{display:inline-block;padding:5px 8px;border-radius:20px;background:#e6f5eb;color:var(--pg);font-weight:800}.calculation{padding:15px;border-radius:11px;background:#edf8f1;color:var(--pg);font-weight:800}.customer-found strong{display:block;font-size:20px}.wallet-large{text-align:center;border-radius:15px;padding:25px;background:linear-gradient(145deg,#0a5533,#149653);color:#fff;margin-bottom:20px}.wallet-large span,.wallet-large small{display:block;color:#d8f0e1}.wallet-large strong{font:800 38px Manrope;display:block;margin:6px}.security-note{margin-top:20px;border-left:4px solid var(--gold);background:#fff8e6;padding:15px;color:#65531f}.security-note p{margin:6px 0 0}.portal-toast{position:fixed;right:24px;bottom:24px;background:#112c23;color:#fff;padding:14px 18px;border-radius:11px;box-shadow:0 12px 35px #0003;transform:translateY(100px);opacity:0;transition:.25s;z-index:50}.portal-toast.show{transform:none;opacity:1}
@media(max-width:800px){.auth-layout,.redemption-layout,.dashboard-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.dashboard-head{align-items:flex-start;gap:14px;flex-direction:column}.form-grid{grid-template-columns:1fr}.portal-hero{padding:40px 0}.portal-header img{width:150px}.portal-header-inner>div>a{display:none}.bag-ticket{grid-template-columns:110px 1fr}}

.gift-summary{padding:16px 18px;border-radius:12px;background:var(--soft);border:1px solid var(--line);line-height:1.55}.user-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.user-summary>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.user-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.user-summary strong{display:block;overflow:hidden;text-overflow:ellipsis}.important-id{font-size:22px!important;color:var(--pg);font-family:Manrope}.qr-card{text-align:center}.qr-card>h3{margin:7px 0 18px}.user-qr{width:276px;height:276px;padding:12px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center}.user-qr img,.user-qr canvas{width:252px!important;height:252px!important}.qr-user-id{display:block;font:800 25px Manrope;margin:15px 0;color:var(--pg)}.qr-actions,.counter-actions,.support-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.counter-actions .portal-btn{flex:1}.cash-button{background:#b47a00}.cash-button:hover{background:#8d6000}.support-actions{justify-content:flex-start;margin-top:20px}.support-actions a{text-decoration:none}.portal-form label small{font-weight:500;color:var(--muted)}
@media(max-width:900px){.user-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.user-summary{grid-template-columns:1fr}.user-qr{width:242px;height:242px}.user-qr img,.user-qr canvas{width:218px!important;height:218px!important}}
@media print{body *{visibility:hidden}.qr-card,.qr-card *{visibility:visible}.qr-card{position:absolute;inset:0;border:0;box-shadow:none}.qr-actions,.portal-header,.form-note{display:none!important}}

/* UK localisation and UX refinement */
.uk-service-bar{background:#062f24;color:#dff2e7;font-size:12px}.uk-service-bar .container{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}.uk-service-bar span:first-child{font-weight:800;color:#fff}.portal-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:48px;align-items:center}.uk-trust-panel{padding:22px;border:1px solid #ffffff2b;border-radius:16px;background:#ffffff12;backdrop-filter:blur(8px)}.uk-trust-panel strong{display:block;font-size:18px;color:#fff}.uk-trust-panel ul{margin:12px 0 0;padding:0;list-style:none}.uk-trust-panel li{padding:7px 0 7px 24px;position:relative;color:#d9eee2}.uk-trust-panel li:before{content:'✓';position:absolute;left:0;color:#74e19b;font-weight:900}.auth-layout{align-items:start}.auth-copy{position:sticky;top:132px}.auth-price{margin-top:18px;padding:18px;border-radius:13px;background:#ffffff12;border:1px solid #ffffff20}.auth-price span,.auth-price small{display:block;color:#cbe6d6}.auth-price strong{display:block;color:#fff;font:800 28px Manrope;margin:5px 0}.portal-form fieldset{margin:0;padding:18px;border:1px solid var(--line);border-radius:13px;display:grid;gap:16px}.portal-form legend{padding:0 8px;color:var(--pg);font-weight:800}.form-progress{display:flex;align-items:center;margin:0 0 24px}.form-progress span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9f0ec;color:#718078;font-weight:800;position:relative;flex:none}.form-progress span b{position:absolute;top:42px;white-space:nowrap;font-size:10px;color:#718078}.form-progress span.active,.form-progress span.done{background:var(--pg2);color:#fff}.form-progress span.active b,.form-progress span.done b{color:var(--pg)}.form-progress i{height:2px;flex:1;background:#d8e4dd}.auth-card .form-progress{margin-bottom:42px}.privacy-note{font-size:12px!important;line-height:1.5;margin:0!important;color:#687970!important}.gift-legal{padding:18px;border-left:4px solid var(--gold);background:#fff8e8;border-radius:0 11px 11px 0;color:#5a4a1c}.gift-legal p{margin:7px 0 0!important;color:#5a4a1c!important;line-height:1.55}.card-intro{color:var(--muted);margin:8px 0 18px}.postcode-input{text-transform:uppercase}.portal-btn,.auth-tabs button,.portal-logout,.portal-form input,.portal-form select,a{transition:box-shadow .2s,border-color .2s,background .2s,transform .2s}.portal-btn:active{transform:translateY(1px)}:focus-visible{outline:3px solid #f2c94c!important;outline-offset:3px!important}.portal-form input:invalid:not(:placeholder-shown){border-color:#c75959}.portal-form input:valid:not(:placeholder-shown){border-color:#65a77e}
@media(max-width:800px){.portal-hero-grid{grid-template-columns:1fr;gap:24px}.uk-trust-panel{display:none}.auth-copy{position:static}.uk-service-bar .container{justify-content:center}.uk-service-bar span:last-child{display:none}.portal-header-inner>div a{display:none}.portal-card{padding:21px}.auth-card .form-progress{margin-top:3px}}
.compliance-callout{display:grid;gap:5px;padding:14px 16px;border:1px solid #e0bd64;border-radius:11px;background:#fffbef;font-size:12px;line-height:1.5;color:#5c4a1d}.compliance-callout strong{font-size:13px}

/* Portal responsive and browser compatibility */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.portal-body{min-width:320px}.portal-main,.portal-card,.dashboard-grid>*{min-width:0}.portal-form input,.portal-form select,.portal-form textarea{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none}.portal-form select{background-image:linear-gradient(45deg,transparent 50%,#456b59 50%),linear-gradient(135deg,#456b59 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:36px}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.portal-toast{max-width:min(380px,calc(100vw - 32px))}.portal-btn,.portal-logout,.auth-tabs button{min-height:44px;touch-action:manipulation}.check-row input{flex:0 0 auto;width:18px!important;height:18px!important;min-height:18px;margin-top:2px}.user-qr canvas,.user-qr img{image-rendering:auto}
@supports not (backdrop-filter:blur(1px)){.uk-trust-panel{background:rgba(255,255,255,.18)}}@supports (-webkit-backdrop-filter:blur(1px)){.uk-trust-panel{-webkit-backdrop-filter:blur(8px)}}
@media(max-width:1100px){.portal-header-inner,.portal-section,.portal-hero-grid,.uk-service-bar .container{width:calc(100% - 42px)}.auth-layout,.redemption-layout{max-width:900px}.dashboard-grid{gap:18px}.portal-card{padding:24px}}
@media(max-width:900px){.portal-header-inner,.portal-section,.portal-hero-grid,.uk-service-bar .container{width:calc(100% - 34px)}.portal-header-inner{height:72px}.portal-header img{width:165px}.portal-header-inner>div a{display:none}.portal-hero{padding:44px 0}.auth-layout,.redemption-layout,.dashboard-grid{grid-template-columns:minmax(0,1fr)}.auth-copy{position:static}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid article:last-child{grid-column:1/-1}.user-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:auto}.dashboard-head{align-items:flex-start}.table-wrap table{min-width:650px}}
@media(max-width:700px){.portal-header-inner,.portal-section,.portal-hero-grid,.uk-service-bar .container{width:calc(100% - 26px)}.uk-service-bar .container{min-height:30px}.portal-header-inner{height:66px}.portal-header img{width:145px}.portal-header-inner>div{gap:8px}.portal-logout{padding:9px 12px}.portal-hero{padding:36px 0}.portal-hero h1{font-size:clamp(34px,10vw,46px);letter-spacing:-1.5px}.portal-hero p{font-size:16px;line-height:1.6}.uk-trust-panel{display:none}.portal-section{padding-top:30px;padding-bottom:45px}.portal-card{padding:20px;border-radius:16px}.auth-copy h2,.dashboard-head h2{font-size:30px}.form-grid,.metric-grid,.user-summary{grid-template-columns:1fr}.metric-grid article:last-child{grid-column:auto}.portal-form input,.portal-form select,.portal-form textarea{font-size:16px;min-height:48px}.portal-btn{width:100%}.card-title{align-items:flex-start;flex-direction:column}.card-title .portal-btn{width:100%}.qr-actions,.counter-actions,.support-actions{flex-direction:column}.qr-actions .portal-btn,.counter-actions .portal-btn,.support-actions .portal-btn{width:100%}.user-qr{width:min(276px,100%);height:auto;aspect-ratio:1}.user-qr img,.user-qr canvas{width:100%!important;height:100%!important}.table-wrap{margin-left:-20px;margin-right:-20px;width:calc(100% + 40px);padding-left:20px;padding-right:20px}.portal-toast{left:13px;right:13px;bottom:13px;max-width:none;text-align:center}.form-progress span b{font-size:9px}.form-progress span{width:32px;height:32px}.form-progress span b{top:38px}.auth-card .form-progress{margin-bottom:39px}.gift-legal,.compliance-callout,.security-note{font-size:13px}.wallet-large strong{font-size:32px}}
@media(max-width:420px){.portal-header-inner,.portal-section,.portal-hero-grid,.uk-service-bar .container{width:calc(100% - 20px)}.portal-header img{width:128px}.portal-logout{font-size:12px}.uk-service-bar{font-size:11px}.portal-card{padding:17px}.table-wrap{margin-left:-17px;margin-right:-17px;width:calc(100% + 34px);padding-left:17px;padding-right:17px}.auth-tabs button{padding:12px 6px;font-size:13px}.form-progress span b{display:none}.auth-card .form-progress{margin-bottom:25px}.portal-hero h1{font-size:34px}.important-id{font-size:19px!important}.qr-user-id{font-size:21px}.gift-summary{padding:14px}.dashboard-head{margin-bottom:18px}.dashboard-head h2{font-size:27px}.portal-card h3{font-size:19px}}
@media(orientation:landscape) and (max-height:520px){.portal-header{position:static}.portal-hero{padding:28px 0}.portal-section{padding-top:24px}.auth-copy{position:static}}
@media(prefers-reduced-motion:reduce){.portal-toast{transition:none}.portal-btn:active{transform:none}}

/* Dummy payment gateway */
.payment-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:24px;max-width:1040px;margin:auto;align-items:start}.payment-checkout{padding:0;overflow:hidden}.demo-payment-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 25px;background:#fff4cf;color:#5c470d;font-size:12px}.demo-payment-banner strong{letter-spacing:.11em}.payment-steps{display:flex;gap:7px;padding:22px 25px 0;color:#78857e;font-size:11px;font-weight:800}.payment-steps span{flex:1;padding:8px;border-bottom:3px solid #dde7e1;text-align:center}.payment-steps .done{color:#14834b;border-color:#75c496}.payment-steps .active{color:#0b5d38;border-color:#0b5d38}.payment-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;padding:28px 30px 12px}.payment-heading h2{margin:6px 0 0}.payment-lock{padding:7px 10px;border-radius:8px;background:#edf7f1;color:#17633e;font-size:12px;font-weight:800}.payment-form{padding:14px 30px 30px}.payment-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.payment-methods button{min-height:45px;border:1px solid #d3e0d9;border-radius:10px;background:#fff;color:#64766f;font-weight:800}.payment-methods button.active{border-color:#15934f;background:#edf8f1;color:#0b673c}.payment-methods button:disabled{opacity:.42}.card-input-wrap{position:relative}.card-input-wrap input{padding-right:70px}.card-input-wrap span{position:absolute;right:12px;top:50%;transform:translateY(-50%);padding:4px 7px;border-radius:5px;background:#173e8c;color:#fff;font-size:10px;font-weight:900;font-style:italic}.payment-submit{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:16px}.payment-submit strong{font-size:17px}.payment-security{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;color:#718078;font-size:11px}.order-summary{position:sticky;top:125px}.order-summary h3{font-size:27px;margin:8px 0 24px}.order-product{display:grid;grid-template-columns:54px 1fr auto;gap:13px;align-items:center;padding:17px 0;border-block:1px solid var(--line)}.order-icon{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#a7770b,#e4bd4f);color:#fff;font:800 24px Manrope}.order-product small{display:block;color:var(--muted)}.order-summary ul{padding:0;margin:20px 0;list-style:none}.order-summary li{padding:7px 0 7px 24px;position:relative;color:#4f655b}.order-summary li:before{content:'✓';position:absolute;left:0;color:#15934f;font-weight:900}.order-total{display:flex;justify-content:space-between;align-items:center;padding-top:17px;border-top:1px solid var(--line)}.order-total strong{font:800 22px Manrope}.demo-tax{display:block;margin-top:8px;color:var(--muted)}.payment-spinner{width:20px;height:20px;border:3px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:paymentSpin .75s linear infinite}@keyframes paymentSpin{to{transform:rotate(360deg)}}.payment-success{max-width:760px;margin:auto;text-align:center;padding:45px}.success-check{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:#e3f6ea;color:#0b7b43;font-size:40px;font-weight:900}.payment-success h2{font-size:38px;margin:7px 0}.payment-success>p{color:var(--muted)}.receipt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin:27px 0}.receipt-grid div{padding:15px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}.receipt-grid span,.receipt-grid strong{display:block}.receipt-grid span{font-size:11px;color:var(--muted);margin-bottom:4px}.success-actions{display:flex;gap:10px;justify-content:center}.demo-chip{padding:6px 9px;border-radius:99px;background:#fff3c8;color:#6d5307;font-size:11px;font-weight:800}
@media(max-width:900px){.payment-shell{grid-template-columns:1fr}.order-summary{position:static;order:-1}.payment-checkout{order:0}}
@media(max-width:700px){.demo-payment-banner{padding:10px 17px}.payment-steps{padding:17px 17px 0}.payment-steps span{font-size:9px;padding:7px 2px}.payment-heading{padding:23px 20px 10px;flex-direction:column}.payment-form{padding:12px 20px 22px}.payment-methods{grid-template-columns:1fr}.payment-methods button:not(.active){display:none}.payment-security{align-items:flex-start;flex-direction:column;gap:5px}.order-product{grid-template-columns:48px 1fr auto}.order-icon{width:48px;height:48px}.payment-success{padding:32px 20px}.payment-success h2{font-size:31px}.receipt-grid{grid-template-columns:1fr}.success-actions{flex-direction:column}.success-actions .portal-btn{width:100%}}
@media print{.portal-body>*{display:none!important}#paymentView{display:block!important}.payment-success{display:block!important;box-shadow:none;border:0}.success-actions{display:none}}
.demo-card-help{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:10px;border-radius:9px;background:#f5f8f6;color:#66776f;font-size:10px}.demo-card-help strong{color:#244a38}

/* Portal control inside unified public navigation */
.main-nav .portal-logout{min-height:42px;padding:10px 13px;border:1px solid #d3e4db;border-radius:9px;background:#f0f7f3;color:#075f3b;font:700 13px "DM Sans",sans-serif;cursor:pointer;white-space:nowrap}.main-nav .portal-logout:hover{background:#e2f2e9}.portal-body .site-header{top:0}.portal-body .portal-hero{margin-top:0}
@media(max-width:1100px){.main-nav .portal-logout{width:100%;min-height:46px;margin-top:4px}}

/* LFZ GBP payout request confirmation */
.redemption-success{max-width:800px;margin:auto;text-align:center;padding:44px}.redemption-success h2{font-size:38px;margin:7px 0}.redemption-success>p{color:var(--muted)}.payout-timeline{display:grid;grid-template-columns:repeat(3,1fr);margin:30px 0;position:relative}.payout-timeline:before{content:'';position:absolute;top:20px;left:16.66%;right:16.66%;height:3px;background:#dce8e2}.payout-timeline div{position:relative;z-index:1;display:grid;justify-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:800}.payout-timeline i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf2ef;border:3px solid #dce8e2;color:#718078;font-style:normal}.payout-timeline .done i{background:#15934f;border-color:#15934f;color:#fff}.payout-timeline .active i{background:#fff8e6;border-color:var(--gold);color:#725600}.payout-timeline .done{color:var(--pg)}.payout-timeline .active{color:#725600}.table-status.pending{background:#fff3cf;color:#725600}
.table-status.transferred{background:#e3f6ea;color:#0b6f3e}.transfer-action{white-space:nowrap;min-height:38px;padding:8px 12px}.transfer-action .payment-spinner{width:16px;height:16px;display:inline-block;vertical-align:middle;margin-right:5px}
.pending-check{background:#fff4d2;color:#7a5b00;font-size:30px}.demo-transfer-note{display:flex;align-items:center;gap:12px;margin:22px 0;padding:14px 16px;border:1px solid #ead38b;border-radius:12px;background:#fffae9;text-align:left}.demo-transfer-note strong{flex:none;color:#725600}.demo-transfer-note span{color:#6e6650;font-size:12px}.demo-complete-btn{min-width:260px}.transfer-processing,.transfer-complete{max-width:800px;margin:auto;text-align:center;padding:44px}.transfer-processing h2,.transfer-complete h2{font-size:38px;margin:9px 0}.transfer-processing>p,.transfer-complete>p{color:var(--muted)}.bank-processing-icon{width:82px;height:82px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:#e4f5eb;position:relative}.bank-processing-icon:before,.bank-processing-icon:after{content:'';position:absolute;inset:-7px;border:2px solid #15934f;border-radius:50%;border-top-color:transparent;animation:paymentSpin 1.2s linear infinite}.bank-processing-icon:after{inset:-14px;border-color:#abd8bd;border-bottom-color:transparent;animation-direction:reverse;animation-duration:1.8s}.bank-processing-icon span{font:800 37px Manrope;color:#087044}.processing-bar{height:9px;margin:30px 0 27px;border-radius:99px;background:#e7efeb;overflow:hidden}.processing-bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#15934f,#5bc77f);transition:width .65s ease}.processing-checks{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.processing-checks div{display:grid;justify-items:center;gap:9px;color:var(--muted);font-size:12px;font-weight:800}.processing-checks i{width:39px;height:39px;display:grid;place-items:center;border:2px solid #d8e5de;border-radius:50%;background:#f3f7f5;font-style:normal}.processing-checks .done{color:#087044}.processing-checks .done i{border-color:#15934f;background:#15934f;color:#fff}.processing-checks .active{color:#725600}.processing-checks .active i{border-color:#d5a928;background:#fff7de;color:#725600}.secure-processing-note{padding:12px;border-radius:10px;background:#f2f7f4;color:#69776f;font-size:11px}.transfer-amount{margin:25px 0;padding:24px;border-radius:16px;background:linear-gradient(135deg,#075e3b,#15934f);color:#fff}.transfer-amount span,.transfer-amount small{display:block;color:#d9f0e3}.transfer-amount strong{display:block;margin:6px 0;font:800 38px Manrope}.completed-status{color:#087044}.completed-timeline:before{background:#87cca3}.transfer-check{box-shadow:0 0 0 10px #eaf8ef}.transfer-complete .success-actions{flex-wrap:wrap}
@media(max-width:700px){.redemption-success{padding:32px 20px}.redemption-success h2{font-size:30px}.payout-timeline{margin:26px 0}.payout-timeline span{max-width:88px}.payout-timeline i{width:38px;height:38px}.payout-timeline:before{top:18px}}
@media(max-width:700px){.demo-transfer-note{align-items:flex-start;flex-direction:column}.demo-complete-btn{min-width:0}.transfer-processing,.transfer-complete{padding:32px 20px}.transfer-processing h2,.transfer-complete h2{font-size:30px}.processing-checks{gap:5px}.processing-checks span{max-width:86px}.transfer-amount strong{font-size:31px}}

/* Native checkbox visibility and click fix */
.portal-form .check-row{cursor:pointer;user-select:none;-webkit-user-select:none}.portal-form .check-row input[type="checkbox"]{-webkit-appearance:checkbox!important;appearance:auto!important;accent-color:#15934f!important;display:inline-block!important;width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;padding:0!important;margin:2px 0 0!important;border:1px solid #8ca99a!important;border-radius:4px!important;background:#fff!important;box-shadow:none!important;cursor:pointer;opacity:1!important;visibility:visible!important}.portal-form .check-row input[type="checkbox"]:focus-visible{outline:3px solid rgba(21,147,79,.25)!important;outline-offset:3px}.portal-form .check-row span{cursor:pointer}

/* Separate account actions and refined registration form */
.auth-layout{grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);max-width:1120px}
.auth-card{padding:30px}
.auth-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:-2px 0 28px}
.auth-choice button{display:flex;align-items:center;gap:12px;min-width:0;min-height:68px;border:1px solid #d4e2da;border-radius:14px;background:#f8fbf9;padding:13px 14px;text-align:left;color:var(--ink);cursor:pointer;transition:.2s}
.auth-choice button:hover{border-color:#83b89b;background:#f1f8f4}
.auth-choice button.active{border-color:var(--pg2);background:#eaf7ef;box-shadow:0 0 0 3px rgba(21,147,79,.09)}
.auth-choice-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid #dce8e1;color:var(--pg);font-size:21px;font-weight:800}
.auth-choice button.active .auth-choice-icon{background:var(--pg2);border-color:var(--pg2);color:#fff}
.auth-choice button>span:last-child{min-width:0}.auth-choice strong,.auth-choice small{display:block}.auth-choice strong{font-size:15px}.auth-choice small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:600;line-height:1.35}
.auth-form-heading{padding-bottom:2px}.auth-form-heading h2{margin:5px 0 8px}.auth-form-heading p{margin:0!important}.auth-submit{display:flex;align-items:center;justify-content:space-between}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr;max-width:760px}.auth-copy{position:static}}
@media(max-width:560px){.auth-card{padding:18px}.auth-choice{grid-template-columns:1fr;gap:9px;margin-bottom:24px}.auth-choice button{min-height:62px}.auth-copy{display:none}}

.simple-auth-nav a{display:flex;align-items:center;gap:12px;min-width:0;min-height:68px;border:1px solid #d4e2da;border-radius:14px;background:#f8fbf9;padding:13px 14px;text-align:left;color:var(--ink);text-decoration:none;transition:.2s}
.simple-auth-nav a:hover{border-color:#83b89b;background:#f1f8f4}
.simple-auth-nav a.active{border-color:var(--pg2);background:#eaf7ef;box-shadow:0 0 0 3px rgba(21,147,79,.09)}
.simple-auth-nav a.active .auth-choice-icon{background:var(--pg2);border-color:var(--pg2);color:#fff}
@media(max-width:560px){.simple-auth-nav a{min-height:62px}}

/* Keep paired registration fields perfectly aligned */
.portal-form .form-grid{align-items:start}
.portal-form .form-grid>.field-aligned{display:flex;flex-direction:column;align-self:start;gap:7px;width:100%;min-width:0}
.portal-form .form-grid>.field-aligned>span{display:block;min-height:20px;line-height:20px}
.portal-form .form-grid>.field-aligned>input{margin:0;min-height:48px}
.portal-form .form-grid>.field-aligned>small{display:block;margin-top:0;line-height:1.4}
.dashboard-status-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:700px){.dashboard-status-actions{width:100%;justify-content:flex-start}.dashboard-status-actions .portal-logout{width:auto}}

/* 7 Aug backend placement */
.staff-access-head{justify-content:flex-start!important;align-items:flex-start!important;gap:18px}.staff-access-head .status-pill.admin{flex:0 0 auto;margin-top:8px}.staff-access-head>div{flex:1}
@media(max-width:700px){.staff-access-head{flex-direction:column!important}.staff-access-head .status-pill.admin{margin-top:0}}

/* ===== Portal/ReBank responsive hardening — 13 Aug 2026 ===== */
.portal-body,.portal-section,.portal-card,.auth-layout,.dashboard-grid,.redemption-layout,.metric-grid,.form-grid{min-width:0}
.portal-card{max-width:100%}
.portal-form input,.portal-form select,.portal-form textarea{width:100%;min-width:0}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.table-wrap table{width:100%;border-collapse:collapse}
.portal-btn{white-space:normal;text-align:center}

@media(max-width:900px){
  .dashboard-head{flex-direction:column;align-items:flex-start;gap:14px}
  .dashboard-status-actions{justify-content:flex-start}
  .payment-shell{min-width:0}
}

@media(max-width:700px){
  .portal-header-inner{gap:10px}
  .portal-header-inner>div{min-width:0}
  .portal-section{overflow:visible}
  .portal-card{max-width:100%;overflow-wrap:anywhere}
  .auth-layout,.redemption-layout,.dashboard-grid,.metric-grid,.form-grid,.user-summary{width:100%;min-width:0}
  .card-title,.dashboard-head,.staff-access-head{min-width:0}
  .portal-form label,.portal-form .field-aligned{min-width:0}
  .portal-btn,.auth-submit,.demo-complete-btn{max-width:100%}
  .payout-timeline span,.processing-checks span{overflow-wrap:anywhere}
}

@media(max-width:420px){
  .portal-card{padding:15px}
  .table-wrap{margin-left:-15px;margin-right:-15px;width:calc(100% + 30px);padding-left:15px;padding-right:15px}
  .payment-heading,.payment-form,.payment-success,.redemption-success,.transfer-processing,.transfer-complete{padding-left:16px;padding-right:16px}
  .order-product{grid-template-columns:42px minmax(0,1fr)}
  .order-product>*:last-child{grid-column:2}
}
