:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;min-height:100svh;display:flex}body{margin:0}*{box-sizing:border-box}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.customer-app{--customer-bg:var(--brand-secondary,#faf3e0);--customer-surface:#fff;--customer-text:var(--brand-primary,#1a1a1a);--customer-muted:#00000094;--customer-primary:var(--brand-primary,#000);--customer-primary-contrast:var(--brand-secondary,#faf3e0);--customer-accent:var(--brand-accent,#4b5c42);--customer-border:#0000001f;--customer-radius:14px;--customer-shadow:0 6px 20px #00000014;--customer-content-width:480px;--customer-font:var(--sans,system-ui, "Segoe UI", Roboto, sans-serif);--customer-bottom-nav-height:60px;--customer-space-1:4px;--customer-space-2:8px;--customer-space-3:12px;--customer-space-4:16px;--customer-space-5:24px;--customer-space-6:32px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:var(--customer-muted);--text-h:var(--customer-text);--bg:var(--customer-surface);--border:var(--customer-border);background:var(--customer-bg);width:100%;min-height:100svh;color:var(--customer-text);font-family:var(--customer-font);padding-top:max(var(--customer-space-5), env(safe-area-inset-top,0px));padding-bottom:max(var(--customer-space-6), env(safe-area-inset-bottom,0px));flex-direction:column;flex:1;align-items:center;display:flex}.customer-app.customer-app-shared{--customer-bg:var(--brand-secondary,#f6f8f7);--customer-text:var(--brand-primary,#14211e);--customer-primary:var(--brand-primary,#1e5a50);--customer-primary-contrast:var(--brand-secondary,#fff);--customer-accent:var(--brand-accent,#1e5a50)}.customer-app-content{width:100%;max-width:var(--customer-content-width);padding-left:var(--customer-space-4);padding-right:var(--customer-space-4);flex-direction:column;flex:1;display:flex}.customer-heading-display{color:var(--customer-text);margin:0;font-size:26px;font-weight:600;line-height:1.25}.customer-heading-section{color:var(--customer-text);margin:0;font-size:18px;font-weight:600;line-height:1.3}.customer-text{color:var(--customer-text);margin:0;font-size:16px;line-height:1.5}.customer-text-muted{color:var(--customer-muted);margin:0;font-size:14px;line-height:1.5}.customer-card{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);padding:var(--customer-space-5);gap:var(--customer-space-3);flex-direction:column;display:flex}.customer-btn{justify-content:center;align-items:center;gap:var(--customer-space-2);border-radius:var(--customer-radius);min-height:48px;font-family:var(--customer-font);cursor:pointer;border:1px solid #0000;padding:12px 20px;font-size:16px;font-weight:600;text-decoration:none;transition:filter .15s,background-color .15s;display:inline-flex}.customer-btn:focus-visible{outline:2px solid var(--customer-accent);outline-offset:2px}.customer-btn:disabled{opacity:.55;cursor:default}.customer-btn-primary{background:var(--customer-primary);color:var(--customer-primary-contrast)}.customer-btn-primary:not(:disabled):hover{filter:brightness(1.15)}.customer-btn-secondary{background:var(--customer-surface);color:var(--customer-text);border-color:var(--customer-accent)}.customer-btn-secondary:not(:disabled):hover{background:var(--customer-bg)}@media (prefers-reduced-motion:reduce){.customer-btn{transition:none}}.customer-brand-logo{object-fit:contain;width:auto;max-width:96px;height:auto;max-height:64px;margin:0 auto;display:block}.customer-brand-name-fallback{color:var(--customer-text);text-align:center;font-size:22px;font-weight:700;display:block}.customer-welcome{justify-content:center;align-items:center;gap:var(--customer-space-6);text-align:center;width:100%;padding:var(--customer-space-5) 0;flex-direction:column;flex:1;display:flex}.customer-welcome-copy{gap:var(--customer-space-2);flex-direction:column;display:flex}.customer-welcome-actions{gap:var(--customer-space-3);flex-direction:column;width:100%;display:flex}.customer-auth{gap:var(--customer-space-2);width:100%;padding:var(--customer-space-6) 0;text-align:center;flex-direction:column;flex:1;display:flex}.customer-auth-logo{margin-bottom:var(--customer-space-3)}.customer-auth-form{gap:var(--customer-space-4);text-align:left;margin-top:var(--customer-space-5);flex-direction:column;display:flex}.customer-field{gap:var(--customer-space-1);flex-direction:column;display:flex}.customer-field-label{color:var(--customer-text);font-size:14px;font-weight:500}.customer-input{font:inherit;border:1px solid var(--customer-border);border-radius:var(--customer-radius);background:var(--customer-surface);min-height:48px;color:var(--customer-text);padding:12px 14px;font-size:16px}.customer-input:focus-visible{outline:2px solid var(--customer-accent);outline-offset:1px}.customer-link{color:var(--customer-accent);padding:4px 0;font-size:14px;text-decoration:underline;display:inline-block}.customer-link:focus-visible{outline:2px solid var(--customer-accent);outline-offset:2px}.customer-auth-link-row{text-align:right;margin:0}.customer-auth-switch{text-align:center;margin-top:var(--customer-space-2)}.customer-home{gap:var(--customer-space-4);width:100%;padding:var(--customer-space-4) 0 var(--customer-space-6);flex-direction:column;flex:1;display:flex}.customer-home-logo{margin:0 auto}.customer-home-greeting{text-align:center}.customer-home-cards{gap:var(--customer-space-4);flex-direction:column;display:flex}.customer-home-rewards{gap:var(--customer-space-3);flex-direction:column;display:flex}.customer-home-error{align-items:flex-start;gap:var(--customer-space-2);flex-direction:column;display:flex}.customer-home-summary{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);padding:var(--customer-space-4);gap:var(--customer-space-3);text-align:center;flex-direction:column;display:flex}.customer-home-summary-counts{gap:var(--customer-space-1);flex-direction:column;display:flex}.customer-home-cta{width:100%}.google-wallet-button{box-sizing:border-box;cursor:pointer;background:0 0;border:0;border-radius:25px;align-self:center;max-width:100%;margin:8px;padding:0;line-height:0}.google-wallet-button picture{display:block}.google-wallet-button img{width:283px;max-width:100%;height:auto;display:block}@media (width<=355px){.google-wallet-button img{width:199px;height:55px}}.google-wallet-button:focus-visible{outline:2px solid var(--customer-accent);outline-offset:2px}.customer-profile-card{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);padding:var(--customer-space-4);gap:var(--customer-space-3);flex-direction:column;display:flex}.customer-profile-row{gap:var(--customer-space-1);flex-direction:column;display:flex}.customer-profile-row+.customer-profile-row{padding-top:var(--customer-space-3);border-top:1px solid var(--customer-border)}.customer-profile-label{text-transform:uppercase;letter-spacing:.02em;color:var(--customer-muted);font-size:12px;font-weight:700}.customer-profile-value{color:var(--customer-text);overflow-wrap:break-word;font-size:16px}.customer-checkbox-label{align-items:center;gap:var(--customer-space-2);min-height:44px;color:var(--customer-text);cursor:pointer;font-size:15px;display:flex}.customer-checkbox-label input{flex-shrink:0;width:20px;height:20px}.customer-checkbox-label input:focus-visible{outline:2px solid var(--customer-accent);outline-offset:2px}.customer-profile-marketing-error{align-items:flex-start;gap:var(--customer-space-2);flex-direction:column;display:flex}.customer-profile-signout-btn{width:100%}.customer-empty-state{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);padding:var(--customer-space-4);gap:var(--customer-space-2);text-align:center;flex-direction:column;display:flex}.loyalty-card{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);padding:var(--customer-space-4);gap:var(--customer-space-3);flex-direction:column;display:flex}.loyalty-card-header{justify-content:space-between;align-items:center;gap:var(--customer-space-3);display:flex}.loyalty-card-title{text-transform:uppercase;letter-spacing:.03em;min-width:0;color:var(--customer-text);align-items:center;gap:8px;margin:0;font-size:15px;font-weight:700;display:flex}.loyalty-card-count-badge{color:var(--customer-primary-contrast);background:var(--customer-primary);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 11px;font-size:13px;font-weight:700}.loyalty-stamp-grid{padding:var(--customer-space-1) 0;justify-content:center;gap:10px;display:grid}.loyalty-stamp{border:2px dashed var(--customer-accent);background:var(--customer-bg);border-radius:50%;width:42px;height:42px;position:relative}.loyalty-stamp-collected{border-style:solid;border-color:var(--customer-primary);background:var(--customer-primary)}.loyalty-stamp-collected:before{content:"";border:1.5px solid var(--customer-primary-contrast);opacity:.4;border-radius:50%;position:absolute;inset:5px}.loyalty-stamp-collected:after{content:"";border-left:2px solid var(--customer-primary-contrast);border-bottom:2px solid var(--customer-primary-contrast);width:14px;height:8px;position:absolute;top:48%;left:52%;transform:translate(-50%,-50%)rotate(-50deg)}.loyalty-card-reward{padding-top:var(--customer-space-2);border-top:1px solid var(--customer-border);flex-direction:column;gap:2px;display:flex}.loyalty-card-remaining-label{text-transform:uppercase;letter-spacing:.04em;color:var(--customer-accent);margin:0;font-size:12px;font-weight:700}.loyalty-card-reward-text{color:var(--customer-text);margin:0;font-size:18px;font-weight:700}.loyalty-card-qr{gap:var(--customer-space-1);flex-direction:column;display:flex}.loyalty-card-qr-hint{text-align:center}.loyalty-card-qr-btn{width:100%}.reward-card{background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);padding:var(--customer-space-3) var(--customer-space-4);justify-content:space-between;align-items:center;gap:var(--customer-space-3);display:flex}.reward-card-title{color:var(--customer-text);margin:0;font-weight:700}.loyalty-card-icon{color:var(--customer-accent);flex-shrink:0}.reward-card-programme{align-items:center;gap:6px;display:flex}.reward-card-programme svg{flex-shrink:0}.reward-card-meta{align-items:flex-end;gap:var(--customer-space-1);text-align:right;flex-direction:column;display:flex}.reward-card-badge{text-transform:uppercase;letter-spacing:.02em;color:var(--customer-primary-contrast);background:var(--customer-primary);white-space:nowrap;border-radius:999px;padding:3px 11px;font-size:12px;font-weight:700}.reward-card-expired{opacity:.65}.reward-card-badge-expired{color:var(--customer-muted);background:var(--customer-border)}.reward-card-redeem-btn{padding:6px 18px;font-size:14px}.customer-qr-screen{z-index:200;background:var(--customer-bg);padding-top:max(var(--customer-space-5), env(safe-area-inset-top,0px));padding-bottom:max(var(--customer-space-6), env(safe-area-inset-bottom,0px));padding-left:var(--customer-space-4);padding-right:var(--customer-space-4);flex-direction:column;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.customer-qr-content{width:100%;max-width:var(--customer-content-width);justify-content:center;align-items:center;gap:var(--customer-space-3);text-align:center;flex-direction:column;flex:1;display:flex}.customer-qr-logo{margin-bottom:var(--customer-space-2);overflow-wrap:break-word;max-width:calc(100% - 96px);margin-left:auto;margin-right:auto}.customer-qr-close{top:max(var(--customer-space-4), env(safe-area-inset-top,0px));right:var(--customer-space-4);width:44px;height:44px;color:var(--customer-text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;line-height:1;display:inline-flex;position:absolute}.customer-qr-close:hover{background:var(--customer-border)}.customer-qr-close:focus-visible{outline:2px solid var(--customer-accent);outline-offset:2px}.customer-qr-code-wrap{aspect-ratio:1;border-radius:var(--customer-radius);width:min(280px,100%);box-shadow:var(--customer-shadow);padding:var(--customer-space-3);margin:var(--customer-space-2) 0;background:#fff;justify-content:center;align-items:center;display:flex}.customer-qr-code-wrap svg{width:100%;height:100%}.customer-qr-placeholder{gap:var(--customer-space-3);padding:var(--customer-space-5);flex-direction:column}.customer-qr-countdown{font-variant-numeric:tabular-nums;color:var(--customer-text);margin:0;font-size:18px;font-weight:700}.customer-qr-close-btn{margin-top:var(--customer-space-3)}.customer-member-layout{flex-direction:column;flex:1;width:100%;display:flex}.customer-member-content{width:100%;padding-bottom:calc(var(--customer-bottom-nav-height) + env(safe-area-inset-bottom,0px) + var(--customer-space-4));flex-direction:column;flex:1;display:flex}.customer-bottom-nav{z-index:100;background:var(--customer-surface);border-top:1px solid var(--customer-border);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0;left:0;right:0}.customer-bottom-nav-inner{width:100%;max-width:var(--customer-content-width);height:var(--customer-bottom-nav-height);align-items:stretch;margin:0 auto;display:flex}.customer-bottom-nav-link{min-height:44px;color:var(--customer-muted);flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:flex;position:relative}.customer-bottom-nav-link-active{color:var(--customer-text)}.customer-bottom-nav-link-active:before{content:"";background:var(--customer-accent);border-radius:999px;width:28px;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.customer-bottom-nav-link:focus-visible{outline:2px solid var(--customer-accent);outline-offset:-2px}.customer-programmes{gap:var(--customer-space-3);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.customer-programme{gap:var(--customer-space-1);padding:var(--customer-space-4);text-align:left;background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);flex-direction:column;display:flex}.customer-programme span{color:var(--customer-muted);font-size:.95rem}.customer-join-panel,.customer-join-code{gap:var(--customer-space-4);text-align:left;flex-direction:column;width:100%;display:flex}.customer-field{gap:var(--customer-space-2);flex-direction:column;font-size:.95rem;display:flex}.customer-field input{min-height:48px;padding:0 var(--customer-space-4);font:inherit;letter-spacing:.04em;color:var(--customer-text);background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:12px}.customer-checkbox{align-items:flex-start;gap:var(--customer-space-3);font-size:.95rem;line-height:1.4;display:flex}.customer-checkbox input{flex:none;width:20px;height:20px;margin-top:2px}.my-cards{gap:var(--customer-space-5);width:100%;padding:var(--customer-space-5) 0;flex-direction:column;display:flex}.my-cards-list{gap:var(--customer-space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.my-card{align-items:center;gap:var(--customer-space-4);min-height:64px;padding:var(--customer-space-3) var(--customer-space-4);color:inherit;background:var(--customer-surface);border:1px solid var(--customer-border);border-radius:var(--customer-radius);box-shadow:var(--customer-shadow);text-decoration:none;display:flex}.my-card-logo,.my-card-initial{border-radius:10px;flex:none;width:44px;height:44px}.my-card-logo{object-fit:contain;background:#fff}.my-card-initial{color:var(--customer-primary-contrast);background:var(--customer-primary);border-radius:50%;place-items:center;font-weight:700;display:grid}.my-card-text{flex-direction:column;flex:1;min-width:0;display:flex}.my-card-text span{color:var(--customer-muted);font-size:.9rem}.my-card-chevron{color:var(--customer-muted);font-size:1.6rem}.my-cards-add{gap:var(--customer-space-3);flex-direction:column;display:flex}.auth-page{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{border:1px solid var(--border);width:100%;max-width:380px;box-shadow:var(--shadow);text-align:left;border-radius:12px;flex-direction:column;gap:14px;padding:32px 28px;display:flex}.auth-card h1{text-align:left;margin:0 0 4px;font-size:24px}.auth-card label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.auth-card input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px;font-size:16px}.auth-card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.auth-card button[type=submit]{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:11px 16px;font-size:16px;font-weight:500}.auth-card button[type=submit]:disabled{opacity:.6;cursor:default}.auth-card button[type=submit]:not(:disabled):hover{filter:brightness(.95)}.auth-error{color:#d1373f;margin:0;font-size:14px}.auth-switch{text-align:center;margin:0;font-size:14px}.auth-switch a,.auth-page a{color:var(--accent)}.muted{color:var(--text);font-size:14px}.shell{flex-direction:column;flex:1;min-height:100svh;display:flex}.shell-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.shell-header .brand{color:var(--text-h);font-size:18px;font-weight:600;text-decoration:none}.shell-header-right{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;max-width:100%;display:flex}.shell-email{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:13px;overflow:hidden}.btn-secondary{font:inherit;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:14px}.btn-secondary:hover{background:var(--accent-bg);border-color:var(--accent-border)}.shell-main{text-align:left;flex-direction:column;flex:1;gap:20px;width:100%;max-width:720px;margin:0 auto;padding:28px 20px 48px;display:flex}.dashboard{flex-direction:column;gap:20px;display:flex}.dashboard h1{text-align:left;margin:0;font-size:28px}.card{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;gap:8px;padding:18px 20px;display:flex}.card a{color:var(--accent);font-size:14px}.membership-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.membership-list li{color:var(--text-h);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:15px;display:flex}.badge{text-transform:capitalize;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:12px}@media (width<=480px){.auth-card{padding:24px 20px}}.form-card{flex-direction:column;gap:14px;max-width:380px;display:flex}.form-card label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;display:flex}.form-card input,.form-card select,.form-card textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:10px 12px;font-size:16px}.form-card textarea{resize:vertical;min-height:100px}.form-card input:disabled,.form-card select:disabled,.form-card textarea:disabled{opacity:.6}.form-card button[type=submit]{font:inherit;color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;align-self:flex-start;padding:10px 18px;font-size:15px;font-weight:500}.form-card button[type=submit]:disabled{opacity:.6;cursor:default}.card-action{color:var(--accent);align-self:flex-start;font-size:14px}.tab-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px 16px;padding-bottom:8px;display:flex}.tab-nav a{color:var(--text);font-size:14px;text-decoration:none}.tab-nav-active{color:var(--text-h);font-size:14px;font-weight:600}.programme-list{flex-direction:column;gap:16px;margin:16px 0;display:flex}.programme-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.programme-card-header h2,.programme-card-header h3{min-width:0;margin:0}.programme-card-actions{align-items:center;gap:12px;margin-top:4px;display:flex}.programme-card-actions a{color:var(--accent);font-size:14px}.badge-active{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.badge-inactive{color:var(--text);border-color:var(--border);background:0 0}.badge-cancelled{color:var(--text);border-color:var(--border);opacity:.7;background:0 0}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-label input[type=checkbox]{width:auto}.wallet-progress{align-items:center;gap:10px;display:flex}.wallet-progress-track{background:var(--accent-bg);border-radius:999px;flex:1;height:8px;overflow:hidden}.wallet-progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s}.wallet-progress-label{color:var(--text-h);white-space:nowrap;font-size:13px;font-weight:500}.reward-earned-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.reward-earned-item{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.qr-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.qr-modal-content{background:var(--bg);border:1px solid var(--border);width:100%;max-width:340px;box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:32px 24px 24px;display:flex;position:relative}.qr-modal-content h2{margin:0;font-size:18px}.qr-modal-close{width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:20px;line-height:1;position:absolute;top:8px;right:8px}.qr-modal-close:hover{background:var(--accent-bg)}.qr-code-wrap{background:#fff;border-radius:8px;padding:16px}.scanner-wrap{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.scanner-video-wrap{aspect-ratio:1;border:1px solid var(--border);background:#000;border-radius:8px;width:100%;max-width:320px;overflow:hidden}.scanner-video{object-fit:cover;width:100%;height:100%}.join-code-card{max-width:380px}.join-code-active{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.join-code-value{font-family:var(--mono);background:var(--accent-bg);-webkit-user-select:all;user-select:all;word-break:break-all;border-radius:6px;padding:2px 8px;font-size:16px}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;display:grid}.analytics-stat-label{color:var(--text);font-size:14px}.analytics-stat-value{color:var(--text-h);font-size:32px;font-weight:600;line-height:1.1}.analytics-stat-sublabel{color:var(--text);font-size:12px}.analytics-secondary-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 24px;margin:0;padding:0;list-style:none;display:grid}.analytics-secondary-list li{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.analytics-secondary-list li strong{color:var(--text-h)}.activity-chart-wrap{flex-direction:column;gap:6px;max-width:100%;display:flex}.activity-chart{width:100%;height:120px;display:block}.activity-chart rect{fill:var(--accent)}.activity-chart rect:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.activity-chart-labels{gap:1px;display:flex}.activity-chart-label{min-width:0;color:var(--text);text-align:center;white-space:nowrap;flex:1;font-size:11px}.programme-card-header h3{margin:0}.activity-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.activity-item{border-top:1px solid var(--border);padding-top:14px}.activity-item:first-child{border-top:none;padding-top:0}.activity-item-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.activity-item-title{color:var(--text-h);font-weight:500}.activity-item-date{color:var(--text);white-space:nowrap;font-size:13px}.activity-item-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}.staff-collect{text-align:center;align-items:stretch;gap:14px}.staff-collect-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0;font-size:12px}.staff-collect-customer{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:30px;line-height:1.15}.staff-collect-question{color:var(--text-h);margin:8px 0 0;font-size:18px;font-weight:500}.staff-collect-confirm{color:var(--text-h);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.25}.staff-collect-confirm-icon{color:var(--accent);justify-content:center;display:flex}.staff-programme-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.staff-programme-btn{min-height:116px;font:inherit;color:var(--text-h);background:var(--accent-bg);border:2px solid var(--accent-border);cursor:pointer;overflow-wrap:anywhere;-webkit-tap-highlight-color:transparent;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 12px;font-size:18px;font-weight:600;display:flex}.staff-programme-btn:hover{border-color:var(--accent)}.staff-programme-btn:active{transform:scale(.98)}.staff-programme-icon{color:var(--accent);display:flex}.staff-collect-actions{flex-direction:column;gap:10px;display:flex}.staff-collect-primary,.staff-collect-secondary{width:100%;min-height:56px;font:inherit;cursor:pointer;border-radius:14px;padding:12px 16px;font-size:18px;font-weight:600}.staff-collect-primary{color:var(--bg);background:var(--accent);border:2px solid var(--accent)}.staff-collect-secondary{color:var(--text-h);border:2px solid var(--border);background:0 0}.staff-collect-primary:disabled,.staff-collect-secondary:disabled{opacity:.6;cursor:default}.staff-collect-primary:not(:disabled):hover{filter:brightness(.95)}.staff-collect-secondary:not(:disabled):hover{border-color:var(--accent-border);background:var(--accent-bg)}.staff-programme-btn:focus-visible,.staff-collect-primary:focus-visible,.staff-collect-secondary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.icon-picker{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.icon-picker legend{color:var(--text-h);margin-bottom:6px;padding:0;font-size:14px}.icon-picker-summary{color:var(--text-h);align-items:center;gap:10px;margin:0;font-size:14px;display:flex}.icon-picker-preview{background:var(--accent-bg);width:44px;height:44px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.icon-picker-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;display:grid}.icon-picker-tile{min-width:48px;min-height:48px;font:inherit;color:var(--text-h);border:2px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;display:flex}.icon-picker-tile:hover{border-color:var(--accent-border)}.icon-picker-tile.selected{color:var(--accent);background:var(--accent-bg);border-color:var(--accent)}.icon-picker-auto{grid-column:1/-1;justify-content:flex-start;padding:0 14px}.icon-picker-tile:focus-visible,.icon-picker-reset:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.icon-picker-reset{min-height:44px;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 4px;font-size:14px;text-decoration:underline}.login-mode{border:1px solid var(--border);border-radius:12px;gap:4px;padding:3px;display:flex}.login-mode-btn{min-height:40px;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;font-size:14px;font-weight:600}.login-mode-btn.selected{color:var(--bg);background:var(--accent)}.login-mode-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.shell-link{color:var(--accent);white-space:nowrap;font-size:13px}
