@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.spinner-sm{width:16px;height:16px;border-width:2px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{background:linear-gradient(90deg,var(--surface-hover),var(--surface),var(--surface-hover));background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;height:12px;border-radius:6px}.app-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden}.layout-body{display:flex;flex:1;overflow:hidden}.app-header{background:var(--surface);border-bottom:1px solid var(--border-light);box-shadow:var(--shadow-sm);z-index:1000;position:relative}.header-container{display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px;max-width:none}.header-brand{display:flex;align-items:center;gap:12px}.logo svg{width:32px;height:32px}.brand-text{display:flex;flex-direction:column}.brand-title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;line-height:1}.brand-subtitle{font-size:12px;color:var(--text-secondary);font-weight:500}.header-nav{display:flex;gap:8px}.nav-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;background:none;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all .2s ease}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-bg);color:var(--accent)}.nav-icon{font-size:16px}.nav-label{font-size:14px}.header-actions{display:flex;align-items:center;gap:12px}.action-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.action-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.notifications{position:relative}.notification-badge{position:absolute;top:-2px;right:-2px;background:var(--danger);color:#fff;font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;min-width:16px;text-align:center}.user-menu-container{position:relative}.user-profile{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:none;border:none;cursor:pointer;transition:all .2s ease}.user-profile:hover{background:var(--surface-hover)}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.user-info{display:flex;flex-direction:column;align-items:flex-start}.user-name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1}.user-role{font-size:12px;color:var(--text-secondary);line-height:1}.dropdown-arrow{font-size:10px;color:var(--text-tertiary);transition:transform .2s ease}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface);border:1px solid var(--border-light);border-radius:12px;box-shadow:var(--shadow-lg);min-width:200px;z-index:1000;overflow:hidden}.dropdown-header{padding:16px;background:var(--surface-hover)}.dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;color:var(--text-primary);cursor:pointer;transition:background .2s ease}.dropdown-item:hover{background:var(--surface-hover)}.dropdown-item.logout{color:var(--danger)}.dropdown-divider{height:1px;background:var(--border-light);margin:4px 0}.sidebar{width:280px;background:var(--surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;transition:width .3s ease;overflow:hidden}.sidebar.collapsed{width:64px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-light)}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.sidebar-toggle:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-brand{display:flex;align-items:center;gap:8px}.brand-icon{font-size:20px}.brand-text{font-size:16px;font-weight:600;color:var(--text-primary)}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto}.nav-section{margin-bottom:24px}.section-title{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px 16px}.nav-items{list-style:none;margin:0;padding:0}.nav-item{margin:0 8px 4px}.nav-link{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border-radius:8px;background:none;border:none;text-align:left;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.nav-link:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-link.active{background:var(--accent-bg);color:var(--accent)}.nav-content{display:flex;flex-direction:column;flex:1}.nav-label{font-size:14px;font-weight:500;line-height:1}.nav-description{font-size:12px;color:var(--text-tertiary);line-height:1;margin-top:2px}.active-indicator{position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--accent);border-radius:0 2px 2px 0}.sidebar-footer{padding:16px;border-top:1px solid var(--border-light)}.user-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-hover);border-radius:8px;margin-bottom:12px}.user-avatar-small{width:32px;height:32px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px}.user-details{flex:1;display:flex;flex-direction:column}.user-name-small{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1}.user-status{font-size:12px;color:var(--success);line-height:1}.sidebar-actions{display:flex;gap:4px}.sidebar-action{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.sidebar-action:hover{background:var(--surface-hover);color:var(--text-primary)}.sidebar-action.logout:hover{background:var(--danger-bg);color:var(--danger)}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%}.content-wrapper{flex:1;padding:24px;overflow-y:auto;background:var(--bg-solid)}.breadcrumbs{margin-bottom:24px}.breadcrumb-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:8px}.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-separator{color:var(--text-tertiary);font-size:14px}.breadcrumb-content{display:flex;align-items:center;gap:6px}.breadcrumb-icon{font-size:14px}.breadcrumb-label{font-size:14px;color:var(--text-secondary);font-weight:500}.page-content{max-width:1200px}.page-header{margin-bottom:32px}.page-header h2{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.page-header p{font-size:16px;color:var(--text-secondary);margin:0}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 32px;text-align:center;background:var(--surface);border-radius:16px;border:1px solid var(--border-light)}.coming-soon-icon{font-size:48px;margin-bottom:16px}.coming-soon h3{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.coming-soon p{font-size:16px;color:var(--text-secondary);margin:0}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:16px;box-shadow:var(--shadow-sm);transition:all .3s ease;overflow:hidden;position:relative}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--border-medium)}.card.elevated{box-shadow:var(--shadow-md)}.card.elevated:hover{box-shadow:var(--shadow-xl)}.small-card{padding:24px;text-align:center;background:linear-gradient(135deg,var(--surface) 0%,var(--surface-hover) 100%);border:1px solid var(--border-light);position:relative;overflow:hidden}.small-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}.small-card .small-muted{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.small-card div:last-child{font-size:32px;font-weight:800;color:var(--text-primary);line-height:1;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:12px;font-weight:600;font-size:14px;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border-medium)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--text-secondary)}.tabs{display:flex;gap:4px;padding:4px;background:var(--surface-hover);border-radius:12px;margin-bottom:24px}.tabs .btn{flex:1;margin:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:500}.tabs .btn.active{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.container{max-width:1400px;margin:0 auto;padding:0 24px}.header{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--border-light);margin-bottom:24px}.header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.grid{display:grid;gap:24px}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.input{width:100%;padding:12px 16px;border:1px solid var(--border-medium);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:14px;transition:all .2s ease}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.input::placeholder{color:var(--text-tertiary)}.select{width:100%;padding:12px 16px;border:1px solid var(--border-medium);border-radius:8px;background:var(--surface);color:var(--text-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.modal-overlay{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:1000;padding:24px}.modal{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-2xl);max-width:600px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{padding:24px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:6px;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.modal-close:hover{background:var(--surface-hover);color:var(--text-primary)}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{padding:24px;border-top:1px solid var(--border-light);display:flex;gap:12px;justify-content:flex-end}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-primary{background:var(--accent-bg);color:var(--accent)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-warning{background:var(--warning-bg);color:var(--warning)}.badge-danger{background:var(--danger-bg);color:var(--danger)}.loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.spinner{width:24px;height:24px;border:2px solid var(--border-light);border-top:2px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 1024px){.header-nav{display:none}.sidebar,.sidebar.collapsed{width:64px}}@media (max-width: 768px){.app-header,.header-container{padding:0 16px}.content-wrapper{padding:16px}.sidebar{position:fixed;left:-280px;z-index:1001;transition:left .3s ease}.sidebar.open{left:0}}:root{--primary-50: #f0f9ff;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1;--primary-800: #075985;--primary-900: #0c4a6e;--secondary-50: #faf5ff;--secondary-100: #f3e8ff;--secondary-200: #e9d5ff;--secondary-300: #d8b4fe;--secondary-400: #c084fc;--secondary-500: #a855f7;--secondary-600: #9333ea;--secondary-700: #7c3aed;--secondary-800: #6b21a8;--secondary-900: #581c87;--success-50: #ecfdf5;--success-100: #d1fae5;--success-200: #a7f3d0;--success-300: #6ee7b7;--success-400: #34d399;--success-500: #10b981;--success-600: #059669;--success-700: #047857;--success-800: #065f46;--success-900: #064e3b;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--danger-50: #fef2f2;--danger-100: #fee2e2;--danger-200: #fecaca;--danger-300: #fca5a5;--danger-400: #f87171;--danger-500: #ef4444;--danger-600: #dc2626;--danger-700: #b91c1c;--danger-800: #991b1b;--danger-900: #7f1d1d;--bg: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);--bg-solid: #f8fafc;--surface: #ffffff;--surface-elevated: #ffffff;--surface-hover: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-inverse: #ffffff;--border-light: #e2e8f0;--border-medium: #cbd5e1;--border-strong: #94a3b8;--accent: var(--primary-600);--accent-light: var(--primary-500);--accent-dark: var(--primary-700);--accent-bg: var(--primary-50);--secondary: var(--secondary-600);--secondary-bg: var(--secondary-50);--success: var(--success-600);--success-bg: var(--success-50);--warning: var(--warning-600);--warning-bg: var(--warning-50);--danger: var(--danger-600);--danger-bg: var(--danger-50);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-premium: 0 32px 64px -12px rgba(0, 0, 0, .14);--gradient-primary: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);--gradient-secondary: linear-gradient(135deg, var(--secondary-600) 0%, var(--secondary-700) 100%);--gradient-success: linear-gradient(135deg, var(--success-500) 0%, var(--success-600) 100%);--gradient-premium: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .25) 0%, rgba(255, 255, 255, .1) 100%);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--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;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1)}.theme-dark{--bg: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);--bg-solid: #0f172a;--surface: #1e293b;--surface-elevated: #334155;--surface-hover: #475569;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-inverse: #0f172a;--border-light: #334155;--border-medium: #475569;--border-strong: #64748b;--accent-bg: rgba(14, 165, 233, .1);--secondary-bg: rgba(168, 85, 247, .1);--success-bg: rgba(16, 185, 129, .1);--warning-bg: rgba(245, 158, 11, .1);--danger-bg: rgba(239, 68, 68, .1);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px -1px rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .6);--shadow-premium: 0 32px 64px -12px rgba(0, 0, 0, .5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1400px;margin:0 auto;padding:var(--space-6);font-family:var(--font-family)}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);padding:var(--space-6);background:var(--surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-light)}.header h1{margin:0;font-size:var(--font-size-2xl);font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-8);padding:var(--space-2);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:600;line-height:1;border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--surface);color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--surface-hover);border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-primary{background:var(--gradient-primary);border:none;color:var(--text-inverse);box-shadow:var(--shadow-lg)}.btn-primary:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-secondary{background:var(--gradient-secondary);border:none;color:var(--text-inverse);box-shadow:var(--shadow-lg)}.btn-success{background:var(--gradient-success);border:none;color:var(--text-inverse);box-shadow:var(--shadow-lg)}.btn-danger{background:linear-gradient(135deg,var(--danger-500) 0%,var(--danger-600) 100%);border:none;color:var(--text-inverse);box-shadow:var(--shadow-lg)}.btn-ghost{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-premium{background:var(--gradient-glass);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.2);box-shadow:var(--shadow-premium)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.input,select,textarea{width:100%;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-family:var(--font-family);color:var(--text-primary);background:var(--surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #0ea5e91a,var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);background:var(--accent-bg);color:var(--accent);border:1px solid rgba(14,165,233,.2)}.badge-success{background:var(--success-bg);color:var(--success);border-color:#10b98133}.badge-warning{background:var(--warning-bg);color:var(--warning);border-color:#f59e0b33}.badge-danger{background:var(--danger-bg);color:var(--danger);border-color:#ef444433}.table{width:100%;border-collapse:collapse;background:var(--surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.table th{padding:var(--space-4) var(--space-5);font-weight:600;font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--surface-elevated);border-bottom:1px solid var(--border-light);text-align:left}.table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-light);color:var(--text-primary)}.table tbody tr:hover{background:var(--surface-hover)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.small-muted{font-size:var(--font-size-xs);color:var(--text-tertiary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-normal)}.modal-content{background:var(--surface);border-radius:var(--radius-2xl);max-width:900px;width:90vw;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-premium);border:1px solid var(--border-light);animation:slideUp var(--transition-normal)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--border-light);background:var(--surface-elevated)}.modal-body{padding:var(--space-6);max-height:calc(90vh - 120px);overflow-y:auto}.messages-list{display:flex;flex-direction:column;gap:var(--space-4);max-height:500px;overflow-y:auto;padding:var(--space-4)}.message{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-4);background:var(--surface);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.message:hover{box-shadow:var(--shadow-md)}.message-incoming{border-left:4px solid var(--accent);background:var(--accent-bg)}.message-outgoing{border-left:4px solid var(--success);background:var(--success-bg)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.message-sender{font-weight:600;font-size:var(--font-size-sm);color:var(--text-primary)}.message-time{font-size:var(--font-size-xs);color:var(--text-tertiary)}.message-body{line-height:1.6;color:var(--text-primary)}.message-media{margin-bottom:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.sticky{position:sticky;top:0;padding:var(--space-4) 0;background:var(--bg-solid);z-index:10;border-bottom:1px solid var(--border-light);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.spinner{animation:spin 1s linear infinite}@media (max-width: 576px){.container{padding:var(--space-2);max-width:100%}.header{flex-direction:column;gap:var(--space-2);text-align:center;padding:var(--space-3)}.header h1{font-size:var(--font-size-lg);margin:0}.tabs{flex-direction:column;gap:var(--space-2)}.tabs .btn{width:100%;text-align:center;padding:var(--space-3);font-size:var(--font-size-sm)}.grid-2,.grid-3,.grid-cards{grid-template-columns:1fr;gap:var(--space-3)}.modal-content{width:98vw;margin:var(--space-2);max-height:95vh;overflow-y:auto}.sticky{position:static!important;flex-direction:column!important;gap:var(--space-2)!important;margin:var(--space-3) 0!important}.sticky label{width:100%!important}.sticky select{min-width:100%!important;width:100%!important}.sticky .btn{width:100%;margin-top:var(--space-2)}.card{margin-bottom:var(--space-3);padding:var(--space-3)}.table{font-size:var(--font-size-xs)!important;display:block;overflow-x:auto;white-space:nowrap}.table th,.table td{padding:var(--space-2) var(--space-1)!important;min-width:80px}.dashboard-flex{flex-direction:column!important;gap:var(--space-3)!important}.dashboard-flex>div{min-height:auto!important}.chart-container{height:250px!important;margin-bottom:var(--space-4)}.small-card{min-width:100%!important;text-align:center}.btn-group{flex-direction:column!important;width:100%}.btn-group .btn{width:100%;margin-bottom:var(--space-1)}}@media (max-width: 768px){.container{padding:var(--space-4);max-width:100%}.header{flex-direction:column;gap:var(--space-4);text-align:center}.tabs{flex-direction:column;gap:var(--space-2)}.tabs .btn{width:100%}.grid-2,.grid-3{grid-template-columns:1fr}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.modal-content{width:95vw;margin:var(--space-4)}.sticky{flex-wrap:wrap!important;justify-content:center}.sticky label{min-width:200px;flex:1}.sticky select{min-width:200px!important}}@media (max-width: 992px){.container{max-width:100%;padding:var(--space-5)}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-flex{flex-direction:column}.table{font-size:var(--font-size-sm)}}@media (min-width: 1200px){.container{max-width:1400px}.grid-cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-stack{display:flex;flex-direction:column;gap:var(--space-2)}.mobile-full-width{width:100%}.mobile-center{text-align:center}.mobile-hide{display:none}@media (min-width: 577px){.mobile-hide{display:initial}}.desktop-hide{display:none}@media (max-width: 576px){.desktop-hide{display:initial}}.btn-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.responsive-text{font-size:var(--font-size-base)}@media (max-width: 576px){.responsive-text{font-size:var(--font-size-sm)}}@media print{.header,.tabs,.btn{display:none!important}.card{box-shadow:none;border:1px solid #ccc}}.filters-row{display:flex;gap:12px;flex-wrap:nowrap;align-items:end;justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:12px}.filters-row .filter-item{flex:0 0 auto}@media (max-width: 768px){.filters-row{flex-wrap:wrap;overflow-x:visible;justify-content:center;row-gap:12px;margin-bottom:16px}.filters-row .filter-item{flex:1 1 180px;min-width:180px}}
