@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-bg: #0f1117;--color-bg-card: #1a1d27;--color-bg-sidebar: #141620;--color-bg-input: #222537;--color-bg-hover: #252940;--color-border: #2a2e3f;--color-text: #e4e7f1;--color-text-muted: #8891a5;--color-text-dim: #5d6478;--color-primary: #4ade80;--color-primary-dim: #22c55e;--color-primary-bg: rgba(74, 222, 128, .1);--color-secondary: #38bdf8;--color-secondary-bg: rgba(56, 189, 248, .1);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .1);--color-danger: #f87171;--color-danger-bg: rgba(248, 113, 113, .1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-md: .9375rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 30px rgba(0,0,0,.5);--shadow-glow: 0 0 20px rgba(74, 222, 128, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dim)}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:.5rem 1.25rem;border:1px solid transparent;border-radius:var(--radius-sm);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary{background:linear-gradient(135deg,var(--color-primary-dim),var(--color-primary));color:#0f1117;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 30px #4ade8040}.btn-secondary{background:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-info{background:var(--color-secondary-bg);color:var(--color-secondary);border-color:var(--color-secondary)}.btn-info:hover{background:var(--color-secondary);color:#fff}.btn-success{background:var(--color-primary-bg);color:var(--color-primary);border-color:var(--color-primary)}.btn-success:hover{background:var(--color-primary-dim);color:#fff}.btn-sm{padding:.3rem .75rem;font-size:var(--font-size-xs)}.input-group{display:flex;flex-direction:column;gap:var(--space-xs)}.input-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted)}.input,select,textarea{padding:.6rem .875rem;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;width:100%}.input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);transition:border-color var(--transition-normal)}.card:hover{border-color:#4ade8033}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card-header h2{font-size:var(--font-size-lg);font-weight:600}.table-wrapper{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse}thead{background:var(--color-bg-sidebar)}th{padding:.75rem 1rem;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);text-align:left;border-bottom:1px solid var(--color-border)}td{padding:.75rem 1rem;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border)}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--color-bg-hover)}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.02em}.badge-green{background:var(--color-primary-bg);color:var(--color-primary)}.badge-blue{background:var(--color-secondary-bg);color:var(--color-secondary)}.badge-yellow{background:var(--color-warning-bg);color:var(--color-warning)}.badge-red{background:var(--color-danger-bg);color:var(--color-danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast) ease}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);width:90%;max-width:520px;box-shadow:var(--shadow-lg);animation:slideUp var(--transition-normal) ease}.modal h3{font-size:var(--font-size-lg);margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-lg)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-md) var(--radius-md) 0 0}.stat-card.green:before{background:linear-gradient(90deg,var(--color-primary-dim),var(--color-primary))}.stat-card.blue:before{background:linear-gradient(90deg,#2563eb,var(--color-secondary))}.stat-card.yellow:before{background:linear-gradient(90deg,#d97706,var(--color-warning))}.stat-card.red:before{background:linear-gradient(90deg,#dc2626,var(--color-danger))}.stat-value{font-size:var(--font-size-2xl);font-weight:700;line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-size-sm)}.w-full{width:100%}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .6s linear infinite}.loading-center{display:flex;align-items:center;justify-content:center;padding:var(--space-2xl)}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) 0}.pagination button{padding:.4rem .75rem;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.pagination button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination .page-info{font-size:var(--font-size-sm);color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}
