html,body,#root{margin:0;padding:0;min-height:100vh;min-height:100dvh}html[data-theme=dark],html[data-theme=dark] body,html[data-theme=dark] #root{background-color:#0f172a!important;color:#f1f5f9!important}html[data-theme=light],html[data-theme=light] body,html[data-theme=light] #root{background-color:#f9fafb!important;color:#111827!important}:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-bg: #eef2ff;--color-secondary: #14b8a6;--color-secondary-light: #2dd4bf;--color-secondary-dark: #0d9488;--color-secondary-bg: #ccfbf1;--color-accent: #f97316;--color-accent-light: #fb923c;--color-accent-dark: #ea580c;--color-accent-bg: #ffedd5;--color-success: #22c55e;--color-success-light: #4ade80;--color-success-bg: #dcfce7;--color-warning: #eab308;--color-warning-light: #facc15;--color-warning-bg: #fef9c3;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-bg: #fee2e2;--color-error: #ef4444;--color-error-light: #f87171;--color-error-bg: #fee2e2;--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;--color-bg: #f9fafb;--color-bg-elevated: #ffffff;--color-bg-subtle: #f3f4f6;--color-background: #f9fafb;--color-surface: #ffffff;--color-text: #111827;--color-text-secondary: #4b5563;--color-text-muted: #9ca3af;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-focus: #6366f1;--space-0: 0;--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;--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.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-sm: 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);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-glow: 0 0 20px rgb(99 102 241 / .3);--font-sans: "Inter", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", 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;--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;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--transition-fast: .1s cubic-bezier(.4, 0, .2, 1);--transition-base: .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: .2s cubic-bezier(.4, 0, .2, 1);--transition-slower: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-tooltip: 600}[data-theme=dark]{--color-primary: #818cf8;--color-primary-light: #a5b4fc;--color-primary-dark: #6366f1;--color-primary-50: #1e1b4b;--color-primary-100: #312e81;--color-primary-bg: rgba(99, 102, 241, .15);--color-secondary: #2dd4bf;--color-secondary-light: #5eead4;--color-secondary-dark: #14b8a6;--color-secondary-bg: rgba(20, 184, 166, .15);--color-accent: #fb923c;--color-accent-light: #fdba74;--color-accent-dark: #f97316;--color-accent-bg: rgba(249, 115, 22, .15);--color-success: #4ade80;--color-success-light: #86efac;--color-success-bg: rgba(34, 197, 94, .15);--color-warning: #facc15;--color-warning-light: #fde047;--color-warning-bg: rgba(234, 179, 8, .15);--color-danger: #f87171;--color-danger-light: rgba(239, 68, 68, .25);--color-danger-bg: rgba(239, 68, 68, .15);--color-error: #f87171;--color-error-light: #fca5a5;--color-error-bg: rgba(239, 68, 68, .15);--color-warning-text: #fde68a;--color-gray-50: #1f2937;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-300: #6b7280;--color-gray-400: #9ca3af;--color-gray-500: #d1d5db;--color-gray-600: #e5e7eb;--color-gray-700: #f3f4f6;--color-gray-800: #f9fafb;--color-gray-900: #ffffff;--color-bg: #0f172a;--color-bg-elevated: #1e293b;--color-bg-subtle: #1e293b;--color-background: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--color-text-inverse: #0f172a;--color-border: #334155;--color-border-focus: #818cf8;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-sm: 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 / .5), 0 8px 10px -6px rgb(0 0 0 / .5);--shadow-glow: 0 0 20px rgb(129 140 248 / .3)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);line-height:var(--leading-normal);min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400);background-clip:content-box}:focus{outline:none}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-primary-100);color:var(--color-primary-dark)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-dark)}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;height:auto;display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@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 fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--color-primary),0 0 10px transparent}50%{box-shadow:0 0 10px var(--color-primary),0 0 20px var(--color-primary-light)}}.animate-fade-in{animation:fadeIn var(--transition-slow) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slower) ease forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-slower) ease forwards}.animate-fade-in-scale{animation:fadeInScale var(--transition-slower) ease forwards}.animate-slide-in-right{animation:slideInRight var(--transition-slower) ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s ease infinite}.animate-shake{animation:shake .3s ease}.animate-slide-up{animation:slideUp .4s cubic-bezier(.4,0,.2,1) forwards}.animate-pop-in{animation:popIn .35s cubic-bezier(.34,1.56,.64,1) forwards}.animate-wiggle{animation:wiggle .5s ease}.animate-glow{animation:glow 2s ease-in-out infinite}.stagger-children>*{opacity:0;animation:fadeInUp var(--transition-slower) ease forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}.stagger-children>*:nth-child(8){animation-delay:.35s}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}[data-theme=dark] .glass{background:#1e293bcc;border:1px solid rgba(255,255,255,.1)}.gradient-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)}.gradient-secondary{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-light) 100%)}.gradient-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%)}.gradient-mesh{background:radial-gradient(at 0% 0%,var(--color-primary-100) 0px,transparent 50%),radial-gradient(at 100% 0%,var(--color-secondary-light) 0px,transparent 50%),radial-gradient(at 100% 100%,var(--color-accent-light) 0px,transparent 50%),radial-gradient(at 0% 100%,var(--color-primary-light) 0px,transparent 50%)}.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}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.card-interactive{transition:all var(--transition-base);cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-100)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-md)}input[type=date],input[type=time],input[type=number]{-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border:2px solid var(--color-gray-300);border-radius:var(--radius-sm);background:var(--color-bg-elevated);cursor:pointer;transition:all var(--transition-fast);position:relative}input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}input[type=checkbox]:checked:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}input[type=checkbox]:focus-visible{box-shadow:0 0 0 3px var(--color-primary-100)}.page-transition{animation:fadeInUp var(--transition-slower) ease}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}@media (min-width: 640px){.container{padding:0 var(--space-6)}}@media (min-width: 1024px){.container{padding:0 var(--space-8)}}@media (prefers-color-scheme: dark){:root.auto-dark{--color-bg: #111827;--color-bg-elevated: #1f2937;--color-bg-subtle: #374151;--color-text: #f9fafb;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-border: #374151}}@media print{*{background:#fff!important;color:#000!important}.no-print{display:none!important}}[data-theme=dark] .card,[data-theme=dark] .modal,[data-theme=dark] .modal-body,[data-theme=dark] .form-input,[data-theme=dark] .form-textarea,[data-theme=dark] .form-select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background-color:var(--color-surface)!important;color:var(--color-text)!important}[data-theme=dark] .form-input:focus,[data-theme=dark] .form-textarea:focus,[data-theme=dark] .form-select:focus,[data-theme=dark] input:focus,[data-theme=dark] textarea:focus,[data-theme=dark] select:focus{background-color:var(--color-bg-elevated)!important}[data-theme=dark] .client-card,[data-theme=dark] .place-card,[data-theme=dark] .data-action,[data-theme=dark] .edit-trip-item,[data-theme=dark] .summary-card,[data-theme=dark] .export-option{background-color:var(--color-bg-elevated)!important;border-color:var(--color-border)!important}[data-theme=dark] .search-bar,[data-theme=dark] .search-input,[data-theme=dark] .filter-btn{background-color:var(--color-bg-elevated)!important;color:var(--color-text)!important}[data-theme=dark] .search-input::placeholder{color:var(--color-text-muted)!important}[data-theme=dark] .category-chip{background-color:var(--color-bg-elevated)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important}[data-theme=dark] .category-chip.active{background-color:var(--color-primary)!important;color:#fff!important}[data-theme=dark] .modal-overlay{background:#000000b3!important}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-gray-200)!important}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-300)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-weight:600;font-size:var(--font-size-sm);line-height:1;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;box-shadow:var(--shadow-sm),0 2px 8px #6366f140}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md),0 4px 12px #6366f159;transform:translateY(-1px)}.btn-secondary{background:var(--color-gray-100);color:var(--color-text)}.btn-secondary:hover:not(:disabled){background:var(--color-gray-200)}.btn-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-light) 100%);color:#fff;box-shadow:var(--shadow-sm),0 2px 8px #f9731640}.btn-accent:hover:not(:disabled){box-shadow:var(--shadow-md),0 4px 12px #f9731659;transform:translateY(-1px)}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-gray-100);color:var(--color-text)}.btn-danger{background:linear-gradient(135deg,var(--color-danger) 0%,var(--color-danger-light) 100%);color:#fff}.btn-danger:hover:not(:disabled){box-shadow:var(--shadow-md),0 4px 12px #ef444459}.btn-sm{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-xs)}.btn-lg{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-base)}.w-full{width:100%}.card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:var(--spacing-4);transition:all var(--transition-base)}.card.p-0{padding:0}@media (min-width: 640px){.card{border-radius:var(--radius-xl);padding:var(--spacing-5)}}.card-header{padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-4)}.card-body{padding:var(--spacing-4) 0}.card-footer{padding-top:var(--spacing-4);border-top:1px solid var(--color-border);margin-top:var(--spacing-4)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--spacing-3) var(--spacing-4);font-size:16px;background:var(--color-gray-50);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);color:var(--color-text);min-height:48px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-bg)}.form-input.error,.form-textarea.error,.form-select.error{border-color:var(--color-danger)}.form-input.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px var(--color-danger-bg)}.form-input.has-icon{padding-left:2.75rem}.input-wrapper{position:relative}.input-icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none;display:flex}.form-textarea{resize:vertical;min-height:100px}.form-error{font-size:var(--font-size-sm);color:var(--color-danger)}.form-helper{font-size:var(--font-size-sm);color:var(--color-text-muted)}.floating-input{position:relative}.floating-input .form-input{padding-top:1.5rem;padding-bottom:.5rem}.floating-label{position:absolute;left:var(--spacing-4);top:50%;transform:translateY(-50%);font-size:var(--font-size-base);color:var(--color-text-muted);pointer-events:none;transition:all var(--transition-base)}.floating-label.active,.floating-input .form-input:focus~.floating-label,.floating-input .form-input:not(:placeholder-shown)~.floating-label{top:.75rem;transform:translateY(0);font-size:var(--font-size-xs);color:var(--color-primary)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.badge-default{background:var(--color-gray-100);color:var(--color-text-secondary)}.badge-primary{background:var(--color-primary-bg);color:var(--color-primary)}.badge-secondary{background:var(--color-secondary-bg);color:var(--color-secondary-dark)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-sm{padding:2px var(--spacing-2);font-size:.65rem}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);z-index:var(--z-modal-backdrop);opacity:0;transition:opacity var(--transition-base)}.modal-overlay.active{opacity:1}.modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);width:100%;max-height:90vh;overflow-y:auto;transform:scale(.95) translateY(10px);transition:transform var(--transition-base);z-index:var(--z-modal)}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.modal-close{padding:var(--spacing-2);border-radius:var(--radius-lg);color:var(--color-text-muted);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-gray-100);color:var(--color-text)}.modal-body{padding:var(--spacing-5)}.alert{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border-radius:var(--radius-lg);font-size:var(--font-size-sm)}.alert-icon{flex-shrink:0;display:flex}.alert-content{flex:1}.alert-dismiss{flex-shrink:0;padding:var(--spacing-1);border-radius:var(--radius-md);opacity:.7;transition:opacity var(--transition-fast)}.alert-dismiss:hover{opacity:1}.alert-info{background:var(--color-primary-bg);color:var(--color-primary-dark);border:1px solid var(--color-primary-100)}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-light)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-light)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-light)}.empty-state{text-align:center;padding:var(--spacing-10) var(--spacing-6)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--spacing-5);background:var(--color-gray-100);border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.empty-state-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-2)}.empty-state-description{color:var(--color-text-muted);margin-bottom:var(--spacing-5)}.stat-card{position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary)}.stat-card-primary:before{background:linear-gradient(180deg,var(--color-primary),var(--color-primary-light))}.stat-card-secondary:before{background:linear-gradient(180deg,var(--color-secondary),var(--color-secondary-light))}.stat-card-content{display:flex;justify-content:space-between;align-items:center}.stat-card-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.stat-card-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.stat-card-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.stat-card-trend{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);font-weight:500}.stat-card-trend.up{color:var(--color-success)}.stat-card-trend.down{color:var(--color-danger)}.stat-card-icon{width:48px;height:48px;background:var(--color-primary-bg);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.stat-card-secondary .stat-card-icon{background:var(--color-secondary-bg);color:var(--color-secondary)}.spinner{animation:spin 1s linear infinite}.spinner-primary{color:var(--color-primary)}.tabs{border-bottom:1px solid var(--color-border)}.tab-list{display:flex;gap:var(--spacing-1);overflow-x:auto;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}.tab-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:all var(--transition-base)}.tab-item:hover{color:var(--color-text)}.tab-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-icon{display:flex}.avatar{position:relative;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light))}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:40%}.avatar-status{position:absolute;bottom:0;right:0;width:25%;height:25%;border-radius:50%;border:2px solid var(--color-surface)}.avatar-status-online{background:var(--color-success)}.avatar-status-offline{background:var(--color-gray-400)}.avatar-status-busy{background:var(--color-danger)}.progress{position:relative;height:8px;background:var(--color-gray-200);border-radius:var(--radius-full);overflow:hidden}.progress-bar{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slower)}.progress-primary{background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light))}.progress-sm{height:4px}.progress-lg{height:12px}.progress-label{position:absolute;right:var(--spacing-2);top:50%;transform:translateY(-50%);font-size:var(--font-size-xs);font-weight:600;color:#fff}.tooltip-wrapper{position:relative;display:inline-block}.tooltip{position:absolute;padding:var(--spacing-2) var(--spacing-3);background:var(--color-gray-900);color:#fff;font-size:var(--font-size-xs);border-radius:var(--radius-md);white-space:nowrap;z-index:var(--z-tooltip);pointer-events:none}.tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--spacing-2)}.tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:var(--spacing-2)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{height:1em;border-radius:var(--radius-sm)}.skeleton-circle{border-radius:50%}.skeleton-rect{border-radius:var(--radius-md)}.divider{border:none;height:1px;background:var(--color-border);margin:var(--spacing-4) 0}.divider-with-text{display:flex;align-items:center;gap:var(--spacing-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;height:1px;background:var(--color-border)}.list-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.list-item.clickable{cursor:pointer}.list-item.clickable:hover{background:var(--color-gray-50)}.list-item.selected{background:var(--color-primary-bg)}.list-item.disabled{opacity:.5;cursor:not-allowed}.list-item-icon{flex-shrink:0;color:var(--color-text-muted)}.list-item-content{flex:1;min-width:0}.list-item-action{flex-shrink:0}.toggle-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-3);cursor:pointer}.toggle-wrapper.disabled{opacity:.5;cursor:not-allowed}.toggle-input{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:44px;height:24px;background:var(--color-gray-300);border-radius:var(--radius-full);transition:background var(--transition-fast)}.toggle-input:checked+.toggle-track{background:var(--color-primary)}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast)}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.toggle-label{font-size:var(--font-size-sm);color:var(--color-text)}
