/* Customer controls: reference geometry, crisp symbols and explicit states. */
.customer-app { --aoc-cyan:#30d7f3; --aoc-cyan-soft:#30d7f31f; --customer-line:#164258; --customer-muted:#a8bdcc; color:#eaf3f8; background:#00131f; }
.customer-app .reference-icon { background-image:none !important; background-color:currentColor !important; background-size:auto !important; mask-repeat:no-repeat; mask-position:center; mask-size:contain; -webkit-mask-repeat:no-repeat; -webkit-mask-position:center; -webkit-mask-size:contain; }
.customer-app .reference-icon--home { mask-image:url("../img/customer/m-home.png"); -webkit-mask-image:url("../img/customer/m-home.png"); }
.customer-app .reference-icon--home-active { mask-image:url("../img/customer/m-home-active.png"); -webkit-mask-image:url("../img/customer/m-home-active.png"); }
.customer-app .reference-icon--calendar { mask-image:url("../img/customer/m-calendar.png"); -webkit-mask-image:url("../img/customer/m-calendar.png"); }
.customer-app .reference-icon--gift { mask-image:url("../img/customer/m-gift.png"); -webkit-mask-image:url("../img/customer/m-gift.png"); }
.customer-app .reference-icon--clock { mask-image:url("../img/customer/m-clock.png"); -webkit-mask-image:url("../img/customer/m-clock.png"); }
.customer-app .reference-icon--coins { mask-image:url("../img/customer/m-coins.png"); -webkit-mask-image:url("../img/customer/m-coins.png"); }
.customer-app .reference-icon--coin-stack { mask-image:url("../img/customer/m-coins.png"); -webkit-mask-image:url("../img/customer/m-coins.png"); }
.customer-app .reference-icon--profile { mask-image:url("../img/customer/m-profile.png"); -webkit-mask-image:url("../img/customer/m-profile.png"); }
.customer-app .reference-icon--avatar { mask-image:url("../img/customer/m-avatar.png"); -webkit-mask-image:url("../img/customer/m-avatar.png"); }
.customer-app .reference-icon--chat { mask-image:url("../img/customer/m-chat.png"); -webkit-mask-image:url("../img/customer/m-chat.png"); }
.customer-app .reference-icon--snow { mask-image:url("../img/customer/m-snow.png"); -webkit-mask-image:url("../img/customer/m-snow.png"); }
.customer-app .reference-icon--arrow-right { mask-image:url("../img/customer-icons/arrow-right.svg"); -webkit-mask-image:url("../img/customer-icons/arrow-right.svg"); }
.customer-app .reference-icon--arrow-left { mask-image:url("../img/customer/m-arrow-left.png"); -webkit-mask-image:url("../img/customer/m-arrow-left.png"); }
.customer-app .reference-icon--chevron-right { mask-image:url("../img/customer/m-chevron-right.png"); -webkit-mask-image:url("../img/customer/m-chevron-right.png"); }
.customer-app .reference-icon--check { mask-image:url("../img/customer-icons/check.svg"); -webkit-mask-image:url("../img/customer-icons/check.svg"); }
.customer-app .reference-icon--close { mask-image:url("../img/customer-icons/close.svg"); -webkit-mask-image:url("../img/customer-icons/close.svg"); }
.customer-app .reference-icon--plus { mask-image:url("../img/customer-icons/plus.svg"); -webkit-mask-image:url("../img/customer-icons/plus.svg"); }
.customer-app .reference-icon--send { mask-image:url("../img/customer/m-send.png"); -webkit-mask-image:url("../img/customer/m-send.png"); }
.customer-app .reference-icon--info { mask-image:url("../img/customer/m-info.png"); -webkit-mask-image:url("../img/customer/m-info.png"); }
.customer-app .reference-icon--lock { mask-image:url("../img/customer-icons/lock.svg"); -webkit-mask-image:url("../img/customer-icons/lock.svg"); }
.customer-app .reference-icon--key { mask-image:url("../img/customer-icons/key.svg"); -webkit-mask-image:url("../img/customer-icons/key.svg"); }
.customer-app .reference-icon--shield { mask-image:url("../img/customer-icons/shield.svg"); -webkit-mask-image:url("../img/customer-icons/shield.svg"); }
.customer-app .reference-icon--logout { mask-image:url("../img/customer-icons/logout.svg"); -webkit-mask-image:url("../img/customer-icons/logout.svg"); }
.customer-app .reference-icon--card { mask-image:url("../img/customer/m-card.png"); -webkit-mask-image:url("../img/customer/m-card.png"); }
.customer-app .reference-icon--location { mask-image:url("../img/customer/m-location.png"); -webkit-mask-image:url("../img/customer/m-location.png"); }
.customer-app .reference-icon--bell { mask-image:url("../img/customer-icons/bell.svg"); -webkit-mask-image:url("../img/customer-icons/bell.svg"); }
.customer-app .reference-icon--settings { mask-image:url("../img/customer/m-settings.png"); -webkit-mask-image:url("../img/customer/m-settings.png"); }
.customer-app .site-main { width:100%; max-width:460px; margin:0 auto; padding:24px 20px 100px !important; background:#00111c; border:0; border-radius:0; box-shadow:none; min-height:100dvh; }
.customer-app .site-nav, .customer-app .site-footer { display:none; }
.customer-app .site-main > .row > [class*=col-] { width:100%; }
.customer-app .surface-panel { background:#041b29; border:1px solid var(--customer-line); border-radius:10px; box-shadow:none; }
.customer-app .surface-panel > .card-body { padding:16px; }
.customer-app .text-muted, .customer-app .form-text { color:var(--customer-muted) !important; }
.customer-app .form-control, .customer-app .form-select, .customer-app .input-group-text { color:#e3f0f7; background-color:#041b29; border:1px solid #245066; border-radius:7px; min-height:44px; }
.customer-app .form-control::placeholder { color:#7897aa; }
.customer-app .form-control:focus, .customer-app .form-select:focus { border-color:#3cdef5; box-shadow:0 0 0 3px #30d7f324; }
.customer-app .form-check-input { background-color:#031722; border-color:#35647b; }
.customer-app .form-check-input:checked { background-color:#22c8e6; border-color:#30d7f3; }
.customer-app .btn { --bs-btn-border-radius:7px; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:10px 16px; border-radius:7px !important; font-size:14px; font-weight:500; line-height:1.3; transition:background-color .15s,border-color .15s,box-shadow .15s; }
.customer-app .btn-primary, .customer-app .btn-info, .customer-app .btn-success, .customer-app .dashboard-card-cta { background:linear-gradient(110deg,#22d6ec,#35d4f5); color:#002432; border:1px solid #38dff5; box-shadow:0 0 16px #12cce52b; }
.customer-app .btn-primary:hover, .customer-app .btn-info:hover, .customer-app .btn-success:hover, .customer-app a:hover > .dashboard-card-cta { background:#70e8f8; border-color:#91f0fa; color:#00202c; box-shadow:0 0 20px #26d9f347; }
.customer-app .btn-primary:not([aria-label]):not(:has(svg)):not(:has(.reference-icon))::after, .customer-app .btn-info:not([aria-label])::after { content:''; flex-shrink:0; width:19px; height:19px; background:currentColor; mask:url('../img/customer-icons/arrow-right.svg') center/contain no-repeat; }
.customer-app [class*='btn-outline-'] { color:#46d8ef; border:1px solid #247a91; background:transparent; box-shadow:none; }
.customer-app [class*='btn-outline-']:hover { background:#0a3446; border-color:#46d8ef; color:#c5f6ff; }
.customer-app .btn-outline-danger, .customer-app .btn-danger { color:#ed9ba8; border-color:#873b50; background:#321825; }
.customer-app .btn-outline-danger:hover, .customer-app .btn-danger:hover { color:#fff; background:#75253e; border-color:#ed9ba8; }
.customer-app .btn-link { background:none; box-shadow:none; color:#45d7ee; }
.customer-app .btn:disabled, .customer-app .btn.disabled { opacity:.4; box-shadow:none; cursor:not-allowed; }
.customer-app .btn:active:not(:disabled), .customer-app .dashboard-card-cta:active { transform:translateY(1px); }
.customer-app :is(a,button,summary,[role=button]):focus-visible { outline:2px solid #8ceeff; outline-offset:4px; box-shadow:0 0 0 3px #30d7f325; }
.customer-app .btn-close { width:24px; height:24px; padding:8px; background:currentColor; color:#8cc3d5; mask:url('../img/customer-icons/close.svg') center/20px no-repeat; opacity:1; }
.customer-app .modal-content { color:#eaf3f8; background:#031a28; border:1px solid #245067; border-radius:12px; }
.customer-app .modal-header, .customer-app .modal-footer { border-color:#1a3d4f; }
.customer-app .modal-footer .btn { flex:1; }
.customer-app .dashboard-home-action > .reference-icon { color:#3dd9f0; width:40px; height:40px; filter:drop-shadow(0 0 5px #37d6ee40); }
.customer-app .dashboard-home-action .dashboard-action-arrow { width:27px; height:27px; padding:5px; margin-top:auto; border:1px solid #2bc6df; border-radius:50%; background:transparent !important; mask:none; position:relative; }
.customer-app .dashboard-action-arrow::after { content:''; position:absolute; inset:6px; background:#39dbf0; mask:url('../img/customer/m-chevron-right.png') center/contain no-repeat; }
.customer-app .dashboard-card-arrow { width:15px; height:20px; color:#9cbfce; }
.customer-app .dashboard-icon-button { width:36px; height:36px; color:#56d9ed; }
.customer-app .dashboard-icon-button .reference-icon--profile { mask-image:url('../img/customer/m-avatar.png'); -webkit-mask-image:url('../img/customer/m-avatar.png'); }
.customer-app .dashboard-bottom-nav__item { min-height:44px; justify-content:center; color:#97adbe; }
.customer-app .dashboard-bottom-nav__item.is-active { color:#30d7f3; }
.customer-app .dashboard-bottom-nav__item.is-active .reference-icon--home { mask-image:url('../img/customer/m-home-active.png'); -webkit-mask-image:url('../img/customer/m-home-active.png'); }
.customer-app .dashboard-bottom-nav__item .reference-icon { background-color:currentColor !important; }
.customer-app .dashboard-home-action:hover { border-color:#38d8f1; background:#073144; }
.customer-app .wallet-pkg-chip { position:relative; padding-right:38px; }
.customer-app .wallet-pkg-chip.is-selected { border-color:#30d7f3; background:#053045; box-shadow:0 0 12px #30d7f342,inset 0 0 0 1px #30d7f329; }
.customer-app .wallet-pkg-chip::before { background:#98bdce !important; mask:url('../img/customer/m-coins.png') center/contain no-repeat; }
.customer-app .wallet-pkg-chip.is-selected::before { background:#30d7f3 !important; }
.customer-app .wallet-pkg-chip::after { content:''; position:absolute; right:12px; top:50%; transform:translateY(-50%); width:15px; height:15px; border:1px solid #80a7bb; border-radius:50%; }
.customer-app .wallet-pkg-chip.is-selected::after { border:4px solid #30d7f3; background:#032131; }
.customer-app .wallet-method-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.customer-app .wallet-method-chip { min-height:44px; padding:10px 5px; text-align:center; border:1px solid #245366; border-radius:7px; background:#041925; color:#b0c5d0; font-size:12px; }
.customer-app .btn-check:checked + .wallet-method-chip { background:#30d7f3; color:#002332; border-color:#30d7f3; box-shadow:0 0 10px #30d7f32e; }
.customer-app .btn-check:focus-visible + .wallet-method-chip { outline:2px solid #8ceeff; outline-offset:3px; }
.customer-app .wallet-checkout-btn { width:100%; }
.customer-app #comboButtons .product-glass-card.active::after { width:24px; height:24px; right:10px; top:10px; background:#30d7f3; mask:url('../img/customer-icons/check.svg') center/contain no-repeat; border:0; border-radius:0; }
.customer-app #comboButtons .contra-badge { min-width:26px; min-height:26px; border:1px solid #30cbe3; color:#61e0f3; background:#03202e; box-shadow:none; font-family:inherit; }
.customer-app .wizard-progress-step { min-height:38px; display:flex; align-items:center; justify-content:center; }
.customer-app .wizard-progress-step.is-done { border-color:#29bed7; color:#49d5ed; cursor:pointer; }
.customer-app .date-nav-btn { min-height:40px; min-width:40px; }
.customer-app .time-slot-chip { min-height:48px; }
.customer-app .time-slot-chip.active { background:#30d7f3; border-color:#52e3f7; box-shadow:0 0 12px #30d7f330; }
.customer-app #chatModal .modal-dialog { width:min(100%,460px); max-width:460px; height:100dvh; min-height:100dvh; margin:0 auto; }
.customer-app #chatModalContent { height:100%; max-height:none; border:0; border-radius:0; background:#00111c; }
.customer-app #chatModalContent .modal-body { min-height:0; }
.customer-app #chatMessages { max-height:none; padding:22px 18px; background:#00111c; }
.customer-app #chatModalContent .modal-header { padding:22px 20px; border-bottom:1px solid #153d4d; background:#001722; }
.customer-app #chatSendForm { gap:8px; padding:8px 4px; align-items:center; }
.customer-app #chatInput { min-height:44px; border-radius:24px; padding:12px 16px; }
.customer-app #chatSendBtn { width:40px; height:44px; padding:9px; background:none; color:#43d7ed; border:0; box-shadow:none; }
.customer-app #chatSendBtn svg { display:none; }
.customer-app #chatSendBtn::after { content:''; width:24px; height:24px; background:currentColor; mask:url('../img/customer/m-send.png') center/contain no-repeat; }
.customer-app #chatSendForm label { width:38px; height:38px; min-width:38px; display:grid; place-items:center; padding:8px; border:1px solid #527c90; border-radius:50%; }
.customer-app #chatSendForm label svg { display:none; }
.customer-app #chatSendForm label::after { content:''; width:20px; height:20px; background:#9cc7db; mask:url('../img/customer-icons/plus.svg') center/contain no-repeat; }
.customer-app .chat-bubble--admin { background:#0a2232; border:1px solid #153a4c; color:#dfedf6; border-radius:13px; }
.customer-app .chat-bubble--user { background:#30d7f3; border:0; color:#002130; border-radius:13px; }
.customer-app .chat-bubble--user .chat-bubble__meta { color:#245669; }
.customer-app .profile-hero { display:flex; align-items:center; gap:15px; padding:10px 0 26px; }
.customer-app .profile-hero > .reference-icon { width:50px; height:50px; color:#32d4ed; }
.customer-app .profile-hero strong { font-size:18px; font-weight:500; }
.customer-app .profile-hero small { display:block; color:#9bb6c7; margin-top:4px; overflow-wrap:anywhere; }
.customer-app .profile-menu { display:flex; flex-direction:column; gap:1px; border:1px solid #163747; border-radius:10px; overflow:hidden; }
.customer-app .profile-menu-link, .customer-app .profile-menu summary { display:flex; align-items:center; gap:12px; padding:17px 14px; min-height:58px; margin:0; background:#031a28; color:#c6dae6; border:0; text-decoration:none; font-size:14px; width:100%; text-align:left; }
.customer-app .profile-menu-link > .reference-icon, .customer-app .profile-menu summary > .reference-icon { width:21px; height:21px; color:#8bb4c7; }
.customer-app .profile-menu-link::after, .customer-app .profile-menu summary::after { content:''; margin-left:auto; width:13px; height:16px; background:#6d9aae; mask:url('../img/customer/m-chevron-right.png') center/contain no-repeat; }
.customer-app .profile-menu summary { list-style:none; cursor:pointer; }
.customer-app .profile-menu summary::-webkit-details-marker { display:none; }
.customer-app .profile-menu details[open] summary::after { transform:rotate(90deg); }
.customer-app .profile-menu-link:hover, .customer-app .profile-menu summary:hover { background:#092b3d; }
.customer-app .profile-menu details > .card-body { padding:18px; background:#041d2b; }
.customer-app .profile-logout { color:#ea8ca2; margin-top:18px; }
.customer-app .profile-logout .reference-icon { color:inherit; }
.customer-app .profile-languages { display:flex; justify-content:center; gap:18px; margin-top:20px; }
.customer-app .profile-languages a { color:#8bb4c7; font-size:13px; padding:8px; }
.customer-app .profile-languages a[aria-current] { color:#31d7ee; }
@media(prefers-reduced-motion:reduce) { .customer-app .btn { transition:none; } }
.customer-app .reference-icon--people { mask-image:url("../img/customer-icons/people.svg"); -webkit-mask-image:url("../img/customer-icons/people.svg"); }
.customer-app .reference-icon--fingerprint { mask-image:url("../img/customer-icons/fingerprint.svg"); -webkit-mask-image:url("../img/customer-icons/fingerprint.svg"); }
.customer-app .reference-icon--warning { mask-image:url("../img/customer-icons/warning.svg"); -webkit-mask-image:url("../img/customer-icons/warning.svg"); }
.customer-app .reference-icon--clipboard { mask-image:url("../img/customer-icons/clipboard.svg"); -webkit-mask-image:url("../img/customer-icons/clipboard.svg"); }
.customer-app .reference-icon--check-circle { mask-image:url("../img/customer-icons/check-circle.svg"); -webkit-mask-image:url("../img/customer-icons/check-circle.svg"); }
.customer-app .reference-icon--hourglass { mask-image:url("../img/customer-icons/hourglass.svg"); -webkit-mask-image:url("../img/customer-icons/hourglass.svg"); }
.customer-app .bi-fingerprint::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/fingerprint.svg") center/contain no-repeat; }
.customer-app .bi-exclamation-triangle::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/warning.svg") center/contain no-repeat; }
.customer-app .bi-lock::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/lock.svg") center/contain no-repeat; }
.customer-app .bi-arrow-left::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer/m-arrow-left.png") center/contain no-repeat; }
.customer-app .bi-check-circle::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/check-circle.svg") center/contain no-repeat; }
.customer-app .bi-people::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/people.svg") center/contain no-repeat; }
.customer-app .bi-calendar-x::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer/m-calendar.png") center/contain no-repeat; }
.customer-app .bi-clipboard-pulse::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/clipboard.svg") center/contain no-repeat; }
.customer-app .bi-clock-history::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer/m-clock.png") center/contain no-repeat; }
.customer-app .bi-hourglass-split::before { content:""; width:1em; height:1em; display:inline-block; background:currentColor; mask:url("../img/customer-icons/hourglass.svg") center/contain no-repeat; }
.customer-app #chatToggleBtn { bottom:88px; right:max(18px,calc((100vw - 460px)/2 + 18px)); width:44px; height:44px; padding:10px; border:1px solid #23738a; border-radius:50%; color:#4cd7ed; background:#052435; box-shadow:0 0 14px #30d7f32b; }
.customer-app #chatToggleBtn > svg { display:none; }
.customer-app #chatToggleBtn::before { content:''; width:23px; height:23px; background:currentColor; mask:url('../img/customer/m-chat.png') center/contain no-repeat; }
.customer-app .btn-warning { background:#073548; color:#76e5f5; border:1px solid #279cb3; box-shadow:none; }
.customer-app .anam-panel__foot .btn { min-width:100px; }
.customer-app .anam-panel__foot { gap:12px; border-color:#1e495b; }
.customer-app .profile-menu-link .reference-icon--people { color:#8bb4c7; }
.customer-app #chatModalContent .modal-title::before { content:''; width:40px; height:40px; flex-shrink:0; margin-right:8px; border:1px solid #237389; border-radius:50%; background:url('../img/customer/app-icon-192.png') center/cover; }
.customer-app .site-main form > .d-flex > .btn { flex:1; }
.customer-app .anam-panel .form-check-input:checked { background-color:#30d7f3; border-color:#30d7f3; }
/* The legacy chat rule uses two IDs: override it at the same scope. */
.customer-app #chatSendForm #chatSendBtn { background:transparent !important; color:#53d8ef !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; }
.customer-app #chatModalContent .btn-close { opacity:1; background:#91bfce !important; }
.customer-app #comboButtons .product-glass-card.active::after { background:#30d7f3 url('../img/customer-icons/check.svg') center/17px no-repeat; mask:none; border-radius:50%; }
.customer-app #comboButtons .product-glass-card.active .contra-badge { right:42px; }
