@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0f3466;--color-primary-dark: #0a254a;--color-primary-light: #1e4b8a;--color-secondary: #10b981;--color-secondary-dark: #059669;--color-white: #ffffff;--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-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--sidebar-bg: #ffffff;--sidebar-border: #e5e7eb;--sidebar-text: #374151;--sidebar-text-muted: #6b7280;--sidebar-text-hover: #111827;--sidebar-bg-hover: #f3f4f6;--sidebar-active-bg: #eff6ff;--sidebar-active-text: #1e40af;--sidebar-logo-bg: #eff6ff;--sidebar-logo-icon: #1e40af}[data-theme=dark]{--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-primary-light: #93c5fd;--color-white: #1f2937;--color-gray-50: #111827;--color-gray-100: #1f2937;--color-gray-200: #374151;--color-gray-300: #4b5563;--color-gray-400: #9ca3af;--color-gray-500: #d1d5db;--color-gray-600: #e5e7eb;--color-gray-700: #f3f4f6;--color-gray-800: #f9fafb;--color-gray-900: #ffffff;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--color-chart-grid: #374151;--color-chart-text: #9ca3af;--color-chart-tooltip-bg: #1f2937;--color-chart-tooltip-border: #374151;--sidebar-bg: #1f2937;--sidebar-border: #374151;--sidebar-text: #d1d5db;--sidebar-text-muted: #9ca3af;--sidebar-text-hover: #f3f4f6;--sidebar-bg-hover: #374151;--sidebar-active-bg: #374151;--sidebar-active-text: #60a5fa;--sidebar-logo-bg: #374151;--sidebar-logo-icon: #60a5fa}[data-theme=dark] body{color:var(--color-gray-900);background-color:var(--color-gray-50)}[data-theme=dark] .card{background-color:var(--color-white);border-color:var(--color-gray-200)}[data-theme=dark] .input{background-color:var(--color-gray-100);border-color:var(--color-gray-300);color:var(--color-gray-900)}[data-theme=dark] .input::placeholder{color:var(--color-gray-500)}[data-theme=dark] .sidebar,[data-theme=dark] .stat-card{background-color:var(--color-white);border-color:var(--color-gray-200)}[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6{color:var(--color-gray-900)}[data-theme=dark] p,[data-theme=dark] span,[data-theme=dark] label{color:var(--color-gray-700)}[data-theme=dark] .text-gray-600,[data-theme=dark] .text-gray-500{color:var(--color-gray-500)!important}[data-theme=dark] .btn{color:#f3f4f6}[data-theme=dark] .btn-outline{border-color:#4b5563;color:#d1d5db}[data-theme=dark] .btn-outline:hover{background-color:#374151;border-color:#6b7280}[data-theme=dark] .btn-primary{background-color:#3b82f6;color:#fff}[data-theme=dark] .form-label{color:#d1d5db}[data-theme=dark] select,[data-theme=dark] textarea{background-color:#374151;border-color:#4b5563;color:#f3f4f6}[data-theme=dark] table{color:#f3f4f6}[data-theme=dark] th{background-color:#1f2937;color:#d1d5db;border-color:#374151}[data-theme=dark] td{border-color:#374151}[data-theme=dark] tr:hover{background-color:#374151}[data-theme=dark] .alert{border-color:#374151}[data-theme=dark] .alert-error{background-color:#ef444426;border-color:#dc2626;color:#fca5a5}[data-theme=dark] .alert-success{background-color:#10b98126;border-color:#059669;color:#6ee7b7}[data-theme=dark] .alert-info{background-color:#3b82f626;border-color:#2563eb;color:#93c5fd}[data-theme=dark] .modal-content,[data-theme=dark] .dropdown-menu{background-color:#1f2937;border-color:#374151}[data-theme=dark] .empty-state{color:#9ca3af}[data-theme=dark] .empty-state-icon{color:#4b5563}[data-theme=dark] .badge{color:#f3f4f6}[data-theme=dark] .recharts-text{fill:#9ca3af!important}[data-theme=dark] .recharts-cartesian-grid line{stroke:#374151}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:#1f2937}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#6b7280}[data-theme=dark] .card-title{color:#f3f4f6}[data-theme=dark] .stat-label{color:#9ca3af}[data-theme=dark] .stat-value{color:#f3f4f6}[data-theme=dark] a{color:#60a5fa}[data-theme=dark] a:hover{color:#93c5fd}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--color-gray-900);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-gray-900)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:var(--spacing-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:inherit}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-success{background-color:var(--color-success);color:var(--color-white);font-weight:600}.btn-success:hover:not(:disabled){background-color:#059669;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.input,.textarea,.select{width:100%;padding:.625rem .875rem;font-size:.875rem;font-family:inherit;color:var(--color-gray-900);background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-base)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.textarea{resize:vertical;min-height:100px}.input::placeholder,.textarea::placeholder,.select::placeholder,input::placeholder,textarea::placeholder{color:var(--color-gray-600);opacity:1}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--color-gray-700)}.form-error{margin-top:var(--spacing-xs);font-size:.8125rem;color:var(--color-error)}.card{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-xl);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-gray-200)}.card-title{font-size:1.25rem;font-weight:600;color:var(--color-gray-900)}.card-body{color:var(--color-gray-700)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:9999px}.badge-success{background-color:#d1fae5;color:#065f46}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-error{background-color:#fee2e2;color:#991b1b}.badge-info{background-color:#dbeafe;color:#1e40af}.badge-gray{background-color:var(--color-gray-200);color:var(--color-gray-700)}.alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);display:flex;align-items:start;gap:var(--spacing-sm)}.alert-success{background-color:#d1fae5;color:#065f46;border-left:4px solid var(--color-success)}.alert-warning{background-color:#fef3c7;color:#92400e;border-left:4px solid var(--color-warning)}.alert-error{background-color:#fee2e2;color:#991b1b;border-left:4px solid var(--color-error)}.alert-info{background-color:#dbeafe;color:#1e40af;border-left:4px solid var(--color-info)}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:overlayFadeIn .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.modal{background-color:var(--color-white);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .35s cubic-bezier(.16,1,.3,1) forwards;transform-origin:center center}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-pop{animation:modalPopIn .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes modalPopIn{0%{opacity:0;transform:scale(.75)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.modal-bounce{animation:modalBounceIn .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes modalBounceIn{0%{opacity:0;transform:scale(.3) translateY(40px)}50%{opacity:1;transform:scale(1.05) translateY(-8px)}70%{transform:scale(.98) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-slide-bottom{animation:modalSlideFromBottom .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalSlideFromBottom{0%{opacity:0;transform:translateY(100px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-zoom{animation:modalZoomIn .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalZoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.modal-slide-right{animation:modalSlideFromRight .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes modalSlideFromRight{0%{opacity:0;transform:translate(60px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content-stagger>*{opacity:0;animation:modalContentFadeUp .4s cubic-bezier(.16,1,.3,1) forwards}.modal-content-stagger>*:nth-child(1){animation-delay:.1s}.modal-content-stagger>*:nth-child(2){animation-delay:.15s}.modal-content-stagger>*:nth-child(3){animation-delay:.2s}.modal-content-stagger>*:nth-child(4){animation-delay:.25s}.modal-content-stagger>*:nth-child(5){animation-delay:.3s}@keyframes modalContentFadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.modal-icon-pulse{animation:iconPulse .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes iconPulse{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.lightbox-overlay{animation:lightboxFadeIn .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes lightboxFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.lightbox-image{animation:lightboxImageIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes lightboxImageIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tooltip-enter{animation:tooltipIn .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes tooltipIn{0%{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-enter{animation:dropdownIn .25s cubic-bezier(.16,1,.3,1) forwards;transform-origin:top center}@keyframes dropdownIn{0%{opacity:0;transform:scaleY(.8) translateY(-8px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.alert-enter{animation:alertSlideIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes alertSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:var(--spacing-xl);border-bottom:1px solid var(--color-gray-200);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-gray-900)}.modal-body{padding:var(--spacing-xl)}.modal-footer{padding:var(--spacing-xl);border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);justify-content:flex-end}.grid{display:grid;gap:var(--spacing-lg)}.grid-cols-1{grid-template-columns:repeat(1,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:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.grid{gap:var(--spacing-md)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-primary{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.stat-card{background-color:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{width:3rem;height:3rem;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md)}.stat-icon.primary{background-color:#dbeafe;color:var(--color-primary)}.stat-icon.success{background-color:#d1fae5;color:var(--color-success)}.stat-icon.warning{background-color:#fef3c7;color:var(--color-warning)}.stat-icon.error{background-color:#fee2e2;color:var(--color-error)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-gray-900);line-height:1;margin-bottom:var(--spacing-xs)}.stat-label{font-size:.875rem;color:var(--color-gray-600);font-weight:500}.spinner{border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;width:2rem;height:2rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--color-gray-500)}.empty-state-icon{width:4rem;height:4rem;margin:0 auto var(--spacing-lg);color:var(--color-gray-400)}.divider{height:1px;background-color:var(--color-gray-200);margin:var(--spacing-lg) 0}.file-upload{border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:all var(--transition-base);display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.file-upload:hover{border-color:var(--color-primary);background-color:var(--color-gray-50)}.file-upload.active{border-color:var(--color-primary);background-color:#dbeafe}.image-preview{position:relative;width:200px;height:200px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-gray-200)}.image-preview img{width:100%;height:100%;object-fit:cover}.image-preview-remove{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background-color:var(--color-error);color:var(--color-white);border:none;border-radius:50%;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base)}.image-preview-remove:hover{background-color:#dc2626;transform:scale(1.1)}.btn-landing{transition:all .2s ease-in-out;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600}.btn-landing:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn-landing-primary{background-color:var(--color-primary);color:#fff;border:2px solid var(--color-primary);border-radius:var(--radius-md)}.btn-landing-primary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light)}.btn-landing-outline{background-color:#fff;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md)}.btn-landing-outline:hover{background-color:var(--color-gray-50)}.btn-landing-ghost{background-color:transparent;color:var(--color-primary);border:none;border-radius:var(--radius-md)}.btn-landing-ghost:hover{background-color:var(--color-gray-100)}.btn-landing-white{background-color:#fff;color:var(--color-primary);border:none;border-radius:var(--radius-md)}.btn-landing-white:hover{background-color:var(--color-gray-100)}[data-theme=light] .btn-landing-ghost{color:var(--color-primary)}[data-theme=light] .btn-landing-ghost:hover{background-color:var(--color-gray-100)}[data-theme=light] .btn-landing-primary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light);color:#fff}[data-theme=dark] .btn-landing-primary{color:var(--color-gray-900)!important;background-color:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .btn-landing-primary:hover{background-color:var(--color-primary-light);border-color:var(--color-primary-light)}[data-theme=dark] .btn-landing-outline{background-color:transparent;color:var(--color-primary-light);border-color:var(--color-primary-light)}[data-theme=dark] .btn-landing-outline:hover{background-color:var(--color-gray-100)}[data-theme=dark] .btn-landing-ghost{color:var(--color-primary-light)}[data-theme=dark] .btn-landing-ghost:hover{background-color:var(--color-gray-100)}.page-enter{animation:pageEnter .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{opacity:0;transform:translateY(16px);animation:fadeUp .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.animate-fade-in{opacity:0;animation:fadeIn .4s ease-out forwards}@keyframes fadeIn{to{opacity:1}}.animate-scale-up{opacity:0;transform:scale(.95);animation:scaleUp .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes scaleUp{to{opacity:1;transform:scale(1)}}.animate-slide-left{opacity:0;transform:translate(-20px);animation:slideLeft .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes slideLeft{to{opacity:1;transform:translate(0)}}.animate-slide-right{opacity:0;transform:translate(20px);animation:slideRight .4s cubic-bezier(.22,1,.36,1) forwards}@keyframes slideRight{to{opacity:1;transform:translate(0)}}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.animate-delay-6{animation-delay:.3s}.animate-delay-7{animation-delay:.35s}.animate-delay-8{animation-delay:.4s}.card-animate{transition:transform .2s ease,box-shadow .2s ease}.card-animate:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.fade-up-element{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}.fade-up-element.is-visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}@media(prefers-reduced-motion:reduce){.page-enter,.animate-fade-up,.animate-fade-in,.animate-scale-up,.animate-slide-left,.animate-slide-right,.fade-up-element{animation:none;opacity:1;transform:none;transition:none}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}@media(max-width:768px){.hide-mobile{display:none!important}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}@media(max-width:480px){.hide-small-mobile{display:none!important}h1{font-size:1.25rem}.card{padding:var(--spacing-md)}.btn{padding:.5rem 1rem;font-size:.8rem}.modal{width:95%;max-height:95vh}.modal-header,.modal-body,.modal-footer{padding:var(--spacing-md)}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive table{min-width:600px}.flex-wrap{flex-wrap:wrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:480px){.spacing-mobile-sm{gap:var(--spacing-sm)!important}}@keyframes pageEntry{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-entry-animation{animation:pageEntry .4s cubic-bezier(.16,1,.3,1) forwards}
