.customer-account-page{background:#f5edde;color:#211b15;font-family:Manrope,sans-serif;margin:0}
.customer-account-page *{box-sizing:border-box}
.ca-main{max-width:1120px;margin:0 auto;padding:48px 28px 64px}
.ca-auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.ca-main h1{font-size:clamp(30px,4vw,44px);line-height:1.15;letter-spacing:-1.4px;margin:0 0 16px;font-weight:800}
.ca-main h2{font-size:21px;line-height:1.35;margin:0 0 18px;letter-spacing:-.5px}
.ca-main p{line-height:1.7;margin:0 0 20px;color:#665342}
.ca-introduction>p:first-of-type{font-size:19px}
.ca-intro-detail{margin-top:26px!important;max-width:440px}
.ca-panel{background:#fffbf5;border:1px solid #d9c8b2;border-radius:14px;padding:30px}
.ca-form{display:grid;gap:10px}
.ca-form label{font-weight:700;font-size:13px;margin-top:6px}
.ca-form input,.ca-form select{font:inherit;font-size:16px;width:100%;min-height:48px;border:1px solid #bfae98;border-radius:7px;background:#fffefa;color:#211b15;padding:11px 13px;min-width:0}
.ca-form input:focus,.ca-form select:focus{outline:2px solid #9b6437;outline-offset:2px}
.ca-form .ca-help{margin:0 0 5px}
.ca-password-field{position:relative;display:flex;align-items:center}
.ca-password-field input{padding-right:72px}
.ca-password-toggle{position:absolute;right:3px;top:3px;bottom:3px;min-width:60px;background:none;border:0;border-radius:5px;color:#715035;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.ca-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#241a11;color:#fff4e3;border:1px solid #241a11;border-radius:7px;font:inherit;font-weight:800;font-size:14px;line-height:1.4;cursor:pointer;text-decoration:none;gap:8px}
.ca-button:hover{background:#47301e}
.ca-button:disabled{opacity:.5;cursor:wait}
.ca-button:focus-visible,.ca-main a:focus-visible,.ca-main summary:focus-visible,.menu-site-actions a:focus-visible{outline:3px solid #ae713b;outline-offset:4px}
.ca-secondary{background:transparent;color:#47301e;border-color:#bcaa94}
.ca-secondary:hover{background:#f0e5d5}
.ca-form>.ca-button{margin-top:10px;width:100%}
.ca-help{font-size:12px;color:#6d5c49!important;line-height:1.6!important}
.ca-switch{margin:23px 0 12px!important;font-size:14px}
.ca-forgot{font-size:13px;text-align:right;margin:14px 0 0!important}
.ca-main a{color:#79512d;font-weight:700;text-underline-offset:3px}
.ca-existing-card label{display:block;margin:0 0 10px}
.ca-existing-card .ca-help{margin:8px 0 2px}
.ca-message{background:#e7efdf;border:1px solid #a2b68d;border-radius:8px;padding:14px 18px;margin-bottom:24px;font-size:14px;line-height:1.6}
.ca-error{background:#fff0e9;border-color:#c8937b;color:#8a341c}
.ca-wallet-heading{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}
.ca-wallet-heading p{margin:0}
.ca-wallet-heading .ca-button{white-space:nowrap}
.ca-wallet-heading h1{font-size:34px}
.ca-wallet-layout{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:32px;align-items:start}
.ca-balance-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 0}
.ca-balance-row span{font-size:13px;color:#665342;display:block;margin-bottom:7px}
.ca-balance-row strong{font-size:36px;line-height:1.1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.ca-refresh{font-size:12px}
.ca-balance-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.ca-balance-actions .ca-button{min-height:42px;padding:9px 12px;font-size:12px;white-space:nowrap}
.ca-balance-actions .ca-secondary{border-color:#8e7352;color:#ecd7bd}
.ca-balance-actions .ca-secondary:hover{background:#342619}
.ca-reload-note{border-top:1px solid #d3c1a9;padding-top:21px}
.ca-reload-note h2{font-size:17px;margin-bottom:8px}
.ca-reload-note p{font-size:14px}
.ca-account-settings{border-top:1px solid #d3c1a9;padding:18px 0}
.ca-account-settings summary{font-size:14px;font-weight:800;cursor:pointer;min-height:32px}
.ca-account-settings p{font-size:13px;margin:14px 0;overflow-wrap:anywhere}
.ca-activity{margin-top:0;min-width:0}
.ca-loyalty{margin-top:8px}
.ca-loyalty .akopi-card-brand h2{font:700 11px/1.5 Manrope,Arial,sans-serif;color:#e8c395;letter-spacing:normal;white-space:nowrap;margin:10px 0 0}
.ca-loyalty-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px}
.ca-loyalty .ca-loyalty-heading .akopi-card-owner{margin:0;min-width:0}
.ca-loyalty-heading>strong{font-size:12px;line-height:1.5;text-align:right;color:#e8c395;max-width:50%;flex-shrink:0}
.ca-loyalty-stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;gap:14px 12px;list-style:none;margin:0;padding:0}
.ca-loyalty-stamps li{display:grid;place-items:center;width:min(100%,58px);aspect-ratio:1;border:1px solid #795836;border-radius:50%;background:#2a2016;color:#d7b890;font-size:13px;font-weight:700}
.ca-loyalty-stamps li.is-earned,.ca-loyalty-stamps li.ca-loyalty-free.is-ready{background:#e8c395;color:#201810;border-color:#e8c395;border-style:solid}
.ca-loyalty-stamps li.is-earned span{width:17px;height:24px;position:relative;background:#3f2818;border-radius:50%;transform:rotate(-28deg)}
.ca-loyalty-stamps li.is-earned span::after{content:'';position:absolute;left:8px;top:3px;width:1px;height:18px;background:#e8c395;border-radius:50%}
.ca-loyalty-stamps li.ca-loyalty-free{font:700 12px/1 Manrope,Arial,sans-serif;border-style:dashed}
.ca-loyalty-spend{margin-top:20px}
.ca-loyalty .ca-loyalty-spend p{margin:0 0 8px;color:#d9c4a8;font-size:12px;line-height:1.6}
.ca-loyalty-spend strong{color:#e8c395;font-variant-numeric:tabular-nums}
.ca-loyalty-spend progress{display:block;appearance:none;width:100%;height:7px;border:0;border-radius:8px;overflow:hidden;background:#ffffff26;color:#e8c395}
.ca-loyalty-spend progress::-webkit-progress-bar{background:#ffffff26;border-radius:8px}
.ca-loyalty-spend progress::-webkit-progress-value{background:#e8c395;border-radius:8px}
.ca-loyalty-spend progress::-moz-progress-bar{background:#e8c395;border-radius:8px}
@media(max-width:720px){.ca-balance-row{display:block}.ca-balance-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px}.ca-balance-actions .ca-button{width:100%;min-width:0;white-space:normal}.ca-balance-actions .ca-refresh{grid-column:1/-1;justify-self:end}}
.ca-loyalty .ca-loyalty-note{color:#d9c4a8;font-size:11px;line-height:1.6;margin:20px 0 0;padding-top:14px;border-top:1px solid #ffffff26}
.ca-loyalty+.ca-reload-note{margin-top:24px}
@media(max-width:520px){.ca-loyalty .akopi-card-brand h2{font-size:10px}.ca-loyalty-heading{gap:10px;margin-bottom:16px}.ca-loyalty-heading>strong{font-size:10px}.ca-loyalty-stamps{gap:12px 8px}.ca-loyalty-stamps li{width:min(100%,46px);font-size:11px}.ca-loyalty-stamps li.is-earned span{width:15px;height:21px}.ca-loyalty-stamps li.is-earned span::after{left:7px;top:2px;height:17px}.ca-loyalty-stamps li.ca-loyalty-free{font-size:10px}.ca-loyalty .ca-loyalty-note{font-size:10px;margin-top:16px;padding-top:12px}}
.ca-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px}
.ca-section-heading h2{margin:0}
.ca-section-heading>span{font-size:12px;color:#6d5c49}
.ca-empty{padding:20px 0 8px}
.ca-empty strong{font-size:16px}
.ca-empty p{margin:8px 0;font-size:14px}
.ca-transaction-list{list-style:none;padding:0;margin:0}
.ca-transaction-list li{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #e0d3c2;font-size:14px}
.ca-transaction-list li div:last-child{text-align:right;flex-shrink:0}
.ca-transaction-list strong{display:block;font-variant-numeric:tabular-nums}
.ca-transaction-list span{display:block;color:#776452;font-size:11px;margin-top:6px}
.ca-qr-dialog{border:1px solid #baa589;border-radius:14px;padding:25px;background:#fffbf5;color:#241a11;width:min(92vw,440px);max-height:90dvh;overflow:auto}
.ca-qr-dialog::backdrop{background:#17120bc4}
.ca-qr-dialog h2{font:800 19px Manrope,sans-serif}
.ca-qr-dialog p{font:14px/1.7 Manrope,sans-serif;color:#685039}
#largePaymentQr img,#largeLoyaltyQr img{width:100%;height:auto;display:block;image-rendering:pixelated;margin:20px 0}
.ca-topup-dialog{width:min(92vw,480px)}
.ca-topup-dialog [hidden]{display:none!important}
.ca-topup-dialog .ca-topup-intro{margin:0 0 10px;font-size:14px}
.ca-topup-dialog .ca-error{color:#8a341c;margin:0 0 18px;font-size:13px}
.ca-topup-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
.ca-topup-presets .ca-button{min-width:0;padding:10px 6px}
.ca-topup-presets .ca-button[aria-pressed=true]{background:#241a11;color:#fff4e3;border-color:#241a11}
.ca-topup-dialog .ca-topup-label{margin:0 0 6px;text-align:center;font-size:12px}
.ca-topup-total{display:block;text-align:center;font:800 32px/1.2 Manrope,sans-serif;letter-spacing:-1px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ca-topup-qr{max-width:280px;margin:16px auto;background:#fff;border-radius:8px;overflow:hidden}
.ca-topup-qr img{display:block;width:100%;height:auto;image-rendering:pixelated}
.ca-topup-dialog .ca-topup-status{text-align:center;font-size:14px;font-weight:700;margin:16px 0 6px}
.ca-topup-dialog .ca-topup-expiry{text-align:center;font-size:12px;margin:0 0 14px;font-variant-numeric:tabular-nums}
.ca-topup-actions{display:flex;gap:10px;margin-top:18px}
.ca-topup-actions .ca-button{flex:1;padding:11px 10px}
.ca-topup-done{padding:12px 0 4px}
.ca-topup-done h3{font:800 24px/1.3 Manrope,sans-serif;margin:0 0 12px;color:#146347}
.ca-topup-dialog a.ca-button{color:#241a11;text-decoration:none}
@media(max-width:420px){.ca-topup-dialog{padding:20px}.ca-topup-presets{gap:6px}.ca-topup-presets .ca-button{font-size:12px}.ca-topup-actions{flex-direction:column}.ca-balance-actions .ca-refresh{grid-column:auto;justify-self:center}}
.customer-site-header .menu-site-actions .ca-nav-primary{background:#e7be8c;color:#211b15;border-color:#e7be8c}
@media(max-width:900px){.ca-auth-layout{gap:36px}.ca-panel{padding:24px}.ca-main{padding:35px 24px 50px}.ca-wallet-layout{gap:24px}}
@media(max-width:720px){:root{--menu-header-height:116px}.customer-site-header .admin-nav-container{flex-wrap:wrap;gap:8px;padding:12px 16px}.customer-site-header .menu-site-brand{width:100%;justify-content:center}.customer-site-header .menu-site-actions{width:100%;justify-content:center;gap:8px}.customer-site-header .menu-site-actions a{min-height:36px;padding:7px 14px;font-size:11px}.ca-main{padding:30px 18px 42px}.ca-auth-layout,.ca-wallet-layout{grid-template-columns:1fr;gap:24px}.ca-introduction .ca-example-card{display:none}.ca-intro-detail{font-size:14px;margin-top:12px!important;margin-bottom:0!important}.ca-introduction>p:first-of-type{font-size:16px;margin-bottom:10px}.ca-main h1{font-size:30px;letter-spacing:-1px}.ca-panel{padding:22px}.ca-wallet-heading{align-items:start;gap:12px}.ca-wallet-heading h1{font-size:27px}.ca-wallet-heading p{font-size:13px}.ca-wallet-heading .ca-button{min-height:42px;padding:9px 12px;font-size:12px}.ca-card{padding:22px}.ca-wallet-card-region>.ca-card{min-height:290px}.ca-account-number strong{font-size:16px}.ca-section-heading{align-items:start}.ca-section-heading>span{max-width:90px;text-align:right}.ca-transaction-list li{font-size:12px;gap:10px}.ca-transaction-list span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ca-main *{scroll-behavior:auto!important}}

/* Match the customer menu's espresso stage, warm paper and tan actions. */
.customer-account-page{background:#191511;color:#f4eddf}
.ca-main{max-width:1200px;padding-top:54px}
.ca-main h1{color:#f4eddf;letter-spacing:-.03em}
.ca-introduction>p,.ca-intro-detail,.ca-wallet-heading p{color:#c9beb0}
.ca-introduction>p:first-of-type{color:#e6bd8e}
.ca-introduction .ca-example-card{margin-top:26px}
.ca-panel{background:#fffaf2;border-color:#d7c5ad;color:#211b15}
.ca-panel h2{color:#211b15}
.ca-button{background:#e6bd8e;border-color:#e6bd8e;color:#241a11}
.ca-button:hover{background:#efcca3;border-color:#efcca3}
.ca-secondary{background:transparent;border-color:#baa58a;color:#533b26}
.ca-secondary:hover{background:#f0e5d5;border-color:#9d805c}
.ca-wallet-heading .ca-secondary{border-color:#8e7352;color:#ecd7bd}
.ca-wallet-heading .ca-secondary:hover{background:#342619}
.ca-balance-row span{color:#c9beb0}
.ca-balance-row strong{color:#f4eddf}
.ca-balance-actions a{color:#e6bd8e}
.ca-reload-note,.ca-account-settings{border-color:#5b4732}
.ca-reload-note h2,.ca-account-settings summary{color:#f4eddf}
.ca-reload-note p,.ca-account-settings>p{color:#c9beb0}
.ca-account-settings .ca-form{background:#fffaf2;color:#211b15;padding:22px;border-radius:12px;margin-top:16px}
.ca-auth-panel{padding:32px}
.customer-menu-toggle{display:none;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #896d4a;background:transparent;color:#f4eddf;border-radius:7px;cursor:pointer}
.customer-menu-toggle[hidden],.customer-site-header .menu-site-actions[hidden]{display:none!important}
.customer-menu-toggle:focus-visible{outline:3px solid #e6bd8e;outline-offset:3px}
.customer-menu-toggle path{transform-box:fill-box;transform-origin:center;transition:transform 160ms ease,opacity 160ms ease}
.customer-menu-open .customer-menu-line-top{transform:translateY(6px) rotate(45deg)}
.customer-menu-open .customer-menu-line-middle{opacity:0}
.customer-menu-open .customer-menu-line-bottom{transform:translateY(-6px) rotate(-45deg)}
@media(max-width:720px){
    :root{--menu-header-height:68px}
    .customer-site-header.customer-menu-ready .admin-nav-container{position:relative;min-height:68px;flex-wrap:nowrap;justify-content:space-between;gap:12px;padding:10px 16px}
    .customer-site-header.customer-menu-ready .menu-site-brand{width:auto;justify-content:flex-start;min-width:0}
    .customer-site-header.customer-menu-ready .customer-menu-toggle{display:inline-flex}
    .customer-site-header.customer-menu-ready .menu-site-actions{position:absolute;top:100%;left:0;right:0;width:auto;background:#191511;border-top:1px solid #60472e;border-bottom:1px solid #60472e;padding:12px 16px 16px;box-shadow:0 12px 20px #0003;flex-direction:column;align-items:stretch;gap:8px}
    .customer-site-header.customer-menu-open .menu-site-actions a{min-height:44px;justify-content:flex-start;font-size:13px;padding:12px 16px}
    .ca-main{padding:30px 18px 42px}
    .ca-introduction .ca-example-card{display:block;margin-top:22px}
    .ca-auth-panel{padding:24px}
    .ca-auth-layout{gap:28px}
    .ca-wallet-heading h1{font-size:27px}
}
@media(prefers-reduced-motion:reduce){.customer-menu-toggle path{transition:none}}
@media(max-width:1020px){.ca-wallet-layout{grid-template-columns:minmax(0,1fr);max-width:600px}.ca-activity{margin-top:24px}}
@media(min-width:521px){
    .ca-loyalty{padding:20px}
    .ca-loyalty .akopi-card-brand{margin-bottom:12px}
    .ca-loyalty .akopi-card-wordmark{width:40%;max-width:180px}
    .ca-loyalty-heading{margin-bottom:12px}
    .ca-loyalty-stamps{gap:8px 10px}
    .ca-loyalty-stamps li{width:min(100%,44px)}
    .ca-loyalty .ca-loyalty-note{margin-top:12px;padding-top:10px}
}
