:root{--color-primary:#10b981;--color-primary-hover:#059669;--color-primary-light:#34d399;--color-primary-dark:#047857;--color-bg-primary:#0a0a0a;--color-bg-secondary:#111;--color-bg-tertiary:#1a1a1a;--color-bg-card:#161616;--color-bg-input:#1f1f1f;--color-text-primary:#fff;--color-text-secondary:#a0a0a0;--color-text-tertiary:#6b6b6b;--color-text-muted:#4a4a4a;--color-border:#2a2a2a;--color-border-light:#3a3a3a;--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--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,.5);--shadow-glow:0 0 20px rgba(16,185,129,.15);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms ease;--transition-normal:250ms ease;--transition-slow:350ms ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--color-bg-primary);line-height:1.6;min-height:100vh}body,h1,h2,h3,h4,h5,h6{color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-input);border-color:var(--color-border-light)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-success{background-color:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-lg{padding:var(--spacing-md) var(--spacing-xl);font-size:1rem}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.btn-icon{padding:var(--spacing-sm);aspect-ratio:1}.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-text-secondary)}.form-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:1rem;background-color:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(16,185,129,.15)}.form-input::placeholder{color:var(--color-text-tertiary)}.form-error{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-error)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:1.125rem;font-weight:600}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.container-sm{max-width:600px}.container-lg{max-width:1400px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.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)}.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-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-sm)}.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.hide-mobile{display:none!important}}@media (min-width:769px){.hide-desktop{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease forwards}.animate-slide-up{animation:slideUp var(--transition-normal) ease forwards}.animate-pulse{animation:pulse 2s infinite}.dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);text-align:center;cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-bg-secondary)}.dropzone.active,.dropzone:hover{border-color:var(--color-primary);background-color:rgba(16,185,129,.05)}.dropzone-icon{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--color-text-tertiary)}.dropzone.active .dropzone-icon,.dropzone:hover .dropzone-icon{color:var(--color-primary)}.progress{height:8px;background-color:var(--color-bg-tertiary);overflow:hidden}.progress,.progress-bar{border-radius:var(--radius-full)}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary-dark),var(--color-primary));transition:width var(--transition-normal)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.025em}.badge-primary{background-color:rgba(16,185,129,.15);color:var(--color-primary-light)}.badge-warning{background-color:rgba(245,158,11,.15);color:#fbbf24}.badge-error{background-color:rgba(239,68,68,.15);color:#f87171}.badge-info{background-color:rgba(59,130,246,.15);color:#60a5fa}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table td,.table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;border-bottom:1px solid var(--color-border)}.table th{font-weight:600;color:var(--color-text-secondary);background-color:var(--color-bg-secondary)}.table tr:hover td{background-color:var(--color-bg-tertiary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}