.toast-container[data-v-9f858043]{position:fixed;top:80px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast[data-v-9f858043]{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;pointer-events:auto;min-width:300px;max-width:440px;font-size:13px;font-weight:500;position:relative;overflow:hidden;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.toast-success[data-v-9f858043]{background:#10b981eb;color:#fff}.toast-error[data-v-9f858043]{background:#ef4444eb;color:#fff}.toast-warning[data-v-9f858043]{background:#f59e0beb;color:#fff}.toast-info[data-v-9f858043]{background:#6366f1eb;color:#fff}.toast-icon-wrap[data-v-9f858043]{display:flex;flex-shrink:0;opacity:.9}.toast-msg[data-v-9f858043]{flex:1;line-height:1.5;white-space:pre-wrap;word-break:break-word}.toast-close[data-v-9f858043]{background:#fff3;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:6px;display:flex;flex-shrink:0;transition:background .15s}.toast-close[data-v-9f858043]:hover{background:#ffffff59}.toast-retry[data-v-9f858043]{background:#fff3;border:none;color:inherit;cursor:pointer;padding:4px;border-radius:6px;display:flex;flex-shrink:0;transition:background .15s}.toast-retry[data-v-9f858043]:hover{background:#ffffff73}.toast-progress[data-v-9f858043]{position:absolute;bottom:0;left:0;right:0;height:3px;background:#fff3}.toast-progress-bar[data-v-9f858043]{height:100%;background:#fff9;animation:toastProgress-9f858043 3.5s linear forwards}.toast-progress-error[data-v-9f858043]{animation-duration:8s}.toast-progress-warning[data-v-9f858043]{animation-duration:5s}@keyframes toastProgress-9f858043{0%{width:100%}to{width:0%}}.toast-enter-active[data-v-9f858043]{transition:all .4s cubic-bezier(.16,1,.3,1)}.toast-leave-active[data-v-9f858043]{transition:all .25s ease-in;position:absolute}.toast-enter-from[data-v-9f858043]{opacity:0;transform:translate(80px) scale(.9)}.toast-leave-to[data-v-9f858043]{opacity:0;transform:translate(80px) scale(.95)}@media(max-width:480px){.toast-container[data-v-9f858043]{right:12px;left:12px}.toast[data-v-9f858043]{min-width:unset;max-width:100%}}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .08), 0 2px 6px rgba(0, 0, 0, .04);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .1), 0 4px 12px rgba(0, 0, 0, .05);--shadow-xl: 0 24px 64px rgba(0, 0, 0, .14);--shadow-glow: 0 0 32px rgba(99, 102, 241, .12);--color-primary: #6366F1;--color-primary-light: #818CF8;--color-primary-hover: #4F46E5;--color-primary-active: #4338CA;--color-primary-bg: #EEF2FF;--color-primary-bg-hover: #E0E7FF;--color-accent: #F59E0B;--color-accent-light: #FCD34D;--color-accent-bg: #FFFBEB;--color-success: #10B981;--color-success-light: #34D399;--color-success-bg: #D1FAE5;--color-success-border: #A7F3D0;--color-warning: #F59E0B;--color-warning-light: #FBBF24;--color-warning-bg: #FEF3C7;--color-warning-border: #FDE68A;--color-danger: #EF4444;--color-danger-light: #F87171;--color-danger-bg: #FEE2E2;--color-danger-border: #FECACA;--color-info: #3B82F6;--color-info-light: #60A5FA;--color-info-bg: #DBEAFE;--color-info-border: #BFDBFE;--color-bg: #F1F5F9;--color-bg-subtle: #F8FAFC;--color-bg-card: #FFFFFF;--color-bg-elevated: #FFFFFF;--color-bg-hover: #EEF2FF;--color-bg-overlay: rgba(15, 23, 42, .45);--color-border: #E2E8F0;--color-border-light: #F1F5F9;--color-border-hover: #CBD5E1;--color-text: #0F172A;--color-text-secondary: #475569;--color-text-tertiary: #94A3B8;--color-text-placeholder: #CBD5E1;--color-text-inverse: #FFFFFF;--gradient-primary: linear-gradient(135deg, #6366F1 0%, #8B5CF6 100%);--gradient-primary-hover: linear-gradient(135deg, #4F46E5 0%, #7C3AED 100%);--gradient-accent: linear-gradient(135deg, #F59E0B 0%, #F97316 100%);--gradient-success: linear-gradient(135deg, #10B981 0%, #059669 100%);--gradient-warm: linear-gradient(135deg, #F97316 0%, #F59E0B 100%);--gradient-dark: linear-gradient(135deg, #1E293B 0%, #334155 100%);--gradient-hero: linear-gradient(135deg, #EEF2FF 0%, #F8FAFC 40%, #EDE9FE 100%);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: .15s var(--ease-out);--transition-base: .25s var(--ease-out);--transition-slow: .4s var(--ease-out);--font-family: "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Cascadia Code", monospace;--font-size-caption: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.7;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0em;--letter-spacing-wide: .02em;--header-height: 64px;--sidebar-width: 280px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}img,svg,video{display:block;max-width:100%}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}::selection{background:#6366f133;color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{color:var(--color-text);line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}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)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-base)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#94a3b8}*{scrollbar-width:thin;scrollbar-color:#CBD5E1 transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;position:relative;overflow:hidden;user-select:none}.btn-primary{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:0 2px 8px #6366f140}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f159;background:var(--gradient-primary-hover)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);color:var(--color-primary);border-color:var(--color-primary-light)}.btn-secondary:active{transform:scale(.98)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-bg);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-sm{padding:6px 12px;font-size:var(--font-size-xs);border-radius:var(--radius-xs)}.btn-lg{padding:14px 28px;font-size:var(--font-size-md);border-radius:var(--radius-md)}.btn-loading{position:relative;pointer-events:none;opacity:.8;cursor:wait}.btn-loading:before{content:"";display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite;flex-shrink:0;margin-right:4px}.btn-secondary.btn-loading:before,.btn-ghost.btn-loading:before{border-color:#0000001a;border-top-color:var(--color-primary)}.btn-sm.btn-loading:before{width:13px;height:13px;border-width:1.5px}.btn-lg.btn-loading:before{width:18px;height:18px}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light);transition:all var(--transition-base)}.card-hoverable:hover{transform:translateY(-2px);border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card-padded{padding:var(--spacing-lg)}.input{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-bg-subtle);outline:none;transition:all var(--transition-fast)}.input:hover{border-color:var(--color-border-hover)}.input:focus{border-color:var(--color-primary);background:var(--color-bg-card);box-shadow:0 0 0 3px #6366f11a}.input::placeholder{color:var(--color-text-placeholder)}.input:disabled{opacity:.5;cursor:not-allowed}.tab-content{background:var(--color-bg-card);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm)}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.tab-header h3{margin:0;font-size:var(--font-size-lg);color:var(--color-text)}.search-bar{display:flex;gap:10px;align-items:center}.search-bar input,.search-bar select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text);background:var(--color-bg-card);transition:all var(--transition-fast);outline:none}.search-bar input:focus,.search-bar select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.search-bar input[type=text]{padding:8px 12px 8px 36px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:10px center;background-size:16px;background-repeat:no-repeat}.search-bar input::placeholder{color:var(--color-text-placeholder)}.search-btn,.create-btn{padding:8px 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base);display:inline-flex;align-items:center;gap:6px}.search-btn{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #6366f133}.search-btn:hover{background:var(--color-primary-hover);box-shadow:0 4px 12px #6366f14d;transform:translateY(-1px)}.create-btn{background:var(--gradient-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.create-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th,.data-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.data-table thead tr:first-child th:first-child{border-top-left-radius:var(--radius-sm)}.data-table thead tr:first-child th:last-child{border-top-right-radius:var(--radius-sm)}.data-table th{background:var(--color-bg-subtle);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:10px 14px;border-bottom:1px solid var(--color-border)}.data-table tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-subtle)}.data-table tbody tr:last-child td{border-bottom:none}.role-badge{padding:2px 8px;border-radius:4px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.2px;border:1px solid transparent}.role-badge.super_admin{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.role-badge.group_leader{background:var(--color-warning-bg);color:#b45309;border-color:var(--color-warning-border)}.role-badge.normal_user{background:var(--color-success-bg);color:#16a34a;border-color:var(--color-success-border)}.status-badge{padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.2px;border:1px solid transparent;display:inline-flex;align-items:center;gap:6px}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.status-badge.active{background:var(--color-success-bg);color:#16a34a;border-color:var(--color-success-border)}.status-badge.active:before{background:var(--color-success)}.status-badge.disabled{background:var(--color-bg-subtle);color:var(--color-text-tertiary);border-color:var(--color-border)}.status-badge.disabled:before{background:var(--color-text-tertiary)}.status-badge.deactivated{background:var(--color-primary-bg);color:var(--color-primary-hover);border-color:#c7d2fe}.status-badge.deactivated:before{background:var(--color-primary)}.action-btn{padding:5px 10px;border:none;border-radius:6px;cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1}.action-btn:hover{transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.action-btn:not(.primary):not(.danger):not(.warning):not(.success){background:var(--color-bg-subtle);color:var(--color-text-secondary);border:1px solid var(--color-border)}.action-btn:not(.primary):not(.danger):not(.warning):not(.success):hover{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border-hover);box-shadow:var(--shadow-xs)}.action-btn.primary{background:var(--color-primary);color:#fff;box-shadow:0 2px 4px #6366f133}.action-btn.primary:hover{background:var(--color-primary-hover);box-shadow:0 3px 8px #6366f14d}.action-btn.primary:active{background:var(--color-primary-active)}.action-btn.danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}.action-btn.danger:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c;box-shadow:0 2px 6px #ef44441f}.action-btn.warning{background:#fff7ed;color:#ea580c;border:1px solid #FED7AA}.action-btn.warning:hover{background:#ffedd5;border-color:#fdba74;color:#c2410c;box-shadow:0 2px 6px #ea580c1f}.action-btn.success{background:var(--color-success-bg);color:#16a34a;border:1px solid var(--color-success-border)}.action-btn.success:hover{background:#dcfce7;border-color:#86efac;color:#15803d;box-shadow:0 2px 6px #16a34a1f}.action-cell{display:flex;gap:6px;flex-wrap:wrap;align-items:center;min-height:30px}.action-placeholder{display:inline-block;min-height:28px}.pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px;padding:16px 0}.pagination button{padding:6px 14px;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:var(--radius-xs);cursor:pointer;font-size:var(--font-size-xs);color:var(--color-text);transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0;color:var(--color-text-tertiary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border-light);border-top-color:var(--color-primary);border-radius:50%;animation:spin-slow .8s linear infinite;margin-bottom:12px}.empty-state-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 0}.empty-icon-wrap{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:16px;background:var(--color-bg-subtle);border-radius:var(--radius-md);border:1.5px dashed var(--color-border)}.empty-icon-wrap svg{opacity:.5}.empty-main-text{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:6px;text-align:center}.empty-hint{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 0}.modal-overlay{position:fixed;inset:0;background:var(--color-bg-overlay);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeInScale .2s var(--ease-out)}.modal-content{background:var(--color-bg-card);border-radius:var(--radius-md);width:90%;max-width:500px;max-height:80vh;overflow:hidden;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--color-border-light)}.modal-header h3{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.modal-header .close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:var(--color-text-tertiary);padding:4px;border-radius:var(--radius-xs);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.modal-header .close-btn:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:20px;max-height:50vh;overflow-y:auto}.modal-body label{display:block;margin-bottom:8px;font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--font-size-sm)}.modal-body input,.modal-body select,.modal-body textarea{width:100%;padding:10px 12px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:15px;outline:none;transition:all var(--transition-fast);color:var(--color-text);background:var(--color-bg-subtle)}.modal-body input:focus,.modal-body select:focus,.modal-body textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a;background:var(--color-bg-card)}.modal-body textarea{min-height:80px;resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid var(--color-border-light)}.cancel-btn,.confirm-btn{padding:10px 20px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all var(--transition-base)}.cancel-btn{background:var(--color-bg);color:var(--color-text-secondary)}.cancel-btn:hover{background:var(--color-border)}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn{background:var(--gradient-primary);color:#fff;display:inline-flex;align-items:center;gap:6px}.confirm-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.confirm-btn:disabled{opacity:.6;cursor:not-allowed}.btn-loading-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-slow .6s linear infinite}.reassign-info{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:16px}.reassign-info p{margin:4px 0;font-size:var(--font-size-sm);color:#92400e;line-height:1.5}.reassign-info strong{color:#78350f}.token-status{padding:2px 8px;border-radius:4px;font-size:var(--font-size-caption);font-weight:var(--font-weight-semibold);letter-spacing:.2px;border:1px solid transparent;display:inline-flex;align-items:center;gap:4px}.token-status.active{background:var(--color-success-bg);color:#16a34a;border-color:var(--color-success-border)}.token-status.inactive{background:var(--color-bg-subtle);color:var(--color-text-tertiary);border-color:var(--color-border)}input[type=date]::-webkit-datetime-edit{color:var(--color-text)}input[type=date]::-webkit-datetime-edit-fields-wrapper{background:transparent}input[type=date]::-webkit-datetime-edit-year-field,input[type=date]::-webkit-datetime-edit-month-field,input[type=date]::-webkit-datetime-edit-day-field{color:var(--color-text)}input[type=date]::-webkit-datetime-edit-text{color:var(--color-text-tertiary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #6366f166}50%{box-shadow:0 0 0 8px #6366f100}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.85}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35px}to{stroke-dasharray:90,200;stroke-dashoffset:-124px}}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out) both}.animate-fade-in-down{animation:fadeInDown .4s var(--ease-out) both}.animate-fade-in-scale{animation:fadeInScale .35s var(--ease-out) both}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.15) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.delay-0{animation-delay:0s}.delay-1{animation-delay:.08s}.delay-2{animation-delay:.16s}.delay-3{animation-delay:.24s}.delay-4{animation-delay:.32s}.delay-5{animation-delay:.4s}.delay-6{animation-delay:.48s}.page-enter-active{transition:all .35s var(--ease-out)}.page-leave-active{transition:all .2s ease-in}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-8px)}.hover-lift{transition:transform .25s var(--ease-out),box-shadow .25s var(--ease-out)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-lift:active{transform:translateY(0)}.hover-glow:hover{box-shadow:0 0 20px #6366f126}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f140}.skeleton{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-bg-card) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.card-overlay{position:relative;overflow:hidden}.card-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.05) 50%,transparent 100%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card-overlay:hover:after{opacity:1}.glass{background:#ffffffb8;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}.glass-dark{background:#0f172abf;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%)}.gradient-border{position:relative;background:var(--color-bg-card);border-radius:var(--radius-lg)}.gradient-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--gradient-primary);z-index:-1;opacity:0;transition:opacity .3s ease}.gradient-border:hover:before{opacity:1}.pressable:active{transform:scale(.97);transition:transform .1s ease}.app-icon[data-v-4c372818]{display:inline-flex;flex-shrink:0;vertical-align:middle}.app-icon-fallback[data-v-4c372818]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
