.offline-banner[data-v-07279c1f]{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}#app-root{min-height:100vh;min-height:100dvh}.slide-down-enter-active,.slide-down-leave-active{transition:transform var(--transition-normal),opacity var(--transition-normal)}.slide-down-enter-from,.slide-down-leave-to{transform:translateY(-100%);opacity:0}:root{--glass-bg: rgba(255, 255, 255, .72);--glass-bg-light: rgba(255, 255, 255, .5);--glass-bg-strong: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .4);--glass-border-light: rgba(255, 255, 255, .2);--glass-shadow: 0 8px 32px rgba(99, 102, 241, .12);--glass-shadow-lg: 0 16px 48px rgba(99, 102, 241, .16);--glass-blur: blur(20px);--glass-blur-light: blur(12px);--bg-gradient: linear-gradient(135deg, #f0f4ff 0%, #e0e7ff 50%, #f5f3ff 100%);--bg-gradient-soft: linear-gradient(180deg, #f8faff 0%, #f0f4ff 100%);--bg-gradient-accent: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--orb-gradient-1: radial-gradient(circle, rgba(99, 102, 241, .3) 0%, transparent 70%);--orb-gradient-2: radial-gradient(circle, rgba(139, 92, 246, .25) 0%, transparent 70%);--orb-gradient-3: radial-gradient(circle, rgba(236, 72, 153, .2) 0%, transparent 70%);--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-lighter: rgba(99, 102, 241, .1);--color-primary-dark: #4f46e5;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-secondary: #8b5cf6;--color-secondary-light: #a78bfa;--color-secondary-dark: #7c3aed;--color-accent: #ec4899;--color-accent-light: #f472b6;--color-accent-dark: #db2777;--color-success: #10b981;--color-success-light: rgba(16, 185, 129, .1);--color-success-bg: #ecfdf5;--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .1);--color-warning-bg: #fffbeb;--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .1);--color-error-bg: #fef2f2;--color-info: #3b82f6;--color-info-light: rgba(59, 130, 246, .1);--color-info-bg: #eff6ff;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--bg-primary: var(--bg-gradient);--bg-secondary: #f9fafb;--bg-card: var(--glass-bg);--bg-input: rgba(255, 255, 255, .8);--bg-hover: rgba(99, 102, 241, .08);--bg-active: rgba(99, 102, 241, .12);--text-primary: #1f2937;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-inverse: #ffffff;--text-link: #6366f1;--border-light: rgba(0, 0, 0, .06);--border-medium: rgba(0, 0, 0, .1);--border-focus: var(--color-primary);--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-0: 0;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.25rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--header-height: 56px;--bottom-nav-height: 64px;--content-padding: var(--spacing-4);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-toast: 1080;--z-bottom-nav: 1000;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--focus-ring: 0 0 0 3px rgba(99, 102, 241, .3)}@media(prefers-color-scheme:dark){:root.auto-dark{--glass-bg: rgba(30, 30, 40, .75);--glass-border: rgba(255, 255, 255, .1);--bg-gradient: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #1a1a2e 100%);--text-primary: #f3f4f6;--text-secondary: #d1d5db}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--bg-gradient);min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;min-height:100dvh}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:inherit;font-size:inherit;outline:none;border:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::selection{background-color:var(--color-primary-200);color:var(--color-primary-700)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-normal) ease-out}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.w-full{width:100%}.glass-card{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow)}.glass-card-light{background:var(--glass-bg-light);backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light);border:1px solid var(--glass-border-light);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow)}.glass-card-strong{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-xl);transition:all var(--transition-normal);cursor:pointer;white-space:nowrap}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--bg-gradient-accent);color:var(--text-inverse);box-shadow:0 4px 14px #6366f159}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #6366f173}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--glass-bg);backdrop-filter:var(--glass-blur-light);-webkit-backdrop-filter:var(--glass-blur-light);color:var(--text-primary);border:1px solid var(--glass-border)}.btn-secondary:hover:not(:disabled){background:var(--glass-bg-strong);border-color:var(--color-primary-200)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--color-error);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-lg)}.btn-icon-sm{width:32px;height:32px;padding:0;border-radius:var(--radius-md)}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs);border-radius:var(--radius-lg)}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base);border-radius:var(--radius-xl)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.form-input{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-xl);transition:all var(--transition-fast)}.form-input:focus{background:var(--color-white);border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-input.error{border-color:var(--color-error)}.form-input.error:focus{box-shadow:0 0 0 3px #ef444433}.form-error{font-size:var(--font-size-xs);color:var(--color-error)}.form-hint{font-size:var(--font-size-xs);color:var(--text-muted)}.input-group{position:relative}.input-icon{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.input-icon-right{position:absolute;right:var(--spacing-4);top:50%;transform:translateY(-50%);color:var(--text-muted)}.input-group .form-input{padding-left:calc(var(--spacing-4) + 24px)}.input-group .form-input.has-icon-right{padding-right:calc(var(--spacing-4) + 24px)}.form-checkbox{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full)}.badge-primary{background:var(--color-primary-lighter);color:var(--color-primary)}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-error{background:var(--color-error-light);color:var(--color-error)}.badge-gray{background:var(--color-gray-100);color:var(--color-gray-600)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full)}.status-dot.online{background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-light)}.status-dot.offline{background:var(--color-gray-400)}.status-dot.busy{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-light)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-gradient-accent);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-xs)}.avatar-lg{width:56px;height:56px;font-size:var(--font-size-lg)}.list-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--glass-bg-light);border-radius:var(--radius-xl);transition:all var(--transition-fast)}.list-item:hover{background:var(--glass-bg)}.list-item:active{transform:scale(.98)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12) var(--spacing-4);text-align:center}.empty-state-icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:var(--spacing-4)}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:280px}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 0%,var(--color-gray-50) 50%,var(--color-gray-100) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.offline-banner{position:fixed;top:0;left:0;right:0;padding:var(--spacing-2) var(--spacing-4);background:var(--color-warning);color:var(--text-inverse);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);z-index:var(--z-toast);animation:slideDown var(--transition-normal) ease-out}.pull-indicator{display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);color:var(--text-muted)}.fab{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--spacing-4) + var(--safe-area-bottom));right:var(--spacing-4);width:56px;height:56px;border-radius:var(--radius-full);background:var(--bg-gradient-accent);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #6366f166;transition:all var(--transition-normal);z-index:var(--z-fixed)}.fab:hover{transform:scale(1.05);box-shadow:0 6px 24px #6366f180}.fab:active{transform:scale(.95)}.tabs{display:flex;gap:var(--spacing-1);padding:var(--spacing-1);background:var(--glass-bg-light);border-radius:var(--radius-xl)}.tab{flex:1;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-align:center;border-radius:var(--radius-lg);transition:all var(--transition-fast)}.tab.active{background:var(--color-white);color:var(--color-primary);box-shadow:var(--glass-shadow)}.tab:hover:not(.active){color:var(--text-primary)}.divider{display:flex;align-items:center;gap:var(--spacing-4);color:var(--text-muted);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.glass-toast{background:var(--glass-bg-strong)!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow-lg)!important}.glass-alert{background:var(--glass-bg-strong)!important;backdrop-filter:var(--glass-blur)!important;-webkit-backdrop-filter:var(--glass-blur)!important;border:1px solid var(--glass-border)!important;box-shadow:var(--glass-shadow-lg)!important;border-radius:var(--radius-2xl)!important}.glass-alert .swal2-title{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.glass-alert .swal2-html-container{color:var(--text-secondary)}.glass-alert .swal2-confirm{background:var(--bg-gradient-accent)!important;border-radius:var(--radius-xl)!important;padding:var(--spacing-2) var(--spacing-5)!important;font-weight:var(--font-weight-medium)!important}.glass-alert .swal2-cancel{background:var(--glass-bg)!important;backdrop-filter:var(--glass-blur-light)!important;-webkit-backdrop-filter:var(--glass-blur-light)!important;color:var(--text-primary)!important;border:1px solid var(--glass-border)!important;border-radius:var(--radius-xl)!important;padding:var(--spacing-2) var(--spacing-5)!important;font-weight:var(--font-weight-medium)!important}
