.drawer-overlay[data-v-e9e549e3]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999}.drawer[data-v-e9e549e3]{position:absolute;top:0;left:0;bottom:0;width:280px;max-width:85vw;background:var(--color-bg-elevated);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}.drawer-header[data-v-e9e549e3]{display:flex;align-items:center;gap:var(--spacing-base);padding:var(--spacing-lg) var(--spacing-base);padding-top:max(var(--spacing-lg),env(safe-area-inset-top));background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.user-avatar[data-v-e9e549e3]{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0}.user-avatar img[data-v-e9e549e3]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-e9e549e3]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-size:var(--text-lg);font-weight:600}.user-info[data-v-e9e549e3]{flex:1;min-width:0}.user-name[data-v-e9e549e3]{font-weight:600;color:var(--color-text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email[data-v-e9e549e3]{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-text[data-v-e9e549e3]{color:var(--color-text-secondary);margin:0}.drawer-nav[data-v-e9e549e3]{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.nav-item[data-v-e9e549e3]{display:flex;align-items:center;gap:var(--spacing-base);width:100%;padding:var(--spacing-base) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-base);text-align:left;cursor:pointer;transition:var(--transition-fast)}.nav-item[data-v-e9e549e3]:hover{background:var(--color-bg-hover);color:var(--color-text)}.nav-item.active[data-v-e9e549e3]{background:var(--color-bg-hover);color:var(--color-primary)}.nav-item svg[data-v-e9e549e3]{width:20px;height:20px;flex-shrink:0}.nav-divider[data-v-e9e549e3]{height:1px;background:var(--color-border);margin:var(--spacing-sm) var(--spacing-lg)}.drawer-footer[data-v-e9e549e3]{border-top:1px solid var(--color-border);padding:var(--spacing-sm) 0;padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom))}.footer-btn[data-v-e9e549e3]{display:flex;align-items:center;gap:var(--spacing-base);width:100%;padding:var(--spacing-base) var(--spacing-lg);border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--text-base);text-align:left;cursor:pointer;transition:var(--transition-fast)}.footer-btn[data-v-e9e549e3]:hover{background:var(--color-bg-hover);color:var(--color-text)}.footer-btn.logout[data-v-e9e549e3]{color:var(--color-error)}.footer-btn.logout[data-v-e9e549e3]:hover{background:#ef44441a}.footer-btn svg[data-v-e9e549e3]{width:20px;height:20px;flex-shrink:0}.drawer-enter-active[data-v-e9e549e3],.drawer-leave-active[data-v-e9e549e3]{transition:opacity .2s ease}.drawer-enter-active .drawer[data-v-e9e549e3],.drawer-leave-active .drawer[data-v-e9e549e3]{transition:transform .2s ease}.drawer-enter-from[data-v-e9e549e3],.drawer-leave-to[data-v-e9e549e3]{opacity:0}.drawer-enter-from .drawer[data-v-e9e549e3],.drawer-leave-to .drawer[data-v-e9e549e3]{transform:translate(-100%)}.app-header[data-v-9385331e]{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.header-content[data-v-9385331e]{display:flex;align-items:center;justify-content:space-between;height:64px;max-width:1200px;margin:0 auto;padding:0 var(--spacing-base)}.logo[data-v-9385331e]{display:flex;align-items:center;gap:var(--spacing-xs);font-weight:700;font-size:var(--text-xl);color:var(--color-text);text-decoration:none}.logo-icon[data-v-9385331e]{width:36px;height:36px;border-radius:var(--radius-md);object-fit:contain}.logo-text[data-v-9385331e]{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-menu[data-v-9385331e]{display:flex;align-items:center;gap:var(--spacing-sm)}.nav-link[data-v-9385331e]{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-base);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-base);transition:var(--transition-fast)}.nav-link[data-v-9385331e]:hover,.nav-link.router-link-active[data-v-9385331e]{color:var(--color-primary);background-color:var(--color-bg-secondary)}.nav-icon[data-v-9385331e]{width:18px;height:18px}.theme-toggle[data-v-9385331e],.logout-btn[data-v-9385331e]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:var(--radius-base);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.theme-toggle[data-v-9385331e]:hover,.logout-btn[data-v-9385331e]:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.theme-toggle svg[data-v-9385331e],.logout-btn svg[data-v-9385331e]{width:20px;height:20px}.logout-btn[data-v-9385331e]{color:var(--color-error)}.logout-btn[data-v-9385331e]:hover{background-color:#ef44441a}.menu-toggle[data-v-9385331e]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:transparent;border:none;border-radius:var(--radius-base);color:var(--color-text);cursor:pointer;transition:var(--transition-fast)}.menu-toggle[data-v-9385331e]:hover{background-color:var(--color-bg-secondary)}.menu-toggle svg[data-v-9385331e]{width:24px;height:24px}@media (max-width: 768px){.nav-link[data-v-9385331e]{padding:var(--spacing-sm)}.header-content[data-v-9385331e]{gap:var(--spacing-sm)}.logo[data-v-9385331e]{flex:1}}.announcement-bar[data-v-e4f0a4eb]{background:linear-gradient(135deg,#fef3c7,#fde68a);border-bottom:1px solid #fcd34d;padding:8px 0;position:sticky;top:64px;z-index:90;transition:all .3s ease}:root.dark .announcement-bar[data-v-e4f0a4eb]{background:linear-gradient(135deg,#78350f,#92400e);border-bottom-color:#b45309}.announcement-bar.collapsed[data-v-e4f0a4eb]{padding:4px 0;opacity:.9}.announcement-container[data-v-e4f0a4eb]{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.announcement-icon[data-v-e4f0a4eb]{flex-shrink:0;width:20px;height:20px;color:#b45309}:root.dark .announcement-icon[data-v-e4f0a4eb]{color:#fbbf24}.announcement-icon svg[data-v-e4f0a4eb]{width:100%;height:100%}.announcement-content[data-v-e4f0a4eb]{flex:1;min-width:0;overflow:hidden;cursor:pointer}.announcement-text[data-v-e4f0a4eb]{display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-sm);color:#78350f}:root.dark .announcement-text[data-v-e4f0a4eb]{color:#fef3c7}.announcement-title[data-v-e4f0a4eb]{font-weight:600;flex-shrink:0}.announcement-separator[data-v-e4f0a4eb]{color:#d97706;flex-shrink:0}:root.dark .announcement-separator[data-v-e4f0a4eb]{color:#fbbf24}.announcement-body[data-v-e4f0a4eb]{overflow:hidden;text-overflow:ellipsis}.announcement-indicators[data-v-e4f0a4eb]{display:flex;gap:6px;margin:0 var(--spacing-sm)}.indicator[data-v-e4f0a4eb]{width:6px;height:6px;border-radius:50%;border:none;background:#b453094d;cursor:pointer;padding:0;transition:all .2s ease}:root.dark .indicator[data-v-e4f0a4eb]{background:#fbbf244d}.indicator[data-v-e4f0a4eb]:hover{background:#b4530980}:root.dark .indicator[data-v-e4f0a4eb]:hover{background:#fbbf2480}.indicator.active[data-v-e4f0a4eb]{background:#b45309;transform:scale(1.3)}:root.dark .indicator.active[data-v-e4f0a4eb]{background:#fbbf24}.close-btn[data-v-e4f0a4eb]{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#92400e;cursor:pointer;padding:0;border-radius:var(--radius-sm);transition:all .2s ease}:root.dark .close-btn[data-v-e4f0a4eb]{color:#fcd34d}.close-btn[data-v-e4f0a4eb]:hover{background:#b453091a;color:#78350f}:root.dark .close-btn[data-v-e4f0a4eb]:hover{background:#fbbf241a;color:#fef3c7}.close-btn svg[data-v-e4f0a4eb]{width:14px;height:14px}.announcement-modal-overlay[data-v-e4f0a4eb]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-base)}.announcement-modal[data-v-e4f0a4eb]{background:linear-gradient(180deg,#fffbeb,#fef3c7);border:1px solid #fcd34d;border-radius:var(--radius-xl);width:100%;max-width:400px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #b4530933}:root.dark .announcement-modal[data-v-e4f0a4eb]{background:linear-gradient(180deg,#78350f,#451a03);border-color:#b45309;box-shadow:0 20px 40px #0006}.modal-header[data-v-e4f0a4eb]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-base) var(--spacing-lg);border-bottom:1px solid rgba(180,83,9,.2)}:root.dark .modal-header[data-v-e4f0a4eb]{border-bottom-color:#fbbf2433}.modal-icon[data-v-e4f0a4eb]{width:24px;height:24px;color:#b45309}:root.dark .modal-icon[data-v-e4f0a4eb]{color:#fbbf24}.modal-icon svg[data-v-e4f0a4eb]{width:100%;height:100%}.modal-header-title[data-v-e4f0a4eb]{flex:1;font-weight:600;font-size:var(--text-base);color:#78350f}:root.dark .modal-header-title[data-v-e4f0a4eb]{color:#fef3c7}.modal-close-btn[data-v-e4f0a4eb]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:#b453091a;color:#92400e;cursor:pointer;border-radius:var(--radius-base);transition:all .2s ease}:root.dark .modal-close-btn[data-v-e4f0a4eb]{background:#fbbf241a;color:#fcd34d}.modal-close-btn[data-v-e4f0a4eb]:hover{background:#b4530933;color:#78350f}:root.dark .modal-close-btn[data-v-e4f0a4eb]:hover{background:#fbbf2433;color:#fef3c7}.modal-close-btn svg[data-v-e4f0a4eb]{width:16px;height:16px}.modal-body[data-v-e4f0a4eb]{flex:1;padding:var(--spacing-lg);overflow-y:auto}.modal-title[data-v-e4f0a4eb]{font-size:var(--text-lg);font-weight:600;color:#78350f;margin:0 0 var(--spacing-base)}:root.dark .modal-title[data-v-e4f0a4eb]{color:#fef3c7}.modal-content[data-v-e4f0a4eb]{font-size:var(--text-sm);line-height:1.6;color:#92400e;margin:0;white-space:pre-wrap;word-break:break-word}:root.dark .modal-content[data-v-e4f0a4eb]{color:#fde68a}.modal-footer[data-v-e4f0a4eb]{padding:var(--spacing-base) var(--spacing-lg);border-top:1px solid rgba(180,83,9,.2)}:root.dark .modal-footer[data-v-e4f0a4eb]{border-top-color:#fbbf2433}.modal-pagination[data-v-e4f0a4eb]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-base)}.pagination-btn[data-v-e4f0a4eb]{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(180,83,9,.3);background:#b453091a;color:#92400e;cursor:pointer;border-radius:var(--radius-base);transition:all .2s ease}:root.dark .pagination-btn[data-v-e4f0a4eb]{border-color:#fbbf244d;background:#fbbf241a;color:#fcd34d}.pagination-btn[data-v-e4f0a4eb]:hover:not(:disabled){background:#b4530933;border-color:#b45309}:root.dark .pagination-btn[data-v-e4f0a4eb]:hover:not(:disabled){background:#fbbf2433;border-color:#fbbf24}.pagination-btn[data-v-e4f0a4eb]:disabled{opacity:.4;cursor:not-allowed}.pagination-btn svg[data-v-e4f0a4eb]{width:18px;height:18px}.pagination-info[data-v-e4f0a4eb]{font-size:var(--text-sm);font-weight:500;color:#92400e;min-width:50px;text-align:center}:root.dark .pagination-info[data-v-e4f0a4eb]{color:#fcd34d}.announcement-enter-active[data-v-e4f0a4eb],.announcement-leave-active[data-v-e4f0a4eb]{transition:all .3s ease}.announcement-enter-from[data-v-e4f0a4eb],.announcement-leave-to[data-v-e4f0a4eb]{opacity:0;transform:translateY(-100%)}.slide-enter-active[data-v-e4f0a4eb],.slide-leave-active[data-v-e4f0a4eb]{transition:all .3s ease}.slide-enter-from[data-v-e4f0a4eb]{opacity:0;transform:translateY(10px)}.slide-leave-to[data-v-e4f0a4eb]{opacity:0;transform:translateY(-10px)}.modal-enter-active[data-v-e4f0a4eb],.modal-leave-active[data-v-e4f0a4eb]{transition:all .3s ease}.modal-enter-from[data-v-e4f0a4eb],.modal-leave-to[data-v-e4f0a4eb]{opacity:0}.modal-enter-from .announcement-modal[data-v-e4f0a4eb],.modal-leave-to .announcement-modal[data-v-e4f0a4eb]{transform:scale(.9)}@media (max-width: 768px){.announcement-container[data-v-e4f0a4eb]{padding:0 var(--spacing-base)}.announcement-indicators[data-v-e4f0a4eb]{display:none}.announcement-title[data-v-e4f0a4eb]{max-width:100px;overflow:hidden;text-overflow:ellipsis}.announcement-content[data-v-e4f0a4eb]{cursor:pointer}.announcement-content[data-v-e4f0a4eb]:active{opacity:.7}}.app-layout[data-v-313336f2]{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg-secondary)}.main-content[data-v-313336f2]{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-base)}.app-footer[data-v-313336f2]{border-top:1px solid var(--color-border);background-color:var(--color-bg)}.footer-content[data-v-313336f2]{max-width:1200px;margin:0 auto;padding:var(--spacing-md) var(--spacing-base);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.toast-container[data-v-f3cb42ff]{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none}.toast-item[data-v-f3cb42ff]{display:flex;align-items:center;gap:12px;min-width:320px;max-width:420px;padding:12px 16px;border-radius:8px;background:var(--color-bg-elevated, #fff);box-shadow:0 4px 16px #0000001f,0 1px 4px #00000014;border-left:4px solid;pointer-events:auto;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.toast-icon[data-v-f3cb42ff]{flex-shrink:0;width:20px;height:20px}.toast-icon svg[data-v-f3cb42ff]{width:100%;height:100%}.toast-message[data-v-f3cb42ff]{flex:1;font-size:14px;line-height:1.5;color:var(--color-text, #1a1a1a);word-break:break-word}.toast-info[data-v-f3cb42ff]{border-left-color:var(--color-info, #0078d4);background:linear-gradient(to right,rgba(0,120,212,.08),var(--color-bg-elevated, #fff) 40%)}.toast-info .toast-icon[data-v-f3cb42ff]{color:var(--color-info, #0078d4)}.toast-info .toast-progress-bar[data-v-f3cb42ff]{background:var(--color-info, #0078d4)}.toast-success[data-v-f3cb42ff]{border-left-color:var(--color-success, #107c10);background:linear-gradient(to right,rgba(16,124,16,.08),var(--color-bg-elevated, #fff) 40%)}.toast-success .toast-icon[data-v-f3cb42ff]{color:var(--color-success, #107c10)}.toast-success .toast-progress-bar[data-v-f3cb42ff]{background:var(--color-success, #107c10)}.toast-error[data-v-f3cb42ff]{border-left-color:var(--color-error, #d13438);background:linear-gradient(to right,rgba(209,52,56,.08),var(--color-bg-elevated, #fff) 40%)}.toast-error .toast-icon[data-v-f3cb42ff]{color:var(--color-error, #d13438)}.toast-error .toast-progress-bar[data-v-f3cb42ff]{background:var(--color-error, #d13438)}.toast-progress[data-v-f3cb42ff]{position:absolute;bottom:0;left:0;right:0;height:3px;background:#0000000f}.toast-progress-bar[data-v-f3cb42ff]{height:100%;width:100%;animation:progress-f3cb42ff 5s linear forwards}@keyframes progress-f3cb42ff{0%{width:100%}to{width:0%}}.toast-enter-active[data-v-f3cb42ff]{animation:toast-in-f3cb42ff .3s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-f3cb42ff]{animation:toast-out-f3cb42ff .3s cubic-bezier(.16,1,.3,1)}.toast-move[data-v-f3cb42ff]{transition:transform .3s cubic-bezier(.16,1,.3,1)}.toast-leaving[data-v-f3cb42ff]{animation:toast-leave-up-f3cb42ff .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes toast-in-f3cb42ff{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out-f3cb42ff{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes toast-leave-up-f3cb42ff{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@media (max-width: 480px){.toast-container[data-v-f3cb42ff]{left:16px;right:16px;bottom:16px}.toast-item[data-v-f3cb42ff]{min-width:auto;max-width:none}}[data-theme=dark] .toast-item{background:var(--color-bg-elevated, #2d2d2d);box-shadow:0 4px 16px #00000052,0 1px 4px #0000003d}[data-theme=dark] .toast-info{background:linear-gradient(to right,rgba(0,120,212,.15),var(--color-bg-elevated, #2d2d2d) 40%)}[data-theme=dark] .toast-success{background:linear-gradient(to right,rgba(16,124,16,.15),var(--color-bg-elevated, #2d2d2d) 40%)}[data-theme=dark] .toast-error{background:linear-gradient(to right,rgba(209,52,56,.15),var(--color-bg-elevated, #2d2d2d) 40%)}[data-theme=dark] .toast-progress{background:#ffffff1a}.confirm-overlay[data-v-2db81271]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-confirm);display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--spacing-base)}.confirm-dialog[data-v-2db81271]{width:100%;max-width:400px;background:var(--color-bg-elevated);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0003,0 4px 16px #0000001a;padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;text-align:center}.confirm-icon[data-v-2db81271]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-base)}.confirm-icon svg[data-v-2db81271]{width:28px;height:28px}.confirm-info .confirm-icon[data-v-2db81271]{background:color-mix(in srgb,var(--color-info, #0078d4) 10%,transparent);color:var(--color-info, #0078d4)}.confirm-warning .confirm-icon[data-v-2db81271]{background:color-mix(in srgb,var(--color-warning, #ffaa00) 10%,transparent);color:var(--color-warning, #ffaa00)}.confirm-danger .confirm-icon[data-v-2db81271]{background:color-mix(in srgb,var(--color-error, #d13438) 10%,transparent);color:var(--color-error, #d13438)}.confirm-content[data-v-2db81271]{margin-bottom:var(--spacing-lg)}.confirm-title[data-v-2db81271]{font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm)}.confirm-message[data-v-2db81271]{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.confirm-actions[data-v-2db81271]{display:flex;gap:var(--spacing-sm);width:100%}.confirm-actions .btn[data-v-2db81271]{flex:1;padding:var(--spacing-sm) var(--spacing-base);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-base);cursor:pointer;transition:var(--transition-base)}.confirm-actions .btn-secondary[data-v-2db81271]{background:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border)}.confirm-actions .btn-secondary[data-v-2db81271]:hover{background:var(--color-bg-hover)}.confirm-actions .btn-primary[data-v-2db81271]{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.confirm-actions .btn-primary[data-v-2db81271]:hover{background:var(--color-primary-hover)}.confirm-actions .btn-danger[data-v-2db81271]{background:var(--color-error);color:#fff;border:1px solid var(--color-error)}.confirm-actions .btn-danger[data-v-2db81271]:hover{filter:brightness(.9)}.confirm-fade-enter-active[data-v-2db81271],.confirm-fade-leave-active[data-v-2db81271]{transition:opacity .2s ease}.confirm-fade-enter-from[data-v-2db81271],.confirm-fade-leave-to[data-v-2db81271]{opacity:0}.confirm-scale-enter-active[data-v-2db81271]{animation:confirm-scale-in-2db81271 .25s cubic-bezier(.16,1,.3,1)}.confirm-scale-leave-active[data-v-2db81271]{animation:confirm-scale-out-2db81271 .2s ease}@keyframes confirm-scale-in-2db81271{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes confirm-scale-out-2db81271{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@media (max-width: 480px){.confirm-dialog[data-v-2db81271]{max-width:none;margin:var(--spacing-base);padding:var(--spacing-lg)}.confirm-icon[data-v-2db81271]{width:48px;height:48px}.confirm-icon svg[data-v-2db81271]{width:24px;height:24px}.confirm-actions[data-v-2db81271]{flex-direction:column-reverse}}.hotkeys-overlay[data-v-4114317f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.hotkeys-panel[data-v-4114317f]{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:100%;max-width:520px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.panel-header[data-v-4114317f]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-base) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.panel-title[data-v-4114317f]{display:flex;align-items:center;gap:var(--spacing-sm);margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.panel-title svg[data-v-4114317f]{color:var(--color-primary)}.close-btn[data-v-4114317f]{padding:var(--spacing-xs);border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition-fast)}.close-btn[data-v-4114317f]:hover{background:var(--color-bg-hover);color:var(--color-text)}.panel-body[data-v-4114317f]{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.empty-state[data-v-4114317f]{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-xl)}.hotkeys-list[data-v-4114317f]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.hotkey-category[data-v-4114317f]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.category-title[data-v-4114317f]{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin:0;padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.hotkey-items[data-v-4114317f]{display:flex;flex-direction:column;gap:var(--spacing-xs)}.hotkey-item[data-v-4114317f]{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0}.hotkey-description[data-v-4114317f]{font-size:var(--text-sm);color:var(--color-text)}.hotkey-key[data-v-4114317f]{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;box-shadow:0 1px 0 var(--color-border)}.panel-footer[data-v-4114317f]{padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.hint[data-v-4114317f]{font-size:var(--text-xs);color:var(--color-text-tertiary)}.hint kbd[data-v-4114317f]{display:inline-block;padding:2px 6px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:inherit;margin:0 2px}.modal-enter-active[data-v-4114317f],.modal-leave-active[data-v-4114317f]{transition:opacity .2s ease}.modal-enter-active .hotkeys-panel[data-v-4114317f],.modal-leave-active .hotkeys-panel[data-v-4114317f]{transition:transform .2s ease,opacity .2s ease}.modal-enter-from[data-v-4114317f],.modal-leave-to[data-v-4114317f]{opacity:0}.modal-enter-from .hotkeys-panel[data-v-4114317f],.modal-leave-to .hotkeys-panel[data-v-4114317f]{transform:scale(.95);opacity:0}@media (max-width: 640px){.hotkeys-overlay[data-v-4114317f]{padding:var(--spacing-base)}.hotkeys-panel[data-v-4114317f]{max-height:90vh}.panel-body[data-v-4114317f]{padding:var(--spacing-base)}}.uploader-wrapper[data-v-d04584db]{display:flex;flex-direction:column;gap:var(--spacing-lg)}.uploader[data-v-d04584db]{border:2px dashed var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center;cursor:pointer;transition:var(--transition-base);background:var(--color-bg-secondary)}.uploader[data-v-d04584db]:hover,.uploader.dragging[data-v-d04584db]{border-color:var(--color-primary);background:var(--color-bg-hover)}.uploader[data-v-d04584db]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.upload-icon[data-v-d04584db]{width:64px;height:64px;margin:0 auto var(--spacing-base);color:var(--color-text-tertiary);transition:var(--transition-base)}.uploader:hover .upload-icon[data-v-d04584db],.uploader.dragging .upload-icon[data-v-d04584db]{color:var(--color-primary);transform:translateY(-4px)}.upload-icon svg[data-v-d04584db]{width:100%;height:100%}.upload-text[data-v-d04584db]{margin:0 0 var(--spacing-xs);font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary)}.upload-sub[data-v-d04584db]{margin:0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.preview-list[data-v-d04584db]{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.preview-header[data-v-d04584db]{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-base);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.preview-title[data-v-d04584db]{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary)}.btn-clear[data-v-d04584db]{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-base);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.btn-clear[data-v-d04584db]:hover{border-color:var(--color-primary);color:var(--color-primary)}.preview-item[data-v-d04584db]{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-base);border-bottom:1px solid var(--color-border-light);transition:var(--transition-fast)}.preview-item[data-v-d04584db]:last-child{border-bottom:none}.preview-item[data-v-d04584db]:hover{background:var(--color-bg-hover)}.preview-thumb[data-v-d04584db]{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-base);flex-shrink:0;border:1px solid var(--color-border-light)}.preview-info[data-v-d04584db]{flex:1;min-width:0}.preview-name[data-v-d04584db]{font-size:var(--text-sm);font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--spacing-xs)}.progress-bar[data-v-d04584db]{height:6px;background:var(--color-bg-tertiary);border-radius:3px;overflow:hidden}.progress-fill[data-v-d04584db]{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:width .2s ease;border-radius:3px}.status-success[data-v-d04584db],.status-error[data-v-d04584db]{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-xs)}.status-success[data-v-d04584db]{color:var(--color-success)}.compression-info[data-v-d04584db]{color:var(--color-text-secondary);font-size:var(--text-xs)}.status-error[data-v-d04584db]{color:var(--color-error)}.status-success svg[data-v-d04584db],.status-error svg[data-v-d04584db]{width:14px;height:14px}.btn-remove[data-v-d04584db]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-base);color:var(--color-text-tertiary);cursor:pointer;flex-shrink:0;transition:var(--transition-fast)}.btn-remove svg[data-v-d04584db]{width:16px;height:16px}.btn-remove[data-v-d04584db]:hover:not(:disabled){background:#ef44441a;color:var(--color-error)}.btn-remove[data-v-d04584db]:disabled{cursor:not-allowed;opacity:.5}.select-dropdown[data-v-52ca1c3c]{position:relative;display:inline-block}.select-trigger[data-v-52ca1c3c]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-base);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);cursor:pointer;transition:var(--transition-fast)}.select-trigger[data-v-52ca1c3c]:hover{border-color:var(--color-border-hover)}.select-trigger.active[data-v-52ca1c3c]{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-bg)}.select-value[data-v-52ca1c3c]{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-arrow[data-v-52ca1c3c]{flex-shrink:0;color:var(--color-text-tertiary);transition:transform .2s ease}.select-arrow.open[data-v-52ca1c3c]{transform:rotate(180deg)}.select-menu[data-v-52ca1c3c]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100;max-height:240px;overflow-y:auto}.select-option[data-v-52ca1c3c]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-base);border:none;background:transparent;color:var(--color-text);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:var(--transition-fast);white-space:nowrap}.select-option[data-v-52ca1c3c]:hover{background:var(--color-bg-hover)}.select-option.selected[data-v-52ca1c3c]{color:var(--color-primary);background:var(--color-primary-bg)}.select-option svg[data-v-52ca1c3c]{flex-shrink:0;color:var(--color-primary)}.dropdown-enter-active[data-v-52ca1c3c],.dropdown-leave-active[data-v-52ca1c3c]{transition:opacity .15s ease,transform .15s ease}.dropdown-enter-from[data-v-52ca1c3c],.dropdown-leave-to[data-v-52ca1c3c]{opacity:0;transform:translateY(-4px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9000;display:flex;align-items:center;justify-content:center}.modal{background:var(--color-bg-elevated);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-base);border-bottom:1px solid var(--color-border)}.modal-header h3{margin:0;font-size:var(--text-lg);color:var(--color-text)}.modal-close{border:none;background:transparent;font-size:24px;color:var(--color-text-tertiary);cursor:pointer}.modal-body{padding:var(--spacing-base)}.upload-modal{max-width:600px}.upload-options{margin-bottom:var(--spacing-base)}.upload-option{display:flex;align-items:center;gap:var(--spacing-sm)}.upload-option label{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.upload-limit-info{margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-secondary);border-radius:var(--radius-sm)}.upload-limit-info.limit-reached{color:var(--color-danger);background:var(--color-danger-bg, rgba(239, 68, 68, .1))}*,:before,:after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / .5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.visible,[visible=""]{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.z0{z-index:0}.grid{display:grid}[rows~="3"]{grid-template-rows:repeat(3,minmax(0,1fr))}[rows~="4"]{grid-template-rows:repeat(4,minmax(0,1fr))}.block{display:block}.inline-block{display:inline-block}.hidden,[hidden=""]{display:none}.h1,[h1=""]{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.h4{height:1rem}.flex{display:flex}.inline-flex{display:inline-flex}.flex-shrink{flex-shrink:1}.flex-wrap{flex-wrap:wrap}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotate(var(--un-rotate-z)) skew(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize,[resize=""]{resize:both}.break-all{word-break:break-all}.border{border-width:1px}[stroke-width~="1.5"]{stroke-width:1.5px}[stroke-width~="2"]{stroke-width:2px}[stroke-width~="3"]{stroke-width:3px}[stroke-width~="8"]{stroke-width:8px}.px,[px=""]{padding-left:1rem;padding-right:1rem}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.outline{outline-style:solid}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia);backdrop-filter:var(--un-backdrop-blur) var(--un-backdrop-brightness) var(--un-backdrop-contrast) var(--un-backdrop-grayscale) var(--un-backdrop-hue-rotate) var(--un-backdrop-invert) var(--un-backdrop-opacity) var(--un-backdrop-saturate) var(--un-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease,.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root,[data-theme=light]{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-secondary: #8b5cf6;--color-accent: #f59e0b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-elevated: #ffffff;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-border-hover: #cbd5e1;--color-bg-hover: rgba(59, 130, 246, .05);--color-primary-bg: rgba(59, 130, 246, .08);--color-danger-bg: rgba(239, 68, 68, .1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--header-bg: rgba(255, 255, 255, .8)}[data-theme=dark]{--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-secondary: #a78bfa;--color-accent: #fbbf24;--color-success: #34d399;--color-warning: #fbbf24;--color-error: #f87171;--color-info: #60a5fa;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-bg-elevated: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-light: #1e293b;--color-border-hover: #475569;--color-bg-hover: rgba(96, 165, 250, .1);--color-primary-bg: rgba(96, 165, 250, .12);--color-danger-bg: rgba(248, 113, 113, .1);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-base: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .4);--header-bg: rgba(15, 23, 42, .8)}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-base: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-2xl: 4rem;--spacing-3xl: 6rem;--radius-sm: .25rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: all .15s ease-in-out;--transition-base: all .3s ease-in-out;--transition-slow: all .5s ease-in-out;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 9000;--z-confirm: 10000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-y:scroll}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);transition:var(--transition-base)}a{text-decoration:none;color:inherit}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:var(--transition-base)!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background-color:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background-color:var(--color-border-hover);border-radius:var(--radius-base)}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-base);font-size:var(--text-base);font-weight:500;line-height:1.5;border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:var(--transition-fast);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-sm)}.btn-lg{padding:var(--spacing-base) var(--spacing-md);font-size:var(--text-lg)}.btn-primary{color:var(--color-text-inverse);background-color:var(--color-primary);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{color:var(--color-text);background-color:var(--color-bg-secondary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-tertiary);border-color:var(--color-border-hover)}.btn-outline{color:var(--color-primary);background-color:transparent;border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){color:var(--color-text-inverse);background-color:var(--color-primary)}.btn-ghost{color:var(--color-text-secondary);background-color:transparent;border-color:transparent}.btn-ghost:hover:not(:disabled){color:var(--color-text);background-color:var(--color-bg-secondary)}.btn-danger{color:var(--color-text-inverse);background-color:var(--color-error);border-color:var(--color-error)}.btn-danger:hover:not(:disabled){opacity:.9}.card{background-color:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-base);transition:var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{padding-bottom:var(--spacing-base);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-base)}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text)}.card-body{color:var(--color-text-secondary)}.card-footer{padding-top:var(--spacing-base);border-top:1px solid var(--color-border);margin-top:var(--spacing-base)}.input{width:100%;padding:var(--spacing-sm) var(--spacing-base);font-size:var(--text-base);line-height:1.5;color:var(--color-text);background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.input:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-secondary)}.input::placeholder{color:var(--color-text-tertiary)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text)}.input-hint{font-size:var(--text-xs);color:var(--color-text-tertiary)}.input-error-message{font-size:var(--text-xs);color:var(--color-error)}select,.select{width:100%;padding:var(--spacing-sm) var(--spacing-base);padding-right:2.5rem;font-size:var(--text-sm);font-family:inherit;line-height:1.5;color:var(--color-text);background-color:var(--color-bg-elevated);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);appearance:none;-webkit-appearance:none;-moz-appearance:none}select:hover,.select:hover{border-color:var(--color-border-hover);background-color:var(--color-bg-secondary)}select:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;background-color:var(--color-bg-elevated)}select:disabled,.select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-tertiary)}[data-theme=dark] select,[data-theme=dark] .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")}select.select-sm,.select-sm{padding:var(--spacing-xs) var(--spacing-sm);padding-right:2rem;font-size:var(--text-xs);background-position:right .5rem center;background-size:.875rem}select option{padding:var(--spacing-sm) var(--spacing-base);background-color:var(--color-bg-elevated);color:var(--color-text)}select option:hover,select option:focus,select option:checked{background-color:var(--color-primary);color:var(--color-text-inverse)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-base)}.container-sm{max-width:640px}.container-md{max-width:768px}.container-lg{max-width:1024px}.container-xl{max-width:1280px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .3s ease-in-out}.animate-fade-in-up{animation:fadeInUp .3s ease-in-out}.animate-pulse{animation:pulse 2s ease-in-out infinite}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}@media (max-width: 639px){.hide-sm-down{display:none!important}}@media (max-width: 767px){.hide-md-down{display:none!important}}@media (max-width: 1023px){.hide-lg-down{display:none!important}}@media (min-width: 640px){.hide-sm-up{display:none!important}}@media (min-width: 768px){.hide-md-up{display:none!important}}@media (min-width: 1024px){.hide-lg-up{display:none!important}}@media (max-width: 767px){.main-content{padding:var(--spacing-base) var(--spacing-sm)}.page-title{font-size:var(--text-xl)!important}.btn-group-responsive{flex-direction:column;width:100%}.btn-group-responsive .btn{width:100%}}.grid-responsive{display:grid;gap:var(--spacing-base)}@media (max-width: 639px){.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (min-width: 640px) and (max-width: 1023px){.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (min-width: 1024px){.grid-responsive{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width: 767px){.table-responsive{display:block}.table-responsive thead{display:none}.table-responsive tbody{display:flex;flex-direction:column;gap:var(--spacing-sm)}.table-responsive tr{display:flex;flex-direction:column;padding:var(--spacing-base);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.table-responsive td{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;border:none}.table-responsive td:before{content:attr(data-label);font-weight:500;color:var(--color-text-secondary)}}@media (max-width: 639px){.modal{margin:var(--spacing-base);max-height:calc(100vh - var(--spacing-xl));overflow-y:auto}.modal-overlay{align-items:flex-end;padding:0}.modal-fullscreen-mobile{margin:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;width:100%;max-width:none}}@media (hover: none) and (pointer: coarse){.btn{min-height:44px}.nav-link{min-height:44px;min-width:44px}.btn:hover,.card-hover:hover,.nav-link:hover{transform:none}}@supports (padding: max(0px)){.safe-area-top{padding-top:max(var(--spacing-base),env(safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(var(--spacing-base),env(safe-area-inset-bottom))}.safe-area-left{padding-left:max(var(--spacing-base),env(safe-area-inset-left))}.safe-area-right{padding-right:max(var(--spacing-base),env(safe-area-inset-right))}}.mobile-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:none;padding:var(--spacing-sm) var(--spacing-base);padding-bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));background:var(--color-bg-elevated);border-top:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:var(--z-fixed)}@media (max-width: 767px){.mobile-bottom-bar{display:flex;justify-content:space-around;align-items:center}.has-bottom-bar{padding-bottom:70px}}@media (max-width: 639px){.text-responsive-sm{font-size:var(--text-sm)}.text-responsive-base{font-size:var(--text-base)}}@media (max-height: 500px) and (orientation: landscape){.app-header,.header-content{height:48px}.modal{max-height:90vh}}
