/* Customer v4: a single quiet interface, independent of the admin workspace. */
body.v2-customer{--customer-green:#075c45;--customer-muted:#64746e;--customer-line:#dfe8e3;background:#f6f8f7!important;color:#192d26!important;font-size:16px;line-height:1.65;padding-bottom:74px!important}
body.v2-customer *,body.v2-customer *::before,body.v2-customer *::after{box-sizing:border-box}
body.v2-customer .customer-icon{width:24px;height:24px;flex:0 0 24px;display:inline-block;vertical-align:middle;color:inherit}
body.v2-customer button,body.v2-customer input,body.v2-customer select{font:inherit}body.v2-customer button{cursor:pointer}body.v2-customer button:disabled{opacity:.5;cursor:default}
body.v2-customer :focus-visible{outline:3px solid #32886c;outline-offset:3px}
.customer-page{width:100%;max-width:600px;margin:0 auto;padding:24px 20px 44px}.customer-brand{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.customer-brand img{width:112px;height:40px;object-fit:contain}
.customer-greeting{margin-bottom:22px}.customer-greeting h1{font-size:27px;line-height:1.4;margin:0 0 2px;font-weight:700}.customer-greeting p{margin:0;color:#64746e;font-size:14px}
body.v2-customer .customer-action{display:flex;align-items:center;gap:16px;min-height:78px;padding:16px 18px;margin-bottom:12px;border:1px solid #d9e4de;border-radius:14px;background:#fff;color:#173e30!important;text-decoration:none}
.customer-action>span{flex:1;font-size:20px;font-weight:650}.customer-action small{display:block;font-weight:400;font-size:13px;color:#64746e;margin-top:1px}.customer-action .customer-icon:last-child{width:18px;flex-basis:18px}
body.v2-customer .customer-action.primary{background:#075c45;color:#fff!important;border-color:#075c45}
.customer-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:24px 0 30px;padding:18px 0;border-top:1px solid #dfe8e3;border-bottom:1px solid #dfe8e3}.customer-balances>div{text-align:center;border-right:1px solid #dfe8e3}.customer-balances>div:last-child{border:0}.customer-balances span{display:block;color:#64746e;font-size:13px}.customer-balances b{display:block;font-size:25px;color:#075c45;margin-top:3px}
.customer-section-title{font-size:19px;margin:26px 0 12px}.customer-list{background:#fff;border:1px solid #dfe8e3;border-radius:14px;overflow:hidden;margin-bottom:24px}
body.v2-customer .customer-list>a,body.v2-customer .customer-list>button{display:flex;align-items:center;gap:14px;padding:17px 16px;min-height:68px;width:100%;border:0;border-bottom:1px solid #e6ece8;background:white;color:#243a30!important;text-decoration:none;text-align:left;font-size:15px!important}
.customer-list>a:last-child,.customer-list>button:last-child{border-bottom:0!important}.customer-row-copy{flex:1;min-width:0}.customer-row-copy strong{display:block;font-size:17px;font-weight:650}.customer-row-copy small{display:block;font-size:12px;color:#64746e;line-height:1.7;margin-top:1px}
.customer-icon-tile{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:#edf4f0;color:#075c45}.customer-count{font-size:16px;color:#075c45;font-weight:650}.customer-list .customer-icon[data-icon=chevron]{width:16px;flex-basis:16px;color:#7b8c82}
.customer-account-link,.customer-back{display:flex;align-items:center;gap:9px;min-height:44px;color:#075c45!important;text-decoration:none;font-size:14px}.customer-account-link .customer-icon:last-child{margin-left:auto}
.customer-heading{margin-bottom:26px}.customer-heading h1{font-size:27px;line-height:1.5;margin:14px 0 5px}.customer-heading p,.customer-help{font-size:14px;color:#64746e;line-height:1.8;margin:6px 0 16px}.customer-heading .customer-back{margin-top:-8px}
.customer-surface{border:1px solid #dfe8e3;background:#fff;border-radius:14px;padding:20px;margin:0 0 22px}.customer-surface h2{font-size:18px;margin:0 0 12px}.customer-large-number{font-size:34px;font-weight:700;color:#075c45}.customer-profile{display:flex;align-items:center;gap:16px;padding:0 0 24px}.customer-profile>.customer-icon{width:44px;height:44px;background:#eaf2ed;padding:9px;border-radius:12px;flex-basis:44px}.customer-profile p{margin:2px 0 0;font-size:13px;color:#64746e}
.customer-details{border-top:1px solid #dfe8e3;margin-top:16px;padding-top:12px}.customer-details summary{cursor:pointer;color:#075c45;min-height:44px;display:list-item;list-style-position:inside;padding:8px 0}.customer-details[open] summary{margin-bottom:12px}
.customer-page label,.customer-auth label{display:block;font-size:14px;font-weight:600;margin:0 0 7px}.customer-page input:not([type=radio]),.customer-auth input{display:block;width:100%;min-height:50px;border:1px solid #cbd9d0;border-radius:10px;background:white;color:#1d3428;padding:11px 13px;margin-bottom:16px;font-size:16px!important}
body.v2-customer .customer-primary,body.v2-customer .customer-secondary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;width:100%;border:1px solid #075c45;border-radius:11px;padding:11px 16px;background:#075c45;color:white!important;font-size:16px!important;font-weight:650;text-decoration:none}
body.v2-customer .customer-secondary{background:white;color:#075c45!important;border-color:#d3e0d7}.customer-status{font-size:14px;color:#64746e;min-height:0;margin:8px 0;line-height:1.8}.customer-status:empty{display:none}.customer-status.is-error{color:#a02d38}.customer-logout{display:flex;gap:10px;align-items:center;justify-content:center;min-height:52px;text-decoration:none;color:#6b504f!important;font-size:14px;margin-top:22px}
.customer-history-row{padding:15px 0;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #e3ebe5;font-size:14px}.customer-history-row:last-child{border:0}.customer-history-row>div{flex:1;min-width:0}.customer-history-row strong{display:block;font-size:15px}.customer-history-row small{display:block;color:#64746e;margin-top:3px;font-size:12px}.customer-status-tag{font-size:12px;color:#476355;white-space:nowrap;background:#edf4f0;padding:4px 8px;border-radius:6px}.customer-status-tag.pending{color:#805f22;background:#f9f3e6}.customer-status-tag.rejected{color:#a02d38;background:#faedef}
body.v2-customer .bottom-nav{height:72px!important;min-height:72px!important;border-top:1px solid #dfe8e3!important;background:#fff!important;box-shadow:none!important;padding:4px 12px calc(4px + env(safe-area-inset-bottom))!important}
body.v2-customer .bottom-nav a{background:transparent!important;border-radius:0!important;font-size:11px!important;gap:3px;min-width:0;color:#64746e!important}body.v2-customer .bottom-nav a.active{color:#075c45!important}body.v2-customer .bottom-nav a:after{display:none!important}body.v2-customer .bottom-nav .customer-icon{width:23px;height:23px}.bottom-nav-spacer{display:none!important}
body.v2-customer .nav-top{box-shadow:none!important}body.v2-customer .nav-top>a>img{max-width:108px;object-fit:contain}body.v2-customer .v3-notifications{width:44px!important;height:44px;min-height:44px!important;padding:10px!important;border:1px solid #dfe8e3!important;border-radius:12px;background:white!important;color:#075c45!important}.v3-notifications svg{width:20px;height:20px}
body.v2-customer .v3-page{max-width:700px;padding:22px 20px 38px!important;margin:auto}body.v2-customer .v3-page-heading h1{font-size:27px!important}body.v2-customer .v3-page-heading p{font-size:14px!important}.v2-customer .v3-reward-stage,.v2-customer .v3-reward-aside>section,.v2-customer .v3-draw,.v2-customer .v3-ticket-entry,.v2-customer .v3-tickets{border-radius:14px!important;box-shadow:none!important}.v2-customer .v3-help{font-size:13px!important;color:#64746e!important}.v2-customer .v3-primary,.v2-customer .v3-secondary{border-radius:11px!important;font-size:16px!important;min-height:50px!important}.v2-customer .v3-quantity{font-size:13px;border-radius:10px!important}.v2-customer .v3-draw-numbers b{font-size:25px!important}
.customer-auth{min-height:calc(100dvh - 30px);max-width:440px;margin:auto;padding:46px 24px;display:flex;flex-direction:column;justify-content:center}.customer-auth-logo{width:130px;height:48px;object-fit:contain;margin-bottom:26px}.customer-auth h1{font-size:27px;margin:0 0 8px}.customer-auth p{font-size:14px;color:#64746e;margin:0 0 24px}.customer-auth form{margin-top:5px}.customer-password-field{position:relative}.customer-password-field input{padding-right:58px}.customer-password-field button{position:absolute;right:3px;top:3px;width:44px;height:44px;min-height:44px!important;display:grid;place-items:center;background:transparent;border:0;color:#64746e}.customer-auth .customer-secondary{margin-top:12px}.customer-auth .customer-back{margin-top:14px}
.customer-reward-row{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:18px 0;border-bottom:1px solid #dfe8e3}.customer-reward-row:last-child{border:0}.customer-reward-row>img,.customer-reward-placeholder{width:56px;height:56px;object-fit:contain;border-radius:10px;background:#edf4f0}.customer-reward-placeholder{display:grid;place-items:center;color:#075c45}.customer-reward-row h3{font-size:17px;margin:0 0 4px}.customer-reward-row p{font-size:13px;color:#64746e;margin:3px 0 10px}.customer-reward-row button{margin-top:12px}.customer-reward-cost{color:#075c45;font-size:14px;font-weight:650}
.customer-dialog{width:min(92vw,430px);padding:24px;border:1px solid #dfe8e3;border-radius:16px;color:#1d3428}.customer-dialog::backdrop{background:#13332266}.customer-dialog h2{font-size:21px;margin:0 0 12px}.customer-dialog p{font-size:15px;line-height:1.8}.customer-dialog .customer-secondary{margin-top:10px}
.customer-platform-tabs{display:flex;gap:8px;margin-bottom:22px}.customer-platform-tabs button{flex:1;min-height:48px;border:1px solid #dfe8e3;background:white;color:#536c5b;border-radius:10px}.customer-platform-tabs button.active{background:#e7f2eb;border-color:#075c45;color:#075c45}.platform-panel:not(.active){display:none}.customer-steps{padding-left:23px;margin:12px 0;font-size:15px;line-height:1.9}.customer-steps li{padding:6px 0 6px 4px}
/* Chat owns the viewport: no balance panel or unrelated navigation. */
body.v2-customer-chat{padding:0!important;overflow:hidden}body.v2-customer-chat .bottom-nav,body.v2-customer-chat .nav-top{display:none!important}
body.v2-customer-chat .chat-wrap{top:0!important;bottom:var(--kb-offset,0px)!important;width:100%;max-width:680px!important;left:0;right:0;margin:auto;display:flex;flex-direction:column;background:#f4f7f8;min-height:0;border-left:1px solid #e3ebe5;border-right:1px solid #e3ebe5}
.customer-chat-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border-bottom:1px solid #e3ebe5;flex:0 0 auto}.customer-chat-header .customer-back{width:38px;min-height:44px;justify-content:center;flex-shrink:0}.customer-chat-title{flex:1;min-width:0}.customer-chat-title h1{font-size:19px;line-height:1.5;margin:0}.customer-chat-title p{margin:2px 0 0;color:#64746e;font-size:12px}.customer-chat-header .v3-header-actions{flex-shrink:0}
.customer-chat-help{margin:0;padding:0 18px;border:0!important;background:#fff;border-bottom:1px solid #e3ebe5!important;flex:0 0 auto}.customer-chat-help summary{display:flex;align-items:center;gap:8px;min-height:48px;font-size:13px;color:#405c4a;cursor:pointer;list-style:none}.customer-chat-help summary::-webkit-details-marker{display:none}.customer-chat-help summary .customer-icon{width:18px;height:18px;flex-basis:18px}.customer-chat-help summary:after{content:'+';margin-left:auto;font-size:21px;font-weight:400}.customer-chat-help[open] summary:after{content:'−'}.customer-chat-help p{font-size:13px;color:#64746e;line-height:1.9;padding:0 0 14px;margin:0;max-height:160px;overflow:auto}
body.v2-customer-chat .chat-body{flex:1;min-height:0;overflow-y:auto;padding:20px 16px 12px;display:flex;flex-direction:column;gap:12px;background:#f4f7f8!important;overscroll-behavior:contain}
body.v2-customer-chat .msg{max-width:85%;padding:11px 14px!important;border-radius:15px!important;font-size:16px!important;line-height:1.7;overflow-wrap:anywhere;box-shadow:none!important;flex-shrink:0;position:relative}
body.v2-customer-chat .msg.admin{align-self:flex-start;border:1px solid #dfe8e3!important;border-bottom-left-radius:4px!important;background:white!important;color:#20392b!important}body.v2-customer-chat .msg.user{align-self:flex-end;border:1px solid #075c45!important;border-bottom-right-radius:4px!important;background:#075c45!important;color:white!important}.msg .time{font-size:11px!important;opacity:.75;margin-top:5px;text-align:right}
body.v2-customer-chat .msg img{max-width:min(240px,100%);max-height:300px;object-fit:contain;border-radius:10px}.customer-day-divider{font-size:12px;color:#64746e;text-align:center;align-self:center;background:#eaf0ec;padding:4px 12px;border-radius:12px;margin:6px 0}
body.v2-customer-chat .voice-card{background:#edf4ef!important;border:1px solid #d4e1d8!important;border-radius:11px!important;padding:8px!important;color:#20392b!important;box-shadow:none!important;min-width:0;max-width:100%}.voice-card audio{display:block!important;width:240px;max-width:100%;height:44px}.voice-card .voice-status{display:block;color:#a02d38;font-size:12px}.voice-card .voice-status:empty{display:none}.voice-meta:after{content:none!important}
.customer-composer-wrap{background:#fff;position:relative;flex:0 0 auto;border-top:1px solid #dfe8e3}.customer-chat-attachments{position:absolute;bottom:100%;left:12px;margin-bottom:10px;background:white;border:1px solid #d8e4dc;border-radius:14px;padding:6px;box-shadow:0 6px 24px #17362214;z-index:20;min-width:190px}.customer-chat-attachments[hidden]{display:none}.customer-chat-attachments button{display:flex;gap:12px;align-items:center;width:100%;min-height:50px;background:white;border:0;padding:12px;color:#20392b;text-align:left;font-size:15px!important}
body.v2-customer-chat .chat-input-bar{display:flex;gap:6px;padding:12px 10px calc(12px + env(safe-area-inset-bottom))!important;min-height:74px;border:0!important;border-radius:0!important;background:#fff!important;align-items:center}
body.v2-customer-chat .chat-input-bar input{flex:1;min-width:0;height:46px;min-height:46px!important;border:1px solid #d8e4dc!important;background:#f9fbfa!important;border-radius:24px!important;padding:10px 13px!important;font-size:16px!important;color:#20392b;margin:0}
body.v2-customer-chat .chat-input-bar button{display:grid;place-items:center;width:44px!important;height:46px!important;min-width:44px!important;min-height:46px!important;flex:0 0 44px;border-radius:50%;padding:10px!important;border:0;background:#f0f5f2;color:#20392b}.chat-input-bar .customer-icon{width:23px;height:23px;flex-basis:23px}body.v2-customer-chat .chat-input-bar .btn-send{background:#075c45!important;color:white!important}
.customer-chat-status{font-size:12px;color:#64746e;margin:0;padding:6px 14px;background:white}.customer-chat-status:empty{display:none}.customer-chat-status.is-error{color:#a02d38}.customer-chat-status button{background:none;border:0;color:#075c45;text-decoration:underline;padding:0 8px}
.customer-recording{display:none;align-items:center;gap:12px;padding:14px;background:#fff4f3;color:#a02d38}.customer-recording.show{display:flex}.customer-recording #recordTimer{font-weight:650;min-width:40px;font-size:15px}.customer-recording .recording-hint{flex:1;font-size:12px}.customer-recording button{min-width:44px;min-height:46px;border:1px solid #e2c6c4;border-radius:10px;background:white;color:#a02d38;padding:8px}.customer-recording button:last-child{background:#a02d38;color:white}.customer-recording #recordWave{display:none!important}
.customer-chat-empty{text-align:center;padding:40px 20px;color:#64746e;font-size:14px;line-height:1.9}.customer-chat-empty strong{display:block;font-size:17px;color:#2b4838;margin-bottom:8px}.customer-jump{align-self:center;background:white;border:1px solid #b7d5c3;border-radius:20px;position:absolute;bottom:90px;padding:8px 16px;z-index:12;color:#075c45;box-shadow:0 3px 12px #17362212;font-size:13px!important;min-height:40px!important}.customer-jump[hidden]{display:none}
.lightbox-overlay{display:none;position:fixed;inset:0;background:#0a1a14e8;z-index:11000;align-items:center;justify-content:center;padding:18px}.lightbox-overlay.show{display:flex}.lightbox-overlay img{max-width:100%;max-height:90dvh;object-fit:contain}.lightbox-close{position:absolute;right:20px;top:20px;border:0;background:white;color:#173e30;border-radius:50%;width:46px;height:46px;font-size:26px}
@media(max-width:380px){.customer-page{padding-left:16px;padding-right:16px}.customer-chat-header{padding:12px 10px;gap:7px}.customer-chat-title h1{font-size:17px}.customer-chat-title p{font-size:11px}.customer-chat-header .v3-notifications{width:40px!important;min-width:40px!important}.customer-list>a{gap:10px!important}.customer-row-copy small{font-size:12px}.customer-chat-help{padding:0 14px}}
@media(prefers-reduced-motion:reduce){body.v2-customer *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.customer-home.customer-page{padding-top:18px}.customer-home .customer-brand{margin-bottom:20px}.customer-home .customer-greeting{margin-bottom:16px}.customer-home .customer-greeting h1{font-size:25px}.customer-home .customer-balances{margin:20px 0;padding:14px 0}.customer-home .customer-section-title{margin:20px 0 10px}body.v2-customer .customer-home .customer-action{min-height:70px;padding:12px 16px;margin-bottom:10px}body.v2-customer .customer-home .customer-list>a{padding:12px 16px;min-height:76px}body.v2-customer .customer-profile>.customer-icon{width:48px;height:48px;flex-basis:48px;padding:10px}body[data-v2-brand].v2-customer-chat .chat-input-bar #msgInput{border-radius:24px!important}
body.v2-customer:has(.customer-auth)>.v3-notifications{display:none!important}body.v2-customer-chat .chat-wrap:has(.customer-recording.show) .chat-input-bar{display:none!important}

/* Optional generated Home artwork; keep the shared outline icons elsewhere. */
.customer-icon-tile.customer-icon-illustrated{width:56px;height:56px;flex:0 0 56px;background:transparent;border-radius:0}
.customer-icon-illustrated img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
@media(max-width:380px){.customer-icon-tile.customer-icon-illustrated{width:52px;height:52px;flex-basis:52px}}
