@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-primary: #4A90D9;--color-primary-light: #7BB3E8;--color-primary-dark: #2D6BBF;--color-primary-50: #EBF4FF;--color-primary-100: #D6E8FF;--color-primary-200: #B3D4FF;--color-accent: #F6AD55;--color-accent-light: #FBBF7A;--color-accent-dark: #E8982D;--color-bg: #F7FAFC;--color-bg-subtle: #F0F4F8;--color-surface: #FFFFFF;--color-surface-hover: #F0F5FA;--color-surface-raised: #FFFFFF;--color-border: #E2E8F0;--color-border-light: #EDF2F7;--color-text: #1A202C;--color-text-secondary: #64748B;--color-text-muted: #94A3B8;--color-text-disabled: #CBD5E0;--color-success: #38A169;--color-success-light: #68D391;--color-success-bg: #F0FFF4;--color-error: #E53E3E;--color-error-light: #FC8181;--color-error-bg: #FFF5F5;--color-warning: #DD6B20;--color-warning-light: #F6AD55;--color-warning-bg: #FFFAF0;--color-info: #3182CE;--color-info-bg: #EBF8FF;--radius-xs: 6px;--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 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 40px -5px rgba(0, 0, 0, .1), 0 8px 16px -4px rgba(0, 0, 0, .04);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .04);--shadow-glow-primary: 0 0 20px rgba(74, 144, 217, .15);--shadow-glow-success: 0 0 20px rgba(56, 161, 105, .15);--shadow-glow-error: 0 0 20px rgba(229, 62, 62, .15);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-heading: "Nunito", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:14px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;color:var(--color-text);letter-spacing:-.01em}h1{font-size:28px;font-weight:800}h2{font-size:22px;font-weight:700}h3{font-size:18px;font-weight:700}h4{font-size:16px;font-weight:600}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}button{font-family:var(--font-body);cursor:pointer;border:none;background:none}input,select,textarea{font-family:var(--font-body)}::selection{background:var(--color-primary-100);color:var(--color-primary-dark)}img{max-width:100%;display:block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}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 slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes breathe{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.05);opacity:1}}@keyframes progressStripe{0%{background-position:0 0}to{background-position:40px 0}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ripple{0%{transform:scale(0);opacity:.5}to{transform:scale(4);opacity:0}}@keyframes logoFloat{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(1deg)}75%{transform:translateY(2px) rotate(-1deg)}}.animate-fade-in{animation:fadeIn .3s ease-out both}.animate-fade-in-up{animation:fadeInUp .4s ease-out both}.animate-fade-in-down{animation:fadeInDown .4s ease-out both}.animate-fade-in-scale{animation:fadeInScale .3s ease-out both}.animate-slide-in-right{animation:slideInRight .4s ease-out both}.animate-slide-in-left{animation:slideInLeft .4s ease-out both}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-bounce{animation:gentleBounce 2s ease-in-out infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);padding:24px;transition:all var(--transition-normal);position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.card-interactive{cursor:pointer}.card-interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-interactive:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.stat-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));opacity:0;transition:opacity var(--transition-normal)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card:hover:before{opacity:1}.stat-card-accent:before{background:linear-gradient(90deg,var(--color-accent),var(--color-accent-light))}.stat-card-success:before{background:linear-gradient(90deg,var(--color-success),var(--color-success-light))}.stat-card-error:before{background:linear-gradient(90deg,var(--color-error),var(--color-error-light))}.stat-card .stat-value{font-family:var(--font-heading);font-size:32px;font-weight:800;color:var(--color-text);line-height:1.1;letter-spacing:-.02em;animation:countUp .5s ease-out both}.stat-card .stat-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--color-primary-50);color:var(--color-primary);flex-shrink:0;transition:transform var(--transition-spring)}.stat-card:hover .stat-icon{transform:scale(1.08)}.stat-card .stat-change{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:2px 8px;border-radius:var(--radius-full);margin-top:8px}.stat-change.positive{background:var(--color-success-bg);color:var(--color-success)}.stat-change.negative{background:var(--color-error-bg);color:var(--color-error)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;font-size:14px;border:none;transition:all var(--transition-normal);cursor:pointer;position:relative;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at var(--ripple-x, 50%) var(--ripple-y, 50%),rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s}.btn:active:after{opacity:1;transition:opacity 0s}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:0 2px 4px #4a90d933}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-light),var(--color-primary));transform:translateY(-1px);box-shadow:0 4px 12px #4a90d94d}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 3px #4a90d933}.btn-secondary{background:var(--color-primary-50);color:var(--color-primary);border:1px solid var(--color-primary-100)}.btn-secondary:hover{background:var(--color-primary-100);border-color:var(--color-primary-200);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-danger{background:linear-gradient(135deg,var(--color-error),#C53030);color:#fff;box-shadow:0 2px 4px #e53e3e33}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e53e3e4d}.btn-success{background:linear-gradient(135deg,var(--color-success),#276749);color:#fff;box-shadow:0 2px 4px #38a16933}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 12px #38a1694d}.btn-sm{padding:6px 14px;font-size:13px;border-radius:var(--radius-xs)}.btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--radius-md)}.btn-icon{padding:8px;border-radius:var(--radius-sm);width:36px;height:36px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-loading{color:transparent!important;pointer-events:none;position:relative}.btn-loading:before{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.input{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px;transition:all var(--transition-normal);background:var(--color-surface);color:var(--color-text)}.input:hover{border-color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-50),var(--shadow-xs)}.input::placeholder{color:var(--color-text-muted)}.input-error{border-color:var(--color-error)}.input-error:focus{box-shadow:0 0 0 3px var(--color-error-bg)}.input-success{border-color:var(--color-success)}.input-success:focus{box-shadow:0 0 0 3px var(--color-success-bg)}.label{display:block;font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.field-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}.field-error{font-size:12px;color:var(--color-error);margin-top:4px;display:flex;align-items:center;gap:4px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:all var(--transition-fast)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-info{background:var(--color-primary-50);color:var(--color-primary)}.badge-neutral{background:var(--color-bg-subtle);color:var(--color-text-secondary)}.badge-dot{position:relative;padding-left:18px}.badge-dot:before{content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:currentColor}.badge-pulse:before{animation:breathe 2s ease-in-out infinite}.progress-track{width:100%;height:8px;background:var(--color-bg-subtle);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-track-lg{height:12px}.progress-track-sm{height:5px}.progress-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));transition:width .6s cubic-bezier(.4,0,.2,1);position:relative}.progress-fill-animated{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%);background-size:40px 40px;animation:progressStripe 1s linear infinite}.progress-fill-success{background:linear-gradient(90deg,var(--color-success),var(--color-success-light))}.progress-fill-warning{background:linear-gradient(90deg,var(--color-warning),var(--color-warning-light))}.progress-fill-error{background:linear-gradient(90deg,var(--color-error),var(--color-error-light))}.progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px}.progress-label .progress-text{font-weight:600;color:var(--color-text)}.progress-label .progress-value{font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.table-container{background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);overflow:hidden}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.table thead{background:var(--color-bg-subtle)}.table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:700;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1.5px solid var(--color-border);white-space:nowrap;-webkit-user-select:none;user-select:none}.table th.sortable{cursor:pointer;transition:color var(--transition-fast)}.table th.sortable:hover{color:var(--color-primary)}.table td{padding:12px 16px;border-bottom:1px solid var(--color-border-light);color:var(--color-text);vertical-align:middle}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.table-row-selected{background:var(--color-primary-50)}.table td.table-cell-mono{font-family:var(--font-mono);font-size:13px;letter-spacing:-.01em}.table td.table-cell-numeric{font-variant-numeric:tabular-nums;text-align:right}.table-empty{padding:48px 24px;text-align:center;color:var(--color-text-muted)}.table-empty-icon{font-size:40px;margin-bottom:12px;opacity:.4}.table-compact th,.table-compact td{padding:8px 12px}.skeleton{background:linear-gradient(90deg,var(--color-bg-subtle) 25%,var(--color-border-light) 50%,var(--color-bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:8px;width:100%}.skeleton-text-sm{height:10px;width:60%}.skeleton-heading{height:24px;width:40%;margin-bottom:16px}.skeleton-circle{border-radius:50%}.skeleton-card{height:120px;border-radius:var(--radius-md)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);background:var(--color-text);color:#fff;padding:6px 12px;border-radius:var(--radius-xs);font-size:12px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);z-index:var(--z-tooltip, 500)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(0)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center;animation:fadeInUp .5s ease-out both}.empty-state-icon{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-primary-50);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:20px}.empty-state-title{font-family:var(--font-heading);font-size:18px;font-weight:700;color:var(--color-text);margin-bottom:8px}.empty-state-desc{font-size:14px;color:var(--color-text-secondary);max-width:360px;line-height:1.6;margin-bottom:24px}.dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:6px;min-width:180px;animation:fadeInScale .15s ease-out both;z-index:var(--z-dropdown)}.dropdown-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-xs);font-size:14px;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;width:100%;text-align:left}.dropdown-item:hover{background:var(--color-surface-hover);color:var(--color-primary)}.dropdown-item-danger:hover{background:var(--color-error-bg);color:var(--color-error)}.dropdown-divider{height:1px;background:var(--color-border-light);margin:4px 0}.page-header{margin-bottom:32px;animation:fadeInUp .4s ease-out both}.page-header h1{font-size:26px;font-weight:800;color:var(--color-text);margin-bottom:4px}.page-header p{font-size:15px;color:var(--color-text-secondary)}.section{margin-bottom:32px}.section-title{font-family:var(--font-heading);font-size:16px;font-weight:700;color:var(--color-text);margin-bottom:16px;display:flex;align-items:center;gap:8px}.grid-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.toast-container{font-family:var(--font-body)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible){outline:none}.transition-all{transition:all var(--transition-normal)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.divider{height:1px;background:var(--color-border-light);margin:24px 0;border:none}.divider-labeled{display:flex;align-items:center;gap:16px;color:var(--color-text-muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.divider-labeled:before,.divider-labeled:after{content:"";flex:1;height:1px;background:var(--color-border-light)}@media (max-width: 1024px){.grid-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){:root{--space-6: 16px;--space-8: 24px;--space-10: 32px}.grid-stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.grid-cards{grid-template-columns:1fr;gap:12px}.app-sidebar{display:none}.app-main{margin-left:0!important}.btn{padding:8px 16px;font-size:13px}.btn-lg{padding:12px 22px;font-size:14px}.input{padding:9px 12px;font-size:14px}.card{padding:16px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 480px){.grid-stats{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:14px}.stat-value,h1{font-size:22px!important}h2{font-size:18px!important}}
