:root{--color-primary:#007aff;--color-primary-hover:#0056cc;--color-primary-active:#049;--color-background:#f2f2f7;--color-background-secondary:#fff;--color-background-tertiary:#fff;--color-surface:#fff;--color-surface-secondary:#f2f2f7;--color-surface-hover:#e5e5ea;--color-surface-elevated:#fff;--color-input-bg:#fff;--color-text:#000;--color-text-secondary:#8e8e93;--color-text-muted:#8e8e93;--color-text-inverse:#fff;--color-border:#c6c6c8;--color-border-subtle:#e5e5ea;--color-border-focus:#007aff;--color-success:#34c759;--color-success-bg:#e8f8ec;--color-warning:#ff9500;--color-warning-bg:#fff4e5;--color-error:#ff3b30;--color-error-bg:#ffebe9;--color-info:#007aff;--color-info-bg:#e5f1ff;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 4px 16px #0000001f;--shadow-xl:0 8px 24px #00000029;--shadow-card:0 0 0 1px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-size-xs:.6875rem;--font-size-sm:.8125rem;--font-size-base:1.0625rem;--font-size-lg:1.25rem;--font-size-xl:1.375rem;--font-size-2xl:1.75rem;--font-size-3xl:2.125rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.47;--line-height-relaxed:1.75;--transition-fast:.2s ease-out;--transition-normal:.3s ease-out;--transition-slow:.4s ease-out;--transition-spring:.5s cubic-bezier(.175, .885, .32, 1.275);--transition-bounce:.6s cubic-bezier(.68, -.55, .265, 1.55);--ease-out-expo:cubic-bezier(.19, 1, .22, 1);--ease-out-back:cubic-bezier(.34, 1.56, .64, 1);--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-tooltip:600;--safe-area-top:env(safe-area-inset-top);--safe-area-bottom:env(safe-area-inset-bottom)}[data-theme=dark]{--color-primary:#0a84ff;--color-primary-hover:#409cff;--color-primary-active:#5aacff;--color-background:#1c1c1e;--color-background-secondary:#1c1c1e;--color-background-tertiary:#2c2c2e;--color-surface:#2c2c2e;--color-surface-secondary:#1c1c1e;--color-surface-hover:#3a3a3c;--color-surface-elevated:#3a3a3c;--color-input-bg:#1c1c1e;--color-text:#fff;--color-text-secondary:#fff;--color-text-muted:#fff;--color-text-inverse:#000;--color-border:#38383a;--color-border-subtle:#2c2c2e;--color-border-focus:#0a84ff;--color-success:#30d158;--color-success-bg:#1a3d24;--color-warning:#ff9f0a;--color-warning-bg:#3d2e14;--color-error:#ff453a;--color-error-bg:#3d1a1a;--color-info:#0a84ff;--color-info-bg:#1a2d3d;--shadow-sm:0 1px 3px #0003;--shadow-md:0 2px 8px #0000004d;--shadow-lg:0 4px 16px #0006;--shadow-xl:0 8px 24px #00000080;--shadow-card:0 0 0 1px #ffffff0d}[data-font-size=large]{--font-size-xs:.8125rem;--font-size-sm:.9375rem;--font-size-base:1.1875rem;--font-size-lg:1.375rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-normal);letter-spacing:normal;color:var(--color-text);background-color:var(--color-background);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:normal;color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:none;box-shadow:0 0 0 4px #007aff33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-background-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.ios-card{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.ios-separator{background-color:var(--color-border-subtle);height:1px;margin-left:var(--spacing-md)}.ios-grouped{background-color:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.ios-grouped>*+*{border-top:1px solid var(--color-border-subtle)}.base-button[data-v-5d81c1b0]{justify-content:center;align-items:center;gap:var(--spacing-sm);font-weight:var(--font-weight-semibold);letter-spacing:normal;border-radius:var(--radius-xl);transition:background-color var(--transition-fast), transform .15s ease-out;cursor:pointer;white-space:normal;overflow-wrap:anywhere;text-align:center;display:inline-flex;position:relative;overflow:hidden}.base-button[data-v-5d81c1b0]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.base-button[data-v-5d81c1b0]:active:not(:disabled){transform:scale(.98)}.base-button--sm[data-v-5d81c1b0]{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);min-height:34px}.base-button--md[data-v-5d81c1b0]{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);min-height:44px}.base-button--lg[data-v-5d81c1b0]{padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-size-lg);min-height:50px}.base-button--primary[data-v-5d81c1b0]{background-color:var(--color-primary);color:#fff}.base-button--primary[data-v-5d81c1b0]:hover:not(:disabled){background-color:var(--color-primary-hover)}.base-button--primary[data-v-5d81c1b0]:active:not(:disabled){background-color:var(--color-primary-active)}.base-button--secondary[data-v-5d81c1b0]{background-color:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border)}.base-button--secondary[data-v-5d81c1b0]:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-primary)}.base-button--secondary[data-v-5d81c1b0]:active:not(:disabled){background-color:var(--color-background)}.base-button--ghost[data-v-5d81c1b0]{color:var(--color-primary);border-radius:var(--radius-md);background-color:#0000}.base-button--ghost[data-v-5d81c1b0]:hover:not(:disabled){background-color:#007aff1a}[data-theme=dark] .base-button--ghost[data-v-5d81c1b0]:hover:not(:disabled){background-color:#0a84ff26}.base-button--danger[data-v-5d81c1b0]{background-color:var(--color-error);color:#fff}.base-button--danger[data-v-5d81c1b0]:hover:not(:disabled){background-color:#e53935}.base-button--danger[data-v-5d81c1b0]:active:not(:disabled){background-color:#c62828}.base-button__spinner[data-v-5d81c1b0]{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin-5d81c1b0}.base-button__content--loading[data-v-5d81c1b0]{opacity:.7}@keyframes spin-5d81c1b0{to{transform:rotate(360deg)}}.base-input[data-v-2fa3ef57]{gap:var(--spacing-xs);flex-direction:column;display:flex}.base-input__label[data-v-2fa3ef57]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:normal}.base-input__required[data-v-2fa3ef57]{color:var(--color-error)}.base-input__field[data-v-2fa3ef57]{padding:12px var(--spacing-md);font-size:var(--font-size-base);letter-spacing:normal;color:var(--color-text);background-color:var(--color-input-bg,var(--color-background));border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);min-height:44px}.base-input__field[data-v-2fa3ef57]::placeholder{color:var(--color-text-muted)}.base-input__field[data-v-2fa3ef57]:hover:not(:disabled){border-color:var(--color-text-muted)}.base-input__field[data-v-2fa3ef57]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8ab4f933}.base-input__field[data-v-2fa3ef57]:disabled{opacity:.5;cursor:not-allowed}.base-input__field--error[data-v-2fa3ef57]{border-color:var(--color-error)}.base-input__field--error[data-v-2fa3ef57]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff3b3026}.base-input__error[data-v-2fa3ef57]{font-size:var(--font-size-sm);color:var(--color-error)}.base-select[data-v-f358b191]{gap:var(--spacing-xs);flex-direction:column;display:flex}.base-select__label[data-v-f358b191]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:normal}.base-select__required[data-v-f358b191]{color:var(--color-error)}.base-select__wrapper[data-v-f358b191]{position:relative}.base-select__field[data-v-f358b191]{width:100%;padding:12px var(--spacing-md);font-size:var(--font-size-base);letter-spacing:normal;color:var(--color-text);background-color:var(--color-input-bg,var(--color-background));border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;cursor:pointer;min-height:44px;padding-right:40px}.base-select__field[data-v-f358b191]:hover:not(:disabled){border-color:var(--color-text-muted)}.base-select__field[data-v-f358b191]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8ab4f933}.base-select__field[data-v-f358b191]:disabled{opacity:.5;cursor:not-allowed}.base-select__field--error[data-v-f358b191]{border-color:var(--color-error)}.base-select__field--error[data-v-f358b191]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff3b3026}.base-select__icon[data-v-f358b191]{right:var(--spacing-md);pointer-events:none;color:var(--color-text-secondary);position:absolute;top:50%;transform:translateY(-50%)}.base-select__error[data-v-f358b191]{font-size:var(--font-size-sm);color:var(--color-error)}.base-textarea[data-v-5161c9b4]{gap:var(--spacing-xs);flex-direction:column;display:flex}.base-textarea__label[data-v-5161c9b4]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);letter-spacing:normal}.base-textarea__required[data-v-5161c9b4]{color:var(--color-error)}.base-textarea__field[data-v-5161c9b4]{padding:12px var(--spacing-md);font-size:var(--font-size-base);letter-spacing:normal;color:var(--color-text);background-color:var(--color-input-bg,var(--color-background));border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);resize:vertical;min-height:100px;font-family:inherit;line-height:var(--line-height-normal)}.base-textarea__field[data-v-5161c9b4]::placeholder{color:var(--color-text-muted)}.base-textarea__field[data-v-5161c9b4]:hover:not(:disabled){border-color:var(--color-text-muted)}.base-textarea__field[data-v-5161c9b4]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #8ab4f933}.base-textarea__field[data-v-5161c9b4]:disabled{opacity:.5;cursor:not-allowed}.base-textarea__field--error[data-v-5161c9b4]{border-color:var(--color-error)}.base-textarea__field--error[data-v-5161c9b4]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ff3b3026}.base-textarea__error[data-v-5161c9b4]{font-size:var(--font-size-sm);color:var(--color-error)}.base-checkbox[data-v-36738620]{align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.base-checkbox--disabled[data-v-36738620]{opacity:.5;cursor:not-allowed}.base-checkbox__input[data-v-36738620]{opacity:0;width:0;height:0;position:absolute}.base-checkbox__box[data-v-36738620]{border:2px solid var(--color-border);width:22px;height:22px;transition:all var(--transition-fast);background-color:#0000;border-radius:6px;justify-content:center;align-items:center;display:flex}.base-checkbox__icon[data-v-36738620]{color:#fff;opacity:0;width:12px;height:12px;transition:all .2s ease-out;transform:scale(.5)}.base-checkbox__input:checked+.base-checkbox__box[data-v-36738620]{background-color:var(--color-primary);border-color:var(--color-primary)}.base-checkbox__input:checked+.base-checkbox__box .base-checkbox__icon[data-v-36738620]{opacity:1;transform:scale(1)}.base-checkbox__input:focus-visible+.base-checkbox__box[data-v-36738620]{box-shadow:0 0 0 4px #007aff26}[data-theme=dark] .base-checkbox__input:focus-visible+.base-checkbox__box[data-v-36738620]{box-shadow:0 0 0 4px #0a84ff33}.base-checkbox:hover:not(.base-checkbox--disabled) .base-checkbox__box[data-v-36738620]{border-color:var(--color-primary)}.base-checkbox:active:not(.base-checkbox--disabled) .base-checkbox__box[data-v-36738620]{transform:scale(.95)}.base-checkbox__label[data-v-36738620]{font-size:var(--font-size-base);color:var(--color-text);letter-spacing:normal}.base-card[data-v-c14507ee]{background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:background-color var(--transition-fast)}.base-card--hoverable[data-v-c14507ee]{cursor:pointer}.base-card--hoverable[data-v-c14507ee]:hover{background-color:var(--color-surface-hover)}.base-card--hoverable[data-v-c14507ee]:active{background-color:var(--color-background)}.base-card--padding-none .base-card__body[data-v-c14507ee]{padding:0}.base-card--padding-sm .base-card__body[data-v-c14507ee]{padding:var(--spacing-sm)}.base-card--padding-md .base-card__body[data-v-c14507ee]{padding:var(--spacing-md)}.base-card--padding-lg .base-card__body[data-v-c14507ee]{padding:var(--spacing-lg)}.base-card__header[data-v-c14507ee]{padding:var(--spacing-md);border-bottom:1px solid var(--color-border-subtle);font-weight:var(--font-weight-semibold);letter-spacing:normal}.base-card--padding-sm .base-card__header[data-v-c14507ee]{padding:var(--spacing-sm)}.base-card--padding-lg .base-card__header[data-v-c14507ee]{padding:var(--spacing-lg)}.base-card__footer[data-v-c14507ee]{padding:var(--spacing-md);border-top:1px solid var(--color-border-subtle);border-radius:0 0 var(--radius-md) var(--radius-md);background-color:#0000}.base-card--padding-sm .base-card__footer[data-v-c14507ee]{padding:var(--spacing-sm)}.base-card--padding-lg .base-card__footer[data-v-c14507ee]{padding:var(--spacing-lg)}.base-modal[data-v-c551ad0e]{z-index:var(--z-modal-backdrop);background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.base-modal__content[data-v-c551ad0e]{background-color:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;z-index:var(--z-modal);flex-direction:column;display:flex;position:relative;box-shadow:0 -4px 20px #00000026}.base-modal__handle[data-v-c551ad0e]{flex-shrink:0;justify-content:center;padding:8px 0 4px;display:flex}.base-modal__handle-bar[data-v-c551ad0e]{background-color:var(--color-border);border-radius:2.5px;width:36px;height:5px}.base-modal__content--sm[data-v-c551ad0e],.base-modal__content--md[data-v-c551ad0e],.base-modal__content--lg[data-v-c551ad0e]{width:100%}@media (width>=768px){.base-modal[data-v-c551ad0e]{padding:var(--spacing-lg);align-items:center}.base-modal__content[data-v-c551ad0e]{border-radius:var(--radius-lg);max-height:85vh}.base-modal__handle[data-v-c551ad0e]{display:none}.base-modal__content--sm[data-v-c551ad0e]{max-width:400px}.base-modal__content--md[data-v-c551ad0e]{max-width:560px}.base-modal__content--lg[data-v-c551ad0e]{max-width:800px}}.base-modal__header[data-v-c551ad0e]{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;display:flex}.base-modal__title[data-v-c551ad0e]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.base-modal__close[data-v-c551ad0e]{border-radius:var(--radius-full);width:32px;height:32px;color:var(--color-text-secondary);background-color:var(--color-surface-hover);transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.base-modal__close[data-v-c551ad0e]:hover{background-color:var(--color-border);color:var(--color-text)}.base-modal__body[data-v-c551ad0e]{padding:var(--spacing-lg);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.base-modal__footer[data-v-c551ad0e]{justify-content:flex-end;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom,0px));border-top:1px solid var(--color-border-subtle);background-color:var(--color-surface);flex-shrink:0;display:flex}@media (width>=768px){.base-modal__footer[data-v-c551ad0e]{padding-bottom:var(--spacing-md)}}.modal-enter-active[data-v-c551ad0e]{transition:opacity .2s ease-out}.modal-leave-active[data-v-c551ad0e]{transition:opacity .15s ease-in}.modal-enter-active .base-modal__content[data-v-c551ad0e]{transition:transform .4s cubic-bezier(.32,.72,0,1)}.modal-leave-active .base-modal__content[data-v-c551ad0e]{transition:transform .3s ease-in}.modal-enter-from[data-v-c551ad0e],.modal-leave-to[data-v-c551ad0e]{opacity:0}.modal-enter-from .base-modal__content[data-v-c551ad0e],.modal-leave-to .base-modal__content[data-v-c551ad0e]{transform:translateY(100%)}@media (width>=768px){.modal-enter-from .base-modal__content[data-v-c551ad0e]{opacity:0;transform:scale(.95)translateY(20px)}.modal-leave-to .base-modal__content[data-v-c551ad0e]{opacity:0;transform:scale(.95)translateY(10px)}.modal-enter-active .base-modal__content[data-v-c551ad0e]{transition:transform .3s var(--ease-out-back), opacity .2s ease-out}.modal-leave-active .base-modal__content[data-v-c551ad0e]{transition:transform .2s ease-in,opacity .15s ease-in}}.favorite-button[data-v-486f2c7e]{cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.favorite-button[data-v-486f2c7e]:hover:not(:disabled){color:#ef4444;background-color:#ef44441a}.favorite-button.is-favorited[data-v-486f2c7e]{color:#ef4444}.favorite-button.is-favorited[data-v-486f2c7e]:hover:not(:disabled){background-color:#ef44441a}.favorite-button.is-loading[data-v-486f2c7e]{opacity:.5;cursor:not-allowed}.favorite-button--sm[data-v-486f2c7e]{padding:4px}.favorite-button--md[data-v-486f2c7e]{padding:var(--spacing-xs)}.favorite-button--lg[data-v-486f2c7e]{padding:var(--spacing-sm)}.app-header[data-v-1a44dcd6]{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border-subtle);height:64px;z-index:var(--z-sticky);justify-content:space-between;align-items:center;display:none;position:sticky;top:0;box-shadow:0 1px 3px #0000000d,0 4px 12px #00000008}[data-theme=dark] .app-header[data-v-1a44dcd6]{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}@media (width>=641px){.app-header[data-v-1a44dcd6]{display:flex}}.header-left[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-md);display:flex}.menu-toggle[data-v-1a44dcd6]{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--color-text);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.menu-toggle[data-v-1a44dcd6]:hover{background-color:var(--color-surface-hover)}.menu-toggle[data-v-1a44dcd6]:active{transform:scale(.95)}@media (width>=1024px){.menu-toggle[data-v-1a44dcd6]{display:none}}.header-brand[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-sm);display:flex}.brand-icon[data-v-1a44dcd6]{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);width:38px;height:38px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 8px #007aff4d}[data-theme=dark] .brand-icon[data-v-1a44dcd6]{box-shadow:0 2px 8px #0a84ff4d}.brand-text[data-v-1a44dcd6]{flex-direction:column;display:flex}.brand-name[data-v-1a44dcd6]{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text);letter-spacing:-.02em;line-height:1.2}.brand-tagline[data-v-1a44dcd6]{font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.01em;line-height:1.2}.header-right[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-sm);display:flex}.header-divider[data-v-1a44dcd6]{background-color:var(--color-border-subtle);width:1px;height:24px;margin:0 var(--spacing-xs)}.icon-button[data-v-1a44dcd6]{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:flex}.text-button[data-v-1a44dcd6]{width:auto;padding:0 var(--spacing-sm)}.font-size-icon[data-v-1a44dcd6]{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.user-menu[data-v-1a44dcd6]{position:relative}.user-button[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-lg);color:var(--color-text);transition:all var(--transition-fast);display:flex}.user-button[data-v-1a44dcd6]:hover{background-color:var(--color-surface-hover)}.user-button[data-v-1a44dcd6]:active{transform:scale(.98)}.user-avatar[data-v-1a44dcd6]{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;width:36px;height:36px;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-info[data-v-1a44dcd6]{margin-right:var(--spacing-xs);flex-direction:column;align-items:flex-start;display:none}@media (width>=1024px){.user-info[data-v-1a44dcd6]{display:flex}}.user-name[data-v-1a44dcd6]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);line-height:1.2}.user-role[data-v-1a44dcd6]{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize}.user-button svg[data-v-1a44dcd6]{transition:transform var(--transition-fast);color:var(--color-text-muted)}.user-button svg.rotated[data-v-1a44dcd6]{transform:rotate(180deg)}.user-dropdown[data-v-1a44dcd6]{top:calc(100% + var(--spacing-sm));background-color:var(--color-surface);border-radius:var(--radius-xl);width:240px;box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);border:1px solid var(--color-border-subtle);position:absolute;right:0;overflow:hidden}.dropdown-header[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface-secondary);display:flex}.dropdown-avatar[data-v-1a44dcd6]{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;width:44px;height:44px;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dropdown-info[data-v-1a44dcd6]{flex-direction:column;display:flex}.dropdown-name[data-v-1a44dcd6]{font-weight:var(--font-weight-semibold);color:var(--color-text);font-size:var(--font-size-base)}.dropdown-role[data-v-1a44dcd6]{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:capitalize}.dropdown-divider[data-v-1a44dcd6]{background-color:var(--color-border-subtle);height:1px}.dropdown-item[data-v-1a44dcd6]{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast);display:flex}.dropdown-item[data-v-1a44dcd6]:hover{background-color:var(--color-surface-hover)}.dropdown-item.logout[data-v-1a44dcd6]{color:var(--color-error)}.dropdown-item.logout[data-v-1a44dcd6]:hover{background-color:var(--color-error-bg)}.dropdown-enter-active[data-v-1a44dcd6]{transition:opacity .2s ease-out, transform .3s var(--ease-out-back)}.dropdown-leave-active[data-v-1a44dcd6]{transition:opacity .15s ease-in,transform .2s ease-in}.dropdown-enter-from[data-v-1a44dcd6]{opacity:0;transform:translateY(-8px)scale(.95)}.dropdown-leave-to[data-v-1a44dcd6]{opacity:0;transform:translateY(-4px)scale(.98)}.sidebar-container[data-v-81431049]{flex-direction:column;height:100%;display:flex}.sidebar-nav[data-v-81431049]{gap:var(--spacing-xs);padding:var(--spacing-md);flex-direction:column;flex:1;display:flex;overflow-y:auto}.nav-divider[data-v-81431049]{background-color:var(--color-border-subtle);height:1px;margin:var(--spacing-sm) var(--spacing-md)}.nav-item[data-v-81431049]{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:normal;transition:all var(--transition-fast);text-decoration:none;display:flex;position:relative}.nav-item[data-v-81431049]:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.nav-item[data-v-81431049]:active{transform:scale(.98)}.nav-item.active[data-v-81431049]{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:#fff;box-shadow:0 4px 12px #007aff4d}[data-theme=dark] .nav-item.active[data-v-81431049]{box-shadow:0 4px 12px #0a84ff4d}.nav-item.active[data-v-81431049]:hover{background:linear-gradient(135deg, var(--color-primary-hover) 0%, var(--color-primary-active) 100%)}.nav-icon[data-v-81431049]{opacity:.8;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-item:hover .nav-icon[data-v-81431049],.nav-item.active .nav-icon[data-v-81431049]{opacity:1}.nav-label[data-v-81431049]{white-space:nowrap;flex:1}.nav-indicator[data-v-81431049]{border-radius:var(--radius-full);background-color:#ffffff80;width:6px;height:6px}.bottom-nav[data-v-16fabe6c]{height:calc(56px + env(safe-area-inset-bottom,0px));background-color:var(--color-surface);border-top:1px solid var(--color-border-subtle);z-index:var(--z-fixed);padding-bottom:env(safe-area-inset-bottom,0px);display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=640px){.bottom-nav[data-v-16fabe6c]{justify-content:space-around;align-items:center;padding-top:0;display:flex}}.bottom-nav-item[data-v-16fabe6c]{height:100%;color:var(--color-text-muted);transition:color var(--transition-fast);padding:var(--spacing-xs);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav-item.active[data-v-16fabe6c]{color:var(--color-primary)}.bottom-nav-item[data-v-16fabe6c]:not(.active):active{color:var(--color-text-secondary)}.bottom-nav-icon[data-v-16fabe6c]{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.bottom-nav-label[data-v-16fabe6c]{font-size:10px;font-weight:var(--font-weight-medium);letter-spacing:normal}.admin-sheet-overlay[data-v-16fabe6c]{z-index:calc(var(--z-fixed) + 10);background-color:#00000080;position:fixed;inset:0}.admin-sheet[data-v-16fabe6c]{background-color:var(--color-surface);border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl);z-index:calc(var(--z-fixed) + 11);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--spacing-md));max-height:70vh;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.admin-sheet-header[data-v-16fabe6c]{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.admin-sheet-title[data-v-16fabe6c]{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);letter-spacing:.05em}.admin-sheet-close[data-v-16fabe6c]{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.admin-sheet-close[data-v-16fabe6c]:hover{background-color:var(--color-surface-hover)}.admin-sheet-content[data-v-16fabe6c]{padding:var(--spacing-sm) 0}.admin-sheet-item[data-v-16fabe6c]{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text);text-align:left;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:none;display:flex}.admin-sheet-item[data-v-16fabe6c]:hover{background-color:var(--color-surface-hover)}.admin-sheet-item.active[data-v-16fabe6c]{color:var(--color-primary);background-color:var(--color-primary-subtle)}.admin-sheet-icon[data-v-16fabe6c]{width:20px;height:20px;color:inherit;justify-content:center;align-items:center;display:flex}.admin-sheet-label[data-v-16fabe6c]{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);flex:1}.admin-sheet-chevron[data-v-16fabe6c]{color:var(--color-text-muted)}.fade-enter-active[data-v-16fabe6c],.fade-leave-active[data-v-16fabe6c]{transition:opacity .2s}.fade-enter-from[data-v-16fabe6c],.fade-leave-to[data-v-16fabe6c]{opacity:0}.slide-up-enter-active[data-v-16fabe6c],.slide-up-leave-active[data-v-16fabe6c]{transition:transform .3s}.slide-up-enter-from[data-v-16fabe6c],.slide-up-leave-to[data-v-16fabe6c]{transform:translateY(100%)}.campaign-marquee[data-v-53d8eb9b]{background-color:var(--color-warning);color:#fff;white-space:nowrap;padding:6px 0;overflow:hidden}.campaign-marquee-track[data-v-53d8eb9b]{width:max-content;animation:25s linear infinite campaign-marquee-scroll-53d8eb9b;display:inline-flex}.campaign-marquee-set[data-v-53d8eb9b]{display:inline-flex}.campaign-marquee-item[data-v-53d8eb9b]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:0 var(--spacing-2xl)}.campaign-marquee-item[data-v-53d8eb9b]:before{content:"📣";margin-right:var(--spacing-sm)}@keyframes campaign-marquee-scroll-53d8eb9b{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.campaign-marquee-track[data-v-53d8eb9b]{animation:none}.campaign-marquee[data-v-53d8eb9b]{overflow-x:auto}}.campaign-announcements[data-v-3a1d70b4]{gap:var(--spacing-lg);flex-direction:column;display:flex}.campaign-announcement[data-v-3a1d70b4]{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.campaign-announcement[data-v-3a1d70b4]:last-child{border-bottom:none;padding-bottom:0}.campaign-announcement-name[data-v-3a1d70b4]{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0 0 var(--spacing-xs)}.campaign-announcement-dates[data-v-3a1d70b4]{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-sm)}.campaign-announcement-info[data-v-3a1d70b4]{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:pre-wrap;margin:0}.app-layout[data-v-71ae49da]{background-color:var(--color-background);flex-direction:column;min-height:100vh;display:flex}.app-body[data-v-71ae49da]{flex:1;display:flex;position:relative}.sidebar[data-v-71ae49da]{background-color:var(--color-surface);border-right:1px solid var(--color-border-subtle);flex-shrink:0;width:260px;height:calc(100vh - 64px);position:sticky;top:64px;overflow-y:auto}@media (width<=1023px){.sidebar[data-v-71ae49da]{z-index:var(--z-fixed);transition:transform var(--transition-normal);height:calc(100vh - 64px);box-shadow:var(--shadow-xl);position:fixed;top:64px;bottom:0;left:0;transform:translate(-100%)}.sidebar.open[data-v-71ae49da]{transform:translate(0)}}.sidebar-backdrop[data-v-71ae49da]{z-index:calc(var(--z-fixed) - 1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;position:fixed;inset:64px 0 0}.main-content[data-v-71ae49da]{padding:var(--spacing-lg);flex:1;min-height:calc(100vh - 64px);overflow-x:hidden}@media (width<=640px){.main-content[data-v-71ae49da]{padding:var(--spacing-md);min-height:100vh}.main-content.has-bottom-nav[data-v-71ae49da]{padding-bottom:calc(56px + var(--spacing-lg) + env(safe-area-inset-bottom))}}.fade-enter-active[data-v-71ae49da],.fade-leave-active[data-v-71ae49da]{transition:opacity var(--transition-normal)}.fade-enter-from[data-v-71ae49da],.fade-leave-to[data-v-71ae49da]{opacity:0}
