:root{--brand-primary: #6a32d6;--brand-primary-dark: #4a1f9e;--brand-primary-light: #7e41d8;--brand-accent: #34c759;--brand-accent-2: #f5c518;--brand-green: var(--brand-accent);--brand-lime: var(--brand-accent-2);--brand-teal: #05bdbd;--brand-action: var(--brand-primary);--brand-action-hover: #5b2abf;--brand-action-active: var(--brand-primary-dark);--brand-action-light: var(--brand-primary-light);--brand-action-pale: #eee6fc;--brand-action-pale-8: rgba(106, 50, 214, .08);--brand-action-border: rgba(106, 50, 214, .12);--gradient-loyalty-card: linear-gradient(135deg, #7e41d8 0%, #4a1f9e 100%);--gradient-loyalty-card-alt: linear-gradient(135deg, #7e41d8 0%, #6a32d6 50%, #4a1f9e 100%);--gradient-sidebar-promo: linear-gradient(160deg, #6a32d6 0%, #4a1f9e 100%);--gradient-nav-active: linear-gradient(90deg, #7e41d8 0%, #6a32d6 100%);--gradient-segment-active: linear-gradient(180deg, #7e41d8 0%, #6a32d6 100%);--bg: #f7f8fc;--bg-mobile: #f8f9fb;--surface: #ffffff;--surface-2: #fafafe;--sidebar-bg: #12142b;--sidebar-promo-bg: #2a1f4e;--overlay: rgba(18, 20, 43, .45);--border: #e0e0e0;--border-soft: rgba(0, 0, 0, .06);--text: #2d3436;--text-strong: #1a1c2e;--text-muted: #675f86;--text-secondary: #636e72;--text-faint: #9b93b0;--text-on-brand: #ffffff;--text-on-dark: #ffffff;--text-link: var(--brand-primary);--success: var(--brand-accent);--success-text: #0f7a3a;--success-pale: #d8f6e1;--error: #ef4444;--error-pale: #fce8e8;--warning: #ffa500;--warning-pale: #fff0e0;--info: #4f78ff;--gold: var(--brand-accent-2);--gold-pale: #fdf6d8;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--r-sheet: 28px;--r-pill: 9999px;--shadow-none: none;--shadow-card: 0 2px 16px rgba(106, 50, 214, .06), 0 1px 4px rgba(0, 0, 0, .04);--shadow-btn: 0 4px 14px rgba(106, 50, 214, .28);--shadow-hero: 0 10px 28px rgba(74, 31, 158, .22);--shadow-sheet: 0 -8px 40px rgba(0, 0, 0, .12);--text-micro: 10px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 20px;--text-xl: 24px;--transition: .2s ease;--ui-bottom-nav-height: 64px;--ui-bottom-nav-max-width: 100%;--btn-bg-color: var(--brand-action);--btn-hover-color: var(--brand-action-hover);--btn-active-color: var(--brand-action-active);--btn-secondary-bg: var(--info);--nav-item-active-bg: var(--gradient-nav-active);--bg-color: var(--bg);--card-bg-color: var(--surface);--sidebar-bg-color: var(--sidebar-bg);--border-color: var(--border);--brand-purple: var(--brand-action);--brand-purple-dark: var(--brand-primary-dark);--brand-purple-light: var(--brand-action-light);--brand-purple-pale: var(--brand-action-pale);--brand-purple-pale2: var(--brand-action-pale-8);--brand-purple-border: var(--brand-action-border);--brand-green-pale: var(--success-pale);--brand-green-dark: var(--success);--brand-orange: var(--warning);--brand-orange-pale: var(--warning-pale);--brand-gold-pale: var(--gold-pale);--brand-red: var(--error);--brand-red-pale: var(--error-pale);--brand-red-pale-hover: #fecaca;--brand-red-border: rgba(239, 68, 68, .15);--accent-light-blue: #56ccf2;--color-background: var(--bg);--color-surface: var(--surface);--color-surface-2: var(--surface-2);--color-text-primary: var(--text);--color-text-secondary: var(--text-secondary);--color-brand-blue: var(--info);--color-brand-violet: var(--brand-action);--color-accent-green: var(--success);--color-accent-teal: var(--brand-teal);--color-error: var(--error);--color-warning: var(--warning);--color-success: var(--success);--color-border: var(--border);--color-border-soft: var(--border-soft);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-pill: var(--r-pill);--r-full: var(--r-pill)}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid transparent;font-family:inherit;font-weight:600;line-height:1.5;cursor:pointer;transition:background var(--transition, .2s ease),color var(--transition, .2s ease),border-color var(--transition, .2s ease),box-shadow var(--transition, .2s ease),transform var(--transition, .2s ease),opacity var(--transition, .2s ease);-webkit-tap-highlight-color:transparent}.ui-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none;pointer-events:none}.ui-btn:focus{outline:none}.ui-btn:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.ui-btn--intent-destructive:focus-visible{outline-color:var(--error, #ef4444)}.ui-btn--sm{padding:8px 12px;font-size:var(--text-sm, 14px);border-radius:var(--r-sm, 8px)}.ui-btn--md{padding:10px 16px;font-size:var(--text-sm, 14px);border-radius:var(--r-md, 12px)}.ui-btn--lg{padding:12px 20px;font-size:var(--text-base, 16px);border-radius:var(--r-md, 12px)}.ui-btn--full{width:100%}.ui-btn__icon{display:inline-flex;align-items:center;flex-shrink:0}.ui-btn__spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;flex-shrink:0;animation:ui-btn-spin .7s linear infinite}@keyframes ui-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ui-btn--primary-positive{background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff);box-shadow:var(--shadow-btn, 0 4px 14px rgba(106, 50, 214, .28))}.ui-btn--primary-positive:hover:not(:disabled){background:var(--brand-action-hover, #5b2abf)}.ui-btn--primary-positive:active:not(:disabled){background:var(--brand-action-active, #4a1f9e);transform:scale(.98)}.ui-btn--primary-positive:disabled{box-shadow:none}.ui-btn--secondary-positive{background:var(--surface, #fff);color:var(--brand-action, #6a32d6);border-color:var(--brand-action, #6a32d6)}.ui-btn--secondary-positive:hover:not(:disabled){background:var(--brand-action-pale, #eee6fc)}.ui-btn--secondary-positive:active:not(:disabled){transform:scale(.98)}.ui-btn--secondary-neutral{background:var(--surface, #fff);color:var(--text, #2d3436);border-color:var(--border, #e0e0e0)}.ui-btn--secondary-neutral:hover:not(:disabled){background:var(--bg, #f7f8fc)}.ui-btn--secondary-neutral:active:not(:disabled){transform:scale(.98)}.ui-btn--secondary-destructive{background:var(--surface, #fff);color:var(--error, #ef4444);border-color:var(--error, #ef4444)}.ui-btn--secondary-destructive:hover:not(:disabled){background:var(--error-pale, #fce8e8)}.ui-btn--secondary-destructive:active:not(:disabled){transform:scale(.98)}.ui-btn--tertiary-positive{background:transparent;color:var(--brand-action, #6a32d6)}.ui-btn--tertiary-positive:hover:not(:disabled){background:var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-btn--tertiary-positive:active:not(:disabled){transform:scale(.98)}.ui-btn--tertiary-neutral{background:transparent;color:var(--text-muted, #675f86)}.ui-btn--tertiary-neutral:hover:not(:disabled){background:var(--border-soft, rgba(0, 0, 0, .06))}.ui-btn--tertiary-neutral:active:not(:disabled){transform:scale(.98)}.ui-btn--tertiary-destructive{background:transparent;color:var(--error, #ef4444)}.ui-btn--tertiary-destructive:hover:not(:disabled){background:var(--error-pale, #fce8e8)}.ui-btn--tertiary-destructive:active:not(:disabled){transform:scale(.98)}.ui-input__label{display:block;font-size:var(--text-sm, 14px);font-weight:500;color:var(--text, #2d3436);margin-bottom:6px}.ui-input__wrap{position:relative}.ui-input__wrap--with-icon .ui-input__field{padding-left:40px}.ui-input__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint, #9b93b0);pointer-events:none;display:flex;align-items:center}.ui-input__field{width:100%;padding:10px 12px;font-size:var(--text-sm, 14px);font-weight:400;line-height:1.5;color:var(--text, #2d3436);background:var(--surface, #fff);border:1.5px solid var(--border, #e0e0e0);border-radius:var(--r-md, 12px);font-family:inherit;transition:border-color var(--transition, .2s ease),box-shadow var(--transition, .2s ease);-webkit-appearance:none}.ui-input__field::placeholder{color:var(--text-faint, #9b93b0)}.ui-input__field:focus{outline:none;border-color:var(--brand-action, #6a32d6);box-shadow:0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-input__field--error{border-color:var(--error, #ef4444)}.ui-input__field--error:focus{border-color:var(--error, #ef4444);box-shadow:0 0 0 3px var(--error-pale, #fce8e8)}.ui-input__field:disabled{background:var(--bg, #f7f8fc);cursor:not-allowed;opacity:.7}.ui-input__error{margin-top:4px;font-size:var(--text-sm, 14px);color:var(--error, #ef4444)}.ui-input__helper{margin-top:4px;font-size:var(--text-sm, 14px);color:var(--text-muted, #636e72)}.ui-field__label{display:block;font-size:var(--text-sm, 14px);font-weight:500;color:var(--text, #2d3436);margin-bottom:6px}.ui-field__error{margin-top:4px;font-size:var(--text-sm, 14px);color:var(--error, #ef4444)}.ui-field__helper{margin-top:4px;font-size:var(--text-sm, 14px);color:var(--text-muted, #636e72)}.ui-select{width:100%;padding:10px 12px;border-radius:var(--r-md, 12px);border:1.5px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text, #2d3436);font-size:var(--text-sm, 14px);font-family:inherit;line-height:1.5;cursor:pointer;transition:border-color var(--transition, .2s ease),box-shadow var(--transition, .2s ease)}.ui-select:focus{outline:none;border-color:var(--brand-action, #6a32d6);box-shadow:0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-select--error{border-color:var(--error, #ef4444)}.ui-select:disabled{background:var(--bg, #f7f8fc);cursor:not-allowed;opacity:.7}.ui-textarea{width:100%;padding:10px 12px;border-radius:var(--r-md, 12px);border:1.5px solid var(--border, #e0e0e0);background:var(--surface, #fff);color:var(--text, #2d3436);font-size:var(--text-sm, 14px);font-family:inherit;line-height:1.5;resize:vertical;transition:border-color var(--transition, .2s ease),box-shadow var(--transition, .2s ease)}.ui-textarea:focus{outline:none;border-color:var(--brand-action, #6a32d6);box-shadow:0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-textarea--error{border-color:var(--error, #ef4444)}.ui-textarea:disabled{background:var(--bg, #f7f8fc);cursor:not-allowed;opacity:.7}.ui-checkbox{display:flex;align-items:flex-start;gap:12px}.ui-checkbox__box{margin-top:2px;display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border-radius:4px;border:2px solid var(--border, #e0e0e0);background:var(--surface, #fff);cursor:pointer;transition:all var(--transition, .2s ease);padding:0}.ui-checkbox__box:hover:not(:disabled){border-color:var(--brand-action, #6a32d6)}.ui-checkbox__box:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-checkbox__box--checked{background:var(--brand-action, #6a32d6);border-color:var(--brand-action, #6a32d6)}.ui-checkbox__box--disabled{opacity:.5;cursor:not-allowed}.ui-checkbox__check{color:var(--text-on-brand, #fff);display:block}.ui-checkbox__content{flex:1}.ui-checkbox__label{display:block;font-size:var(--text-sm, 14px);font-weight:500;color:var(--text, #2d3436);cursor:pointer;line-height:1.45}.ui-checkbox__label a{color:var(--brand-action, #6a32d6);font-weight:500;text-decoration:underline;text-underline-offset:2px}.ui-checkbox__label a:hover{color:var(--brand-action-hover, #5b2abf)}.ui-checkbox__label--disabled{cursor:not-allowed}.ui-checkbox__description{margin:2px 0 0;font-size:var(--text-xs, 12px);color:var(--text-muted, #636e72)}.ui-badge{display:inline-block;padding:4px 10px;border-radius:var(--r-pill, 9999px);font-size:var(--text-xs, 12px);font-weight:600;line-height:1.4}.ui-badge--success{background:var(--success-pale, #d8f6e1);color:var(--success, #34c759)}.ui-badge--error{background:var(--error-pale, #fce8e8);color:var(--error, #ef4444)}.ui-badge--warning{background:var(--warning-pale, #fff0e0);color:var(--warning, #ffa500)}.ui-badge--info{background:#4f78ff29;color:var(--info, #4f78ff)}.ui-badge--default{background:var(--surface-2, #fafafe);color:var(--text-muted, #675f86)}.ui-avatar{border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--brand-action-pale, #eee6fc)}.ui-avatar--fallback{font-weight:600;background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff)}.ui-avatar--sm{width:32px;height:32px;font-size:var(--text-xs, 12px)}.ui-avatar--md{width:40px;height:40px;font-size:var(--text-sm, 14px)}.ui-avatar--lg{width:48px;height:48px;font-size:var(--text-base, 16px)}.ui-avatar--xl{width:64px;height:64px;font-size:var(--text-lg, 20px)}.ui-card{background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:var(--r-lg, 16px);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06), 0 1px 4px rgba(0, 0, 0, .04))}.ui-card--pad-sm{padding:12px 16px}.ui-card--pad-md{padding:16px 24px}.ui-card--pad-lg{padding:24px 32px}.ui-card__header{margin-bottom:16px;flex-shrink:0}.ui-card__title{margin:0;font-size:var(--text-base, 16px);font-weight:600;color:var(--text, #2d3436)}.ui-card__subtitle{margin:4px 0 0;font-size:var(--text-sm, 14px);color:var(--text-muted, #636e72)}@media (max-width:768px){.ui-card--pad-sm{padding:12px}.ui-card--pad-md{padding:16px}.ui-card--pad-lg{padding:20px}}.ui-skeleton{display:block;background:linear-gradient(90deg,var(--border, #e0e0e0) 25%,var(--surface-2, #fafafe) 50%,var(--border, #e0e0e0) 75%);background-size:200% 100%;animation:ui-skeleton-shimmer 1.2s ease-in-out infinite}.ui-skeleton--sm{border-radius:var(--r-sm, 8px)}.ui-skeleton--md{border-radius:var(--r-md, 12px)}.ui-skeleton--lg{border-radius:var(--r-lg, 16px)}.ui-skeleton--full{border-radius:var(--r-pill, 9999px)}@keyframes ui-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--ui-bottom-nav-max-width, 100%);z-index:200;display:flex;align-items:stretch;min-height:var(--ui-bottom-nav-height);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface, #ffffff);border-top:1px solid var(--border, #e0e0e0)}.ui-bottom-nav__item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:44px;padding:8px 4px;margin:0;border:0;background:transparent;color:var(--text-secondary, #636e72);font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color var(--transition, .2s ease),transform var(--transition, .2s ease)}.ui-bottom-nav__item:focus{outline:none}.ui-bottom-nav__item:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:-2px}.ui-bottom-nav__item:active{transform:scale(.96)}.ui-bottom-nav__item--active{color:var(--brand-action, #6a32d6)}.ui-bottom-nav__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.ui-bottom-nav__icon svg{width:24px;height:24px;color:inherit}.ui-bottom-nav__icon svg[stroke]{fill:none}.ui-bottom-nav__label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-micro, 10px);font-weight:500;line-height:1.3;letter-spacing:.01em}@keyframes ui-sheet-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes ui-sheet-panel-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.ui-sheet:focus{outline:none}.ui-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:310;display:flex;align-items:flex-end;justify-content:center;background:var(--overlay, rgba(18, 20, 43, .45));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:ui-sheet-overlay-in .2s ease both}.ui-sheet__panel{width:100%;max-width:430px;padding:20px 20px 36px;background:var(--surface, #ffffff);border-radius:var(--r-sheet, 28px) var(--r-sheet, 28px) 0 0;box-shadow:var(--shadow-sheet, 0 -8px 40px rgba(0, 0, 0, .12));animation:ui-sheet-panel-in .28s cubic-bezier(.16,1,.3,1) both}.ui-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.ui-sheet__title{margin:0;font-size:var(--text-lg, 20px);font-weight:700;color:var(--text, #2d3436);letter-spacing:-.02em}.ui-sheet__close-btn{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--border-soft, rgba(0, 0, 0, .06));border-radius:var(--r-pill, 9999px);background:var(--bg, #f7f8fc);color:var(--text-muted, #675f86);cursor:pointer;transition:background var(--transition, .2s ease)}.ui-sheet__close-btn:hover{background:var(--border-soft, rgba(0, 0, 0, .06))}.ui-sheet__close-btn:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.ui-sheet__close-btn svg{width:14px;height:14px}.ui-sheet__panel--headless{padding-top:12px}.ui-sheet__visually-hidden-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-info-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-radius:var(--r-md, 12px);background:var(--surface, #ffffff);text-align:left;font-family:inherit;cursor:pointer;transition:background var(--transition, .2s ease);-webkit-tap-highlight-color:transparent}.ui-info-row:active{background:var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-info-row--static{cursor:default}.ui-info-row--static:active{background:var(--surface, #ffffff)}.ui-info-row+.ui-info-row{margin-top:8px}.ui-info-row__icon{width:34px;height:34px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm, 8px)}.ui-info-row__icon--purple{background:var(--brand-action-pale, #eee6fc);color:var(--brand-action, #6a32d6)}.ui-info-row__icon--green{background:var(--success-pale, #d8f6e1);color:var(--success, #34c759)}.ui-info-row__icon--orange{background:var(--warning-pale, #fff0e0);color:var(--warning, #ffa500)}.ui-info-row__icon--red{background:var(--error-pale, #fce8e8);color:var(--error, #ef4444)}.ui-info-row__icon svg{width:16px;height:16px}.ui-info-row__main{flex:1;min-width:0}.ui-info-row__label{font-size:var(--text-sm, 14px);font-weight:500;color:var(--text, #2d3436)}.ui-info-row__value{margin-top:2px;font-size:var(--text-xs, 12px);color:var(--text-muted, #675f86);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-info-row__arrow{flex-shrink:0;color:var(--text-faint, #9b93b0)}.ui-info-row__arrow svg{width:16px;height:16px}.ui-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px}.ui-section-header--flush{padding:0 0 8px}.ui-section-header__title{margin:0;font-size:var(--text-xs, 12px);font-weight:600;color:var(--text-faint, #9b93b0);text-transform:uppercase;letter-spacing:.06em}.ui-section-header__end{display:flex;align-items:center;flex-shrink:0}.ui-segmented{display:flex;flex-wrap:nowrap;gap:8px}.ui-segmented--full .ui-segmented__item{flex:1;min-width:0}.ui-segmented__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:none;border-radius:var(--r-lg, 16px);padding:10px 16px;font-family:inherit;font-size:var(--text-sm, 14px);font-weight:600;line-height:1.5;background:var(--brand-action-pale, #eee6fc);color:var(--text, #2d3436);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background var(--transition, .2s ease),color var(--transition, .2s ease),box-shadow var(--transition, .2s ease),transform var(--transition, .2s ease)}.ui-segmented__item--active{background:var(--gradient-segment-active, linear-gradient(180deg, #7e41d8 0%, #6a32d6 100%));color:var(--text-on-brand, #fff);box-shadow:var(--shadow-btn, 0 4px 14px rgba(106, 50, 214, .28))}.ui-segmented__item:focus{outline:none}.ui-segmented__item:focus-visible{box-shadow:0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-segmented__item--active:focus-visible{box-shadow:var(--shadow-btn, 0 4px 14px rgba(106, 50, 214, .28)),0 0 0 3px var(--brand-action-pale-8, rgba(106, 50, 214, .08))}.ui-segmented__item:active:not(:disabled){transform:scale(.98)}.ui-filter-chips{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ui-filter-chips::-webkit-scrollbar{display:none}.ui-filter-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:none;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border-radius:var(--r-pill, 9999px);padding:8px 14px;font-family:inherit;font-size:var(--text-sm, 14px);font-weight:600;line-height:1.5;background:var(--surface-2, #fafafe);color:var(--text-strong, #1a1c2e);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:background var(--transition, .2s ease),color var(--transition, .2s ease),box-shadow var(--transition, .2s ease),transform var(--transition, .2s ease)}.ui-filter-chip--active{background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff)}.ui-filter-chip:focus{outline:none}.ui-filter-chip:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.ui-filter-chip:active:not(:disabled){transform:scale(.98)}.ui-filter-chip__icon{display:flex;flex-shrink:0;width:20px;height:20px}.ui-filter-chip__icon svg{width:20px;height:20px}.ui-progress{display:flex;flex-direction:column;gap:8px}.ui-progress__label{margin:0;font-size:var(--text-xs, 12px);font-weight:600;color:var(--text-muted, #675f86)}.ui-progress__track{height:7px;border-radius:var(--r-sm, 8px);background:#f3f4f6;overflow:hidden}.ui-progress__fill{display:block;height:100%;border-radius:inherit;background:var(--brand-action, #6a32d6);transition:width .3s ease}.ui-stepper{margin:0;padding:8px;list-style:none;display:flex;flex-direction:column;gap:4px;background:var(--surface, #fff);border:1px solid var(--border, #e0e0e0);border-radius:14px;box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.ui-stepper__btn{display:flex;width:100%;align-items:center;gap:10px;text-align:left;border:0;background:transparent;min-height:48px;padding:8px 10px;border-radius:10px;color:inherit;font:inherit;cursor:default}.ui-stepper__btn:not(:disabled){cursor:pointer}.ui-stepper__btn--current{background:var(--brand-action-pale, #eee6fc);color:var(--brand-action, #6a32d6)}.ui-stepper__index{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;background:var(--surface-2, #fafafe);color:var(--text-muted, #675f86)}.ui-stepper__btn--current .ui-stepper__index,.ui-stepper__btn--done .ui-stepper__index{background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff)}.ui-stepper__copy{display:flex;flex-direction:column;min-width:0}.ui-stepper__title{font-size:var(--text-sm, 14px);font-weight:700}.ui-stepper__desc{font-size:var(--text-micro, 10px);color:var(--text-muted, #675f86)}@media (max-width:720px){.ui-stepper{flex-direction:row;overflow:auto}.ui-stepper__item{flex:0 0 auto}.ui-stepper__desc{display:none}}.ui-option-list{display:grid;gap:8px}.ui-option-list__item{display:flex;align-items:center;gap:10px;margin:0;padding:10px 12px;border:1px solid var(--border, #e0e0e0);border-radius:var(--r-md, 12px);background:var(--surface, #fff);cursor:pointer;min-height:48px}.ui-option-list--tiles .ui-option-list__item{min-height:58px}.ui-option-list__item input{width:auto;min-height:0;margin:0;accent-color:var(--brand-action, #6a32d6)}.ui-option-list--tiles .ui-option-list__item input{position:absolute;opacity:0;pointer-events:none}.ui-option-list__item--selected{border-color:var(--brand-action, #6a32d6);background:var(--brand-action-pale, #eee6fc)}.ui-option-list__letter{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:700;background:var(--surface-2, #fafafe);color:var(--text, #2d3436)}.ui-option-list__item--selected .ui-option-list__letter{background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff)}.ui-option-list__label{font-size:var(--text-sm, 14px);font-weight:600}.ui-option-list__item:has(input:disabled){opacity:.5;cursor:not-allowed}.ui-highlight-card{position:relative;display:block;width:100%;min-height:135px;text-align:left;border:0;border-radius:18px;padding:18px;background:linear-gradient(135deg,#f2efff,#ece8ff);color:#28175f;font:inherit;cursor:default;box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}button.ui-highlight-card{cursor:pointer}.ui-highlight-card__kicker{display:block;color:var(--brand-action, #6a32d6);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.ui-highlight-card__title{font-size:20px;font-weight:800;margin:8px 0 0;line-height:1.25;padding-right:88px}.ui-highlight-card__subtitle{margin:8px 0 0;font-size:12px;color:var(--text-muted, #675f86);padding-right:88px}.ui-highlight-card__reward{position:absolute;right:18px;top:25px;width:84px;height:84px;border-radius:50%;background:var(--brand-action, #6a32d6);color:var(--text-on-brand, #fff);display:grid;place-items:center;text-align:center;font-size:18px;font-weight:800}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f7fa;color:#111827;min-height:100vh;min-height:100dvh}html{height:100%;min-height:100%;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#root{min-height:100vh;min-height:100dvh}.app{--ui-bottom-nav-max-width: 480px;max-width:480px;margin:0 auto;min-height:100vh;min-height:100dvh;padding-top:env(safe-area-inset-top);background:#fff;position:relative}.layout__content{padding-bottom:calc(var(--ui-bottom-nav-height, 64px) + env(safe-area-inset-bottom,0px))}.layout__content--full{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding-bottom:0}a{color:inherit;text-decoration:none}button,input,select{font-family:inherit}.onboarding{--onboarding-pad-x: 24px;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;padding:32px var(--onboarding-pad-x) 24px;background:var(--surface, #ffffff);color:var(--text, #2d3436)}.onboarding__brand{display:flex;flex-direction:column;align-items:center;text-align:center}.onboarding__logo{display:block;width:96px;height:96px;object-fit:contain}.onboarding__wordmark{margin:12px 0 0;font-size:32px;font-weight:700;line-height:1.2;color:var(--brand-primary, #6A32D6)}.onboarding__tagline{margin:4px 0 0;font-size:var(--text-sm, 14px);font-weight:400;line-height:1.4;color:var(--text-muted, #675f86)}.onboarding__banner{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;margin:24px 0 16px;text-align:center}.onboarding__title{margin:0;max-width:18em;font-size:var(--text-xl, 24px);font-weight:700;line-height:1.3;text-wrap:balance;color:var(--brand-primary, #6A32D6)}.onboarding__description{margin:8px 0 0;max-width:22em;font-size:var(--text-sm, 14px);font-weight:400;line-height:1.5;text-wrap:pretty;color:var(--text-muted, #675f86)}.onboarding__hero{display:flex;align-items:center;justify-content:center;min-height:0;margin:8px calc(-1 * var(--onboarding-pad-x)) 0;width:calc(100% + 2 * var(--onboarding-pad-x))}.onboarding__hero-art{display:block;width:100%;height:auto;max-height:min(42vh,360px);object-fit:contain}.onboarding__actions{display:flex;flex-direction:column;gap:12px;padding-bottom:env(safe-area-inset-bottom,0px)}@media (max-height: 700px){.onboarding{padding-top:20px}.onboarding__banner{margin-top:16px}.onboarding__hero-art{max-height:min(34vh,260px)}.onboarding__logo{width:72px;height:72px}}.otp{min-height:100vh;padding:48px 16px 24px;background:#f5f7fa}.otp__header{margin-bottom:32px}.otp__title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.otp__subtitle{font-size:14px;color:#6b7280;margin:0}.otp__form{display:flex;flex-direction:column;gap:20px;align-items:center}.otp__inputs{display:flex;gap:12px;justify-content:center}.otp__input{width:56px;height:56px;text-align:center;font-size:24px;font-weight:600;border:2px solid #E5E7EB;border-radius:12px;transition:border-color .2s ease}.otp__input:focus{outline:none;border-color:#10b981}.otp__error{color:#ef4444;font-size:12px;margin:0}.otp__resend{background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;text-decoration:underline}.otp__helper{font-size:12px;color:#9ca3af;margin:0}.qr-display:focus{outline:none}.qr-display{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px 20px;cursor:pointer;overflow:hidden}.qr-display__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 85% 60% at 15% 20%,rgba(52,199,89,.45) 0%,transparent 55%),radial-gradient(ellipse 70% 55% at 85% 15%,rgba(245,197,24,.35) 0%,transparent 50%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(126,65,216,.4) 0%,transparent 55%),radial-gradient(ellipse 60% 45% at 80% 75%,rgba(74,31,158,.4) 0%,transparent 50%),linear-gradient(145deg,#7e41d8,#6a32d6 40%,#4a1f9e)}.qr-display__backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#1118271f,#11182747);pointer-events:none}.qr-display__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:360px;gap:24px;text-align:center;cursor:pointer}.qr-display__title{margin:0;font-size:clamp(20px,5vw,24px);font-weight:700;line-height:1.35;color:#fff;text-shadow:0 2px 12px rgba(17,24,39,.35)}.qr-display__card{display:flex;align-items:center;justify-content:center;padding:20px;background:#fff;border-radius:24px;box-shadow:0 4px 6px #1118270f,0 20px 40px #1118272e,0 0 0 1px #ffffff14}.qr-display__card canvas,.qr-display__card img{display:block}.qr-display__caption{margin:0;font-size:14px;line-height:1.5;color:#ffffffeb;text-shadow:0 1px 8px rgba(17,24,39,.3)}.qr-display__status{margin:0;font-size:16px;font-weight:600;color:#fff;text-shadow:0 1px 8px rgba(17,24,39,.3)}.qr-display__timer{margin:0;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 8px rgba(17,24,39,.3)}.qr-display__card--expired{opacity:.4;filter:grayscale(.4)}.qr-display__error,.qr-display__expired{display:flex;flex-direction:column;align-items:center;gap:12px}.qr-display__error p{margin:0;font-size:15px;line-height:1.4;color:#fff}.qr-display__button,.qr-display__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:12px;padding:12px 20px;font-size:15px;font-weight:600;cursor:pointer}.qr-display__button{background:#fff;color:var(--brand-primary, #6A32D6)}.qr-display__close{background:transparent;color:#ffffffeb;min-height:44px;padding:12px 20px}.qr-display__close:focus-visible,.qr-display__button:focus-visible{outline:2px solid #ffffff;outline-offset:2px}@media (min-width: 480px){.qr-display{padding:32px 24px}.qr-display__content{max-width:400px;gap:28px}}.club-catalog-cell{display:flex;align-items:center;gap:12px;padding:16px;background:var(--surface, #fff);border-radius:var(--r-lg, 16px);box-shadow:0 4px 8px #0f172a0a;text-decoration:none;color:inherit;transition:transform .2s ease}.club-catalog-cell:active{transform:scale(.98)}.club-catalog-cell__logo{width:48px;height:48px;border-radius:12px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2, #fafafe);color:var(--text-muted, #675f86);font-weight:600}.club-catalog-cell__logo img{width:100%;height:100%;object-fit:contain;display:block}.club-catalog-cell__info{flex:1;min-width:0}.club-catalog-cell__name{font-size:16px;font-weight:600;color:var(--text-strong, #1a1c2e);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-catalog-cell__direction{font-size:12px;color:var(--text-secondary, #636e72);margin:0}.club-catalog-cell__reward{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.club-catalog-cell__percent{font-size:16px;font-weight:700;color:var(--success-text, #0f7a3a);line-height:1.3}.club-catalog-cell__reward-label{font-size:12px;color:var(--text-secondary, #636e72)}.quiz-page{display:flex;flex-direction:column;flex:1;min-height:100vh;min-height:100dvh;padding:16px 16px 32px;background:#f5f7fa}.quiz-page__header{margin-bottom:16px}.quiz-page__back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:4px;color:var(--color-brand-primary, #6a32d6);text-decoration:none;font-size:14px;font-weight:500}.quiz-page__header--compact{display:flex;align-items:center;gap:8px}.quiz-page__header--compact .quiz-page__back{flex-shrink:0;justify-content:center;min-width:44px;min-height:44px;margin-bottom:0;font-size:28px;line-height:1;font-weight:400}.quiz-page__header-meta{flex:1;margin:0;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted, #675f86)}.quiz-page__header-balance{flex-shrink:0;width:28px;height:28px}.quiz-page__title{margin:0;font-size:24px;line-height:1.3;color:#111827}.quiz-page__lead,.quiz-page__meta,.quiz-page__hint,.quiz-page__error{margin:0 0 16px;font-size:14px;line-height:1.55;color:#4b5563}.quiz-page__error{color:#ef4444}.quiz-page__score{margin:0 0 8px;font-size:32px;font-weight:800;color:#111827}.quiz-page__points{margin:0 0 16px;font-size:18px;font-weight:700;color:var(--success-text, #0f7a3a)}.quiz-page__actions{display:flex;flex-direction:column;gap:12px;margin-top:20px}.quiz-page__card{display:flex;flex-direction:column;gap:8px}.quiz-page__kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#6a32d6}.quiz-page__card-title{margin:0;font-size:16px;font-weight:700}.quiz-page__question{margin:16px 0 28px;font-size:22px;line-height:1.3;font-weight:600;color:#111827}.quiz-page__stack{display:flex;flex-direction:column;gap:12px}.wallet__recommend{margin:0 0 24px}.wallet__recommend-title{margin:0 0 12px;font-size:18px;font-weight:600;color:#111827}.club-details__quizzes{margin-top:16px}.quiz-intro{flex:1;display:flex;flex-direction:column}.quiz-intro__hero{display:flex;flex-direction:column;padding:var(--space-5, 20px);border-radius:var(--r-2xl, 24px);background:var( --gradient-loyalty-card-alt, linear-gradient(135deg, #7e41d8 0%, #6a32d6 50%, #4a1f9e 100%) );box-shadow:var(--shadow-hero, 0 10px 28px rgba(74, 31, 158, .22));color:#fff}.quiz-intro__club{margin:0;font-size:11px;font-weight:600}.quiz-intro__title{margin:5px 0;font-size:25px;line-height:1.25;font-weight:700}.quiz-intro__description{margin:0;font-size:12px;line-height:1.45;color:#ffffffdb}.quiz-intro__rules{margin-top:var(--space-4, 16px)}.quiz-intro .ui-info-row__value{white-space:normal}.quiz-intro .quiz-page__hint{margin-top:var(--space-4, 16px);margin-bottom:0}.quiz-intro__footer{margin-top:auto;padding-top:var(--space-5, 20px)}.quiz-intro__footer .quiz-page__actions{margin-top:0}.quiz-intro__footer .quiz-page__hint{margin-top:0;margin-bottom:var(--space-3, 12px)}.quiz-play{flex:1;display:flex;flex-direction:column}.quiz-play__footer{margin-top:auto;padding-top:var(--space-5, 20px)}.quiz-play .quiz-page__error{margin-top:var(--space-4, 16px);margin-bottom:0}.quiz-result{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:48px}.quiz-result__mark{position:relative;width:148px;height:148px;margin-bottom:20px}.quiz-result__badge{position:absolute;top:16px;right:16px;bottom:16px;left:16px;display:grid;place-items:center;border-radius:50%;background:var(--brand-action-pale, #eee6fc);box-shadow:var(--shadow-hero, 0 10px 28px rgba(74, 31, 158, .22))}.quiz-result__badge img{display:block;width:72px;height:72px}.quiz-result__spark{position:absolute;border-radius:50%}.quiz-result__spark--tl{top:10px;left:22px;width:8px;height:8px;background:var(--success, #34c759)}.quiz-result__spark--tr{top:18px;right:16px;width:10px;height:10px;background:var(--brand-action, #6a32d6)}.quiz-result__spark--l{top:64px;left:4px;width:6px;height:6px;background:var(--brand-action, #6a32d6)}.quiz-result__spark--r{top:70px;right:2px;width:8px;height:8px;background:var(--success, #34c759)}.quiz-result__spark--bl{bottom:18px;left:18px;width:7px;height:7px;background:var(--brand-action, #6a32d6)}.quiz-result__spark--br{bottom:12px;right:24px;width:6px;height:6px;background:var(--success, #34c759)}.quiz-result__title{margin:0 0 8px;font-size:24px;line-height:1.25;font-weight:700;color:#111827}.quiz-result__lead{margin:0;max-width:22em;font-size:14px;line-height:1.5;color:var(--text-muted, #675f86)}.quiz-result__stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-top:22px;padding:15px;border-radius:var(--r-md, 12px);background:var(--surface-2, #fafafe)}.quiz-result__stat-label{display:block;font-size:12px;font-weight:500;color:var(--text-muted, #675f86)}.quiz-result__stat-value{display:block;margin-top:4px;font-size:21px;font-weight:700;color:#111827}.quiz-result__stat-value--reward{color:var(--success-text, #0f7a3a)}.quiz-result__footer{width:100%;margin-top:auto;padding-top:var(--space-5, 20px)}.wallet{min-height:100vh;padding:16px;background:#f5f7fa}.wallet__topbar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-16px -16px 16px;padding:16px 20px 12px;background:color-mix(in srgb,#f5f7fa 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wallet__profile{display:inline-flex;flex-shrink:0;padding:4px;margin:-4px;border-radius:999px;text-decoration:none;color:inherit}.wallet__profile:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:3px}.wallet__greeting{min-width:0}.wallet__eyebrow{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-action, #6a32d6)}.wallet__hello{margin:2px 0 0;font-size:clamp(1.625rem,1.45rem + .72vw,2rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--text-strong, #1a1c2e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet__card{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:100%;aspect-ratio:1.586 / 1;min-height:214px;max-height:310px;padding:clamp(20px,6vw,30px);overflow:hidden;border:0;border-radius:28px;color:#fff;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(140deg,#7b35eb,#6a32d6 52%,#4a1f9e);box-shadow:var(--shadow-hero, 0 16px 36px rgba(84, 36, 188, .2));container-type:inline-size}.wallet__card:focus-visible{outline:2px solid #fff;outline-offset:3px}.wallet__card-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.wallet__card-top,.wallet__card-copy,.wallet__card-brand,.wallet__card-hint{position:relative;z-index:1}.wallet__card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wallet__card-copy{display:flex;flex-direction:column;min-width:0}.wallet__card-brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700}.wallet__card-logo{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}.wallet__card-label{margin-top:16px;font-size:14px;color:#ffffffc7}.wallet__card-balance{display:block;margin-top:4px;font-size:clamp(2rem,14cqi,3.5rem);font-weight:500;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.05em}.wallet__card-unit{display:inline;margin-left:8px;font-size:16px;font-weight:600;letter-spacing:0}.wallet__card-hint{display:flex;align-items:center;gap:8px;color:#ffffffb8;font-size:12px}.wallet__status{margin:16px 0 0;font-size:14px;line-height:1.5;text-align:center}.wallet__status--muted{color:#9ca3af}.wallet__status--error{color:#ef4444}.wallet__section{margin-top:28px}.wallet__carousel{display:grid;grid-auto-flow:column;grid-auto-columns:min(88%,330px);gap:12px;margin-inline:-16px;padding:0 16px 8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.wallet__carousel::-webkit-scrollbar{display:none}.wallet__carousel .ui-highlight-card{scroll-snap-align:start;height:100%}.wallet__clubs{display:grid;gap:12px}.wallet__rules{margin-top:28px;padding:24px;border-radius:28px;background:var(--surface, #fff);box-shadow:0 2px 10px #29204a0f}.wallet__rules-title{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--text-strong, #1a1c2e)}.wallet__rules-intro{max-width:30ch;margin:8px 0 0;color:var(--text-secondary, #636e72);font-size:14px}.wallet__rules-list{display:grid;gap:20px;margin:24px 0 0;padding:0;list-style:none}.wallet__rule{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:16px}.wallet__rule-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;color:var(--brand-action, #6a32d6);background:var(--brand-action-pale, #eee7ff)}.wallet__rule strong{display:block;color:var(--text-strong, #1a1c2e)}.wallet__rule strong+span{display:block;margin-top:2px;color:var(--text-secondary, #636e72);font-size:14px}.wallet__quiz-sheet{display:grid;gap:12px;max-height:min(60dvh,520px);overflow:auto}.history-row{display:flex;align-items:center;gap:12px;padding:12px 0;background:var(--surface, #fff)}.history-row__logo{width:40px;height:40px;border-radius:12px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--surface-2, #fafafe);color:var(--text-muted, #675f86);font-weight:600;font-size:16px}.history-row__logo img{width:100%;height:100%;object-fit:contain;display:block}.history-row__info{flex:1;min-width:0}.history-row__name{margin:0;font-size:var(--text-md, 16px);font-weight:600;line-height:1.3;color:var(--text-strong, #1a1c2e);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row__purpose{margin:2px 0 0;font-size:var(--text-sm, 14px);line-height:1.4;color:var(--text-secondary, #636e72);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row__meta{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;gap:2px}.history-row__amount{margin:0;font-size:var(--text-md, 16px);font-weight:700;line-height:1.3}.history-row__amount--accrual{color:var(--success-text, #0f7a3a)}.history-row__amount--redemption{color:var(--error, #ef4444)}.history-row__date{margin:0;font-size:var(--text-xs, 12px);line-height:1.4;color:var(--text-faint, #8e8ea0);white-space:nowrap}.club-details{min-height:100vh;min-height:100dvh;padding-bottom:24px;background:var(--bg-mobile, #f8f9fb);overflow-x:hidden}.club-details__header{padding:16px 16px 0}.club-details__back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:4px;padding:0;border:none;background:none;color:var(--brand-action, #6a32d6);font:inherit;font-size:14px;font-weight:600;cursor:pointer}.club-details__back:focus-visible,.club-quick__item:focus-visible,.club-banner__favorite:focus-visible,.club-section__more:focus-visible,.club-coupon:focus-visible,.club-sheet__link:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.club-details__title{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--text-strong, #1a1c2e);overflow-wrap:anywhere}.club-details__body{display:flex;flex-direction:column;gap:12px;padding:16px 16px 0}.club-details__error{padding:24px 16px;text-align:center}.club-details__error-title{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-strong, #1a1c2e)}.club-details__error-text{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--text-muted, #675f86)}.club-banner{position:relative;isolation:isolate;display:flex;flex-direction:column;gap:20px;min-height:200px;padding:20px;border-radius:var(--r-xl, 20px);background:var(--gradient-loyalty-card, linear-gradient(135deg, #7e41d8 0%, #4a1f9e 100%));box-shadow:var(--shadow-hero, 0 10px 28px rgba(74, 31, 158, .22));color:var(--text-on-brand, #ffffff);overflow:hidden}.club-banner--image{background:linear-gradient(160deg,#1a1c2e59,#1a1c2eb8),var(--club-banner-image) center / cover no-repeat,var(--gradient-loyalty-card, linear-gradient(135deg, #7e41d8 0%, #4a1f9e 100%))}.club-banner__brand{display:flex;align-items:center;gap:12px;min-width:0}.club-banner__logo{display:grid;flex-shrink:0;place-items:center;width:52px;height:52px;border-radius:var(--r-lg, 16px);background:var(--surface, #ffffff);color:var(--brand-action, #6a32d6);font-size:20px;font-weight:700;overflow:hidden}.club-banner__logo-image{display:block;width:100%;height:100%;object-fit:cover}.club-banner__titles{flex:1;min-width:0}.club-banner__name{margin:0;font-size:20px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.club-banner__direction{margin:2px 0 0;font-size:13px;opacity:.78}.club-banner__favorite{display:grid;flex-shrink:0;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:var(--r-full, 9999px);background:#ffffff24;color:var(--text-on-brand, #ffffff);cursor:pointer;transition:transform .15s ease}.club-banner__favorite:active{transform:scale(.96)}.club-banner__favorite:disabled{opacity:.6;cursor:not-allowed;transform:none}.club-banner__member{display:flex;flex-direction:column;align-items:flex-start}.club-banner__badge{margin-bottom:12px}.club-banner__label,.club-banner__rate{margin:0;font-size:14px;opacity:.82}.club-banner__balance{margin:2px 0 8px;font-size:clamp(1.875rem,8vw,2.5rem);font-weight:700;line-height:1.1;overflow-wrap:anywhere}.club-banner__guest{display:flex;flex-direction:column;gap:16px}.club-banner__guest-text{margin:0;font-size:14px;line-height:1.5;opacity:.88}.club-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:12px 8px;border:1px solid var(--border-soft, rgba(0, 0, 0, .06));border-radius:var(--r-lg, 16px);background:var(--surface, #ffffff);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.club-quick--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.club-quick__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:76px;padding:8px 2px;border:none;border-radius:var(--r-md, 12px);background:none;color:var(--text-strong, #1a1c2e);font:inherit;font-size:12px;font-weight:600;line-height:1.15;text-align:center;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.club-quick__item svg{color:var(--brand-action, #6a32d6)}.club-quick__item:active{background:var(--brand-action-pale, #eee6fc);transform:scale(.97)}.club-section{margin-top:12px}.club-section__more{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:var(--brand-action, #6a32d6);font-size:14px;font-weight:700}.club-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:min(82%,320px);gap:12px;margin-inline:-16px;padding:0 16px 4px;overflow-x:auto;scroll-padding-inline:16px;scroll-snap-type:x mandatory;scrollbar-width:none}.club-carousel::-webkit-scrollbar{display:none}.club-carousel .ui-highlight-card{height:100%;scroll-snap-align:start}.club-coupons{display:grid;gap:12px;margin:0;padding:0;list-style:none}.club-coupon{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:80px;padding:12px;border:1px solid var(--border-soft, rgba(0, 0, 0, .06));border-radius:var(--r-lg, 16px);background:var(--surface, #ffffff);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.club-coupon__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-md, 12px);background:var(--brand-action-pale, #eee6fc);font-size:26px}.club-coupon__main{display:flex;flex-direction:column;gap:2px;min-width:0}.club-coupon__title{font-size:16px;font-weight:600;color:var(--text-strong, #1a1c2e);overflow-wrap:anywhere}.club-coupon__desc{font-size:12px;color:var(--text-muted, #675f86);overflow-wrap:anywhere}.club-coupon__arrow{color:var(--text-muted, #675f86)}.club-history{padding:4px 16px;border-radius:var(--r-lg, 16px);background:var(--surface, #ffffff);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.club-history .history-row+.history-row{border-top:1px solid var(--border-soft, rgba(0, 0, 0, .06))}.club-section-state{display:flex;flex-direction:column;align-items:center;gap:4px;min-height:156px;justify-content:center;text-align:center}.club-section-state__icon{color:var(--text-muted, #675f86)}.club-section-state--error .club-section-state__icon{color:var(--error, #ef4444)}.club-section-state__title{margin:8px 0 0;font-size:16px;font-weight:600;color:var(--text-strong, #1a1c2e)}.club-section-state__text{margin:0 0 8px;font-size:14px;color:var(--text-muted, #675f86)}.club-sheet{display:flex;flex-direction:column;gap:12px}.club-sheet--scroll{max-height:min(60dvh,520px);overflow:auto}.club-sheet__block{padding:12px;border-radius:var(--r-md, 12px);background:var(--surface-2, #fafafe)}.club-sheet__name{margin:0;font-size:16px;font-weight:700;color:var(--text-strong, #1a1c2e)}.club-sheet__muted{display:block;margin:2px 0 0;font-size:13px;color:var(--text-muted, #675f86)}.club-sheet__text{margin:0;font-size:14px;line-height:1.55;color:var(--text, #2d3436);white-space:pre-line;overflow-wrap:anywhere}.club-sheet__link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px;border-radius:var(--r-md, 12px);background:var(--surface-2, #fafafe);color:var(--brand-action, #6a32d6)}.club-sheet__link-label{display:block;font-size:15px;font-weight:600;overflow-wrap:anywhere}.club-skeleton__banner{width:100%;height:200px}.club-skeleton__quick{width:100%;height:102px}.club-skeleton__heading{width:45%;height:22px;margin:12px 0}.club-skeleton__quiz{width:min(82%,320px);height:156px}.club-skeleton__coupon{width:100%;height:80px}.club-skeleton__history{display:flex;flex-direction:column;gap:8px}.club-skeleton__history-row{width:100%;height:64px}@media (prefers-reduced-motion: reduce){.club-banner__favorite,.club-quick__item{transition:none}.club-banner__favorite:active,.club-quick__item:active{transform:none}.club-carousel{scroll-behavior:auto}}.coupons-page{padding:16px}.coupons-page__header{margin-bottom:16px}.coupons-page__back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:4px;color:var(--brand-primary, #6A32D6);text-decoration:none;font-size:14px}.coupons-page__title{margin:0;font-size:24px;color:#1a1a1a}.coupons-page__tabs{margin-bottom:16px}.coupons-page__list,.coupons-page__card{display:flex;flex-direction:column;gap:12px}.coupons-page__card--muted{opacity:.7}.coupons-page__card-row{display:flex;gap:12px;align-items:flex-start}.coupons-page__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.coupons-page__card-title{margin:0 0 4px;font-size:16px;font-weight:600}.coupons-page__card-desc,.coupons-page__card-cost,.coupons-page__card-meta,.coupons-page__hint,.coupons-page__message{margin:0;font-size:13px;color:#6b7280}.coupons-page__card-cost{margin-top:6px;color:var(--brand-accent, #34C759);font-weight:600}.coupons-page__section-title{margin:8px 0 0;font-size:14px;color:#374151}.coupons-page__error{display:flex;flex-direction:column;gap:12px}.tab-screen-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.tab-screen-header>:first-child{min-width:0;flex:1}.tab-screen-header__title{font-size:var(--text-lg, 20px);font-weight:600;line-height:1.3;color:var(--text-strong, #1a1c2e);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-screen-header__title:not(:last-child){margin-bottom:4px}.tab-screen-header__subtitle{font-size:var(--text-xs, 12px);line-height:1.4;color:var(--text-secondary, #636e72);margin:0}.my-coupons{min-height:calc(100vh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));padding:16px;background:var(--bg-mobile, #f7f8fc)}.my-coupons__tabs{margin-bottom:16px}.my-coupons__list{display:flex;flex-direction:column;gap:12px}.my-coupons__link{text-decoration:none;color:inherit;border-radius:var(--r-lg, 16px)}.my-coupons__link:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:3px}.my-coupons__link--muted{opacity:.7}.my-coupons__row{display:flex;gap:12px;align-items:flex-start}.my-coupons__icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.my-coupons__main{min-width:0}.my-coupons__title{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-strong, #1a1c2e)}.my-coupons__desc,.my-coupons__club,.my-coupons__points,.my-coupons__hint{margin:0;font-size:13px;color:var(--text-secondary, #636e72)}.my-coupons__club{margin-top:4px;font-weight:600;color:var(--text-strong, #1a1c2e)}.my-coupons__points{margin-top:4px}.my-coupons__hint{padding:24px 8px;text-align:center}.my-coupons__error{display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--error, #ef4444)}.my-coupons__error p{margin:0}.my-coupons__sentinel{height:1px}.club-qr-scanner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.club-qr-scanner__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#1118278c;cursor:pointer}.club-qr-scanner__panel{position:relative;z-index:1;width:100%;max-width:480px;max-height:92vh;overflow:auto;padding:16px 16px 24px;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -8px 24px #0f172a1f}.club-qr-scanner__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.club-qr-scanner__title{margin:0;font-size:18px;font-weight:600;color:#111827}.club-qr-scanner__close{border:none;background:transparent;color:#10b981;font-size:14px;font-weight:600;cursor:pointer;padding:4px 0}.club-qr-scanner__hint,.club-qr-scanner__status{margin:0 0 12px;font-size:14px;color:#6b7280;line-height:1.5}.club-qr-scanner__status--error{color:#ef4444}.club-qr-scanner__viewport{width:100%;min-height:280px;overflow:hidden;border-radius:12px;background:#111827}.club-qr-scanner__viewport--hidden{display:none}.club-qr-scanner__retry{margin-top:8px;border:none;background:transparent;color:#10b981;font-size:14px;font-weight:600;cursor:pointer;padding:0}.club-qr-scanner__viewport video{border-radius:12px}.add-program{min-height:100vh;padding:16px;background:#f5f7fa}.add-program__scan-btn[hidden]{display:none!important}.add-program__scan-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:12px;background:var(--surface, #fff);color:var(--brand-action, #6a32d6);box-shadow:0 4px 8px #0f172a0a;cursor:pointer}.add-program__scan-btn:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.add-program-list__search{position:relative}.add-program-list__search-clear{position:absolute;top:50%;right:8px;display:grid;place-items:center;width:32px;height:32px;margin-top:-16px;padding:0;border:none;border-radius:var(--r-md, 12px);background:transparent;color:var(--text-muted, #675f86);cursor:pointer}.add-program-list__search-clear:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.add-program-list__presets{display:flex;gap:8px;margin:0 -4px;overflow-x:auto;scrollbar-width:none}.add-program-list__presets::-webkit-scrollbar{display:none}.add-program-list__scopes{overflow:visible;flex:0 0 auto}.add-program-list__filters{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding-inline:12px}.add-program-list__filters-count{padding:0 6px;font-size:12px;line-height:1.4}.add-program-list__filters.ui-filter-chip--active .add-program-list__filters-count{background:#fff3;color:var(--text-on-brand, #fff)}.add-program-list__sheet-subtitle,.add-program-list__sheet-helper{margin:0;color:var(--text-muted, #675f86);font-size:12px}.add-program-list__sheet-section{margin:16px 0 0;padding:0;border:none}.add-program-list__sheet-legend{font-size:16px;font-weight:700}.add-program-list__sheet-helper{margin-top:2px}.add-program-list__direction-chips{flex-wrap:wrap;margin-top:12px;overflow:visible}.add-program-list__sheet-actions{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:20px}.add-program-list{display:flex;flex-direction:column;gap:16px}.add-program-list__content{min-height:200px}.add-program-list__message{margin:24px 0 0;font-size:14px;color:#6b7280;line-height:1.5;text-align:center}.add-program-list__message--muted{margin-top:16px}.add-program-list__message--error{color:#ef4444}.add-program-list__cells{display:flex;flex-direction:column;gap:12px;margin-top:8px}.add-program-list__sentinel{height:1px}.history{min-height:calc(100vh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));padding:16px;background:var(--bg-mobile, #f7f8fc)}.history__club-header{margin-bottom:16px}.history__back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:4px;color:var(--brand-action, #6a32d6);font-size:14px;font-weight:600}.history__back:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px}.history__club-title{margin:0;font-size:22px;font-weight:700;line-height:1.3;color:var(--text-strong, #1a1c2e);overflow-wrap:anywhere}.history__filters{margin-bottom:20px}.history__content{min-height:160px}.history__groups{display:flex;flex-direction:column;gap:20px}.history__group{display:flex;flex-direction:column;gap:4px}.history__month{margin:0;font-size:var(--text-md, 16px);font-weight:700;line-height:1.3;color:var(--text-strong, #1a1c2e)}.history__list{background:var(--surface, #fff);border-radius:var(--r-lg, 16px);padding:4px 16px;box-shadow:0 4px 8px #0f172a0a}.history__list .history-row+.history-row{border-top:1px solid var(--border-soft, rgba(0, 0, 0, .06))}.history__sentinel{height:1px}.history__message{margin:0;padding:24px 8px;text-align:center;font-size:var(--text-sm, 14px);line-height:1.5}.history__message--muted{color:var(--text-secondary, #636e72)}.history__message--error{color:var(--error, #ef4444)}.history__empty-state{text-align:center;padding:64px 16px}.history__empty{font-size:16px;font-weight:600;color:var(--text-strong, #1a1c2e);margin:0 0 8px}.history__empty-hint{font-size:14px;color:var(--text-secondary, #636e72);margin:0;line-height:1.5}.settings{display:flex;flex-direction:column;gap:24px;padding:16px;background:var(--bg, #f7f8fc);min-height:calc(100vh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px));min-height:calc(100dvh - var(--ui-bottom-nav-height, 64px) - env(safe-area-inset-bottom,0px))}.settings__heading .tab-screen-header{margin-bottom:0}.settings__back{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:4px;color:var(--brand-action, #6a32d6);text-decoration:none;font-size:14px;font-weight:500}.profile-hero{background:var( --gradient-loyalty-card, linear-gradient(135deg, var(--brand-primary-light, #7e41d8) 0%, var(--brand-primary-dark, #4a1f9e) 100%) );border-radius:var(--r-xl, 20px);padding:24px 20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-btn, 0 4px 14px rgba(106, 50, 214, .3));position:relative;overflow:hidden}.profile-hero:after{content:"";position:absolute;top:-50px;right:-50px;width:160px;height:160px;border-radius:50%;background:#ffffff14;pointer-events:none}.profile-info{flex:1;z-index:1;min-width:0}.profile-name{font-size:var(--text-lg, 20px);font-weight:700;color:#fff;letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}.profile-role{font-size:var(--text-xs, 12px);color:#ffffffb3;margin-top:3px}.profile-badge{display:inline-flex;align-items:center;gap:4px;background:#fff3;border-radius:var(--r-pill, 9999px);padding:4px 10px;font-size:11px;color:#ffffffe6;margin-top:8px;font-weight:500}.profile-badge svg{width:12px;height:12px}.profile-edit-btn{width:36px;height:36px;border-radius:var(--r-pill, 9999px);background:#fff3;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;z-index:1;cursor:pointer;border:1.5px solid rgba(255,255,255,.3);transition:background var(--transition, .2s ease)}.profile-edit-btn:hover{background:#ffffff4d}.profile-edit-btn:active{transform:scale(.95)}.profile-edit-btn svg{width:16px;height:16px}.profile-rows{display:flex;flex-direction:column;gap:2px}.profile-rows .ui-info-row+.ui-info-row{margin-top:0}.settings-sheet-form{display:flex;flex-direction:column;gap:16px}.settings-sheet-form__submit{margin-top:16px}.settings-logout-sheet__desc{margin:0 0 20px;font-size:var(--text-sm, 14px);color:var(--text-muted, #675f86);line-height:1.5}.login{min-height:100vh;padding:48px 16px 24px;background:#f5f7fa}.login__header{margin-bottom:32px}.login__title{font-size:24px;font-weight:700;color:#111827;margin:0 0 8px}.login__subtitle{font-size:14px;color:#6b7280;margin:0;line-height:1.5}.login a,.login__text-link{color:var(--text-link, var(--brand-action, #6a32d6));font-weight:600}.login a:hover,.login__text-link:hover{color:var(--brand-action-hover, #5b2abf)}.login a:focus-visible,.login__text-link:focus-visible{outline:2px solid var(--brand-action, #6a32d6);outline-offset:2px;border-radius:2px}.login__form{display:flex;flex-direction:column;gap:20px}.login__checkbox{display:flex;align-items:center;gap:8px;font-size:12px;color:#6b7280;cursor:pointer}.login__checkbox input{width:18px;height:18px;cursor:pointer}.login__consents{display:flex;flex-direction:column;gap:12px}.login__error{color:#ef4444;font-size:13px;margin:0}.campaign-page{flex:1;display:flex;flex-direction:column}.campaign-hero{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:200px;padding:var(--space-5, 20px);border-radius:var(--r-2xl, 24px);background:var( --gradient-loyalty-card-alt, linear-gradient(135deg, #7e41d8 0%, #6a32d6 50%, #4a1f9e 100%) );box-shadow:var(--shadow-hero, 0 10px 28px rgba(74, 31, 158, .22));color:#fff}.campaign-hero__logos{display:flex}.campaign-hero__logos .campaign-mark+.campaign-mark{margin-left:-9px}.campaign-hero__copy{display:flex;flex-direction:column;min-width:0}.campaign-hero__kicker,.campaign-hero__eyebrow{margin:0;font-size:11px;font-weight:600}.campaign-hero__title{margin:5px 0;font-size:25px;line-height:1.25;font-weight:700}.campaign-hero--progress .campaign-hero__title{font-size:22px}.campaign-hero__description{margin:0;font-size:12px;line-height:1.45;color:#ffffffdb}.campaign-hero__top{display:flex;align-items:flex-start;gap:12px}.campaign-hero__count{flex-shrink:0;width:60px;height:60px;border-radius:50%;background:#ffffff29;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800}.campaign-hero__count span{font-size:18px;line-height:1}.campaign-hero__count small{margin-top:2px;font-size:9px;font-weight:700}.campaign-hero__track{height:7px;margin-top:18px;border-radius:var(--r-pill, 9999px);background:#fff3;overflow:hidden}.campaign-hero__fill{display:block;height:100%;border-radius:inherit;background:#fff}.campaign-hero__meta{display:flex;justify-content:space-between;gap:8px;margin-top:8px;font-size:12px;color:#ffffffdb}.campaign-mark{display:grid;place-items:center;flex-shrink:0;overflow:hidden;font-weight:800}.campaign-mark img{width:100%;height:100%;object-fit:cover}.campaign-mark--hero{width:46px;height:46px;border:3px solid rgba(255,255,255,.7);border-radius:14px;font-size:11px}.campaign-mark--task{width:45px;height:45px;border-radius:13px;font-size:11px}.campaign-mark--reward{width:36px;height:36px;border-radius:10px;font-size:9px}.campaign-mark--brand{background:var(--brand-action-pale, #eee6fc);color:var(--brand-action, #6a32d6)}.campaign-mark--hero.campaign-mark--brand{background:#fff}.campaign-mark--accent{background:var(--success-pale, #d8f6e1);color:var(--success-text, #0f7a3a)}.campaign-intro__rules{margin-top:var(--space-4, 16px)}.campaign-intro .ui-info-row__value{white-space:normal}.campaign-page__terms{display:block;margin:14px auto 0;padding:8px;border:0;background:none;color:var(--brand-action, #6a32d6);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.campaign-intro__footer{margin-top:auto;padding-top:var(--space-5, 20px)}.campaign-enrollment-note{display:flex;gap:10px;align-items:flex-start;margin:0;padding:12px;border-radius:10px;background:var(--warning-pale, #fff0e0);color:var(--text, #17182a);font-size:14px;line-height:1.4}.campaign-enrollment-note svg{flex:0 0 auto;margin-top:1px;color:var(--warning, #ffa500)}.campaign-enrollment-note strong{display:block;margin-bottom:2px;color:var(--text, #17182a);font-weight:700}.campaign-intro__footer .quiz-page__actions{margin-top:0}.campaign-intro__footer .quiz-page__error{margin-top:0;margin-bottom:var(--space-3, 12px)}.campaign-notices{margin-top:var(--space-4, 16px)}.campaign-intro__footer .campaign-notices{margin-top:0;margin-bottom:var(--space-3, 12px)}.campaign-notices .quiz-page__hint,.campaign-notices .quiz-page__error{margin-bottom:8px}.campaign-notices .quiz-page__hint:last-child,.campaign-notices .quiz-page__error:last-child{margin-bottom:0}.campaign-section-label{margin:20px 0 10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint, #9b93b0);font-weight:800}.campaign-task{padding:16px;border-radius:18px;background:var(--surface, #fff);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.campaign-task--done{background:color-mix(in srgb,var(--success-pale, #d8f6e1) 40%,var(--surface, #fff))}.campaign-task__top{display:flex;align-items:center;gap:12px}.campaign-task__copy{flex:1;min-width:0}.campaign-task__copy small,.campaign-task__copy b{display:block}.campaign-task__copy small{font-size:12px;color:var(--text-muted, #675f86)}.campaign-task__copy b{margin-top:2px;font-size:14px}.campaign-task__status{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--warning-pale, #fff0e0);color:var(--warning, #ffa500)}.campaign-task--done .campaign-task__status{background:var(--success-pale, #d8f6e1);color:var(--success-text, #0f7a3a)}.campaign-task__progress{margin-top:12px}.campaign-task__meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:12px;color:var(--text-muted, #675f86)}.campaign-task__open{margin-top:12px;padding:0;border:0;background:none;color:var(--brand-action, #6a32d6);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.campaign-and{position:relative;display:flex;align-items:center;justify-content:center;height:30px}.campaign-and:before{content:"";position:absolute;top:0;bottom:0;width:1px;background:var(--border-soft, rgba(0, 0, 0, .06))}.campaign-and span{position:relative;padding:3px 8px;border:1px solid var(--border-soft, rgba(0, 0, 0, .06));border-radius:var(--r-pill, 9999px);background:#f5f7fa;color:var(--brand-action, #6a32d6);font-size:11px;font-weight:800}.campaign-reward{margin-top:18px;padding:16px;border-radius:18px;background:var(--surface, #fff);box-shadow:var(--shadow-card, 0 2px 16px rgba(106, 50, 214, .06))}.campaign-reward h2{margin:0 0 4px;font-size:14px}.campaign-reward__row{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:8px 0}.campaign-reward__row+.campaign-reward__row{border-top:1px solid var(--border-soft, rgba(0, 0, 0, .06))}.campaign-reward__name,.campaign-reward__note{display:block}.campaign-reward__name{font-size:14px}.campaign-reward__note{margin-top:2px;font-size:12px;color:var(--text-muted, #675f86)}.campaign-reward__points{font-size:13px;color:var(--brand-action, #6a32d6)}.campaign-sync{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:12px;line-height:1.4;color:var(--text-muted, #675f86)}.campaign-sync svg{flex-shrink:0;margin-top:1px}.campaign-success .quiz-page__error{margin-top:12px;margin-bottom:0}.campaign-reward--success{width:100%;margin-top:22px;text-align:left}.campaign-total{width:100%;margin-top:12px;padding:15px;border-radius:16px;background:var(--brand-action-pale, #eee6fc);color:var(--brand-action, #6a32d6);font-size:12px;text-align:left}.campaign-total strong{display:block;margin-top:2px;font-size:16px}.campaign-sheet{display:flex;flex-direction:column;gap:12px}.campaign-sheet p{margin:0;font-size:14px;line-height:1.5;color:var(--text-muted, #675f86)}.campaign-sheet strong{color:var(--text, #2d3436)}.campaign-sheet .quiz-page__error{margin:0}
