@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-app:#0f172a;--bg-card:#1e293bb3;--bg-card-solid:#1e293b;--bg-input:#0f172a99;--primary:#8b5cf6;--primary-hover:#7c3aed;--primary-glow:#8b5cf666;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--success:#10b981;--success-bg:#10b9811a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-bg:#ef44441a;--border:#ffffff1a;--glass-border:1px solid #ffffff14;--glass-shadow:0 8px 32px 0 #0000004d;--glass-blur:blur(12px);--glass-hover:#ffffff0d;--glass-border-hover:#fff3;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:1rem;--radius-xl:1.5rem}.light-theme{--bg-app:#f8fafc;--bg-card:#fffc;--bg-card-solid:#fff;--bg-input:#ffffffe6;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#0000001a;--glass-border:1px solid #00000014;--glass-shadow:0 4px 20px 0 #0000000d;--glass-hover:#00000008;--glass-border-hover:#00000026}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,sans-serif;line-height:1.5;transition:background-color .3s,color .3s}body:not(.light-theme){background-image:radial-gradient(circle at 50% 0,#1e293b 0%,#0f172a 60%);background-attachment:fixed}.glass-panel{background:var(--bg-card);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow)}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:0 4px 14px 0 var(--primary-glow);border:none;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 6px 20px 0 var(--primary-glow);transform:translateY(-1px)}.btn-outline{color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-outline:hover{background:var(--glass-hover);border-color:var(--glass-border-hover)}.input-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.app-logo{object-fit:contain;transition:opacity .3s}.input-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.input-field{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text-primary);border-radius:var(--radius-md);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.table-container{border-radius:var(--radius-md);border:1px solid var(--border);width:100%;max-height:calc(100vh - 280px);overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{z-index:10;background:var(--bg-card-solid);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);box-shadow:0 1px 0 var(--border);padding:1rem;font-size:.875rem;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--border);padding:1rem;font-size:.95rem}tbody tr:hover{background:var(--glass-hover)}.badge{text-transform:uppercase;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.success{background:var(--success-bg);color:var(--success);border:1px solid #10b98133}.badge.warning{background:var(--warning-bg);color:var(--warning);border:1px solid #f59e0b33}.badge.danger{background:var(--danger-bg);color:var(--danger);border:1px solid #ef444433}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.spin{animation:1s linear infinite spin}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.empty-state h2,.empty-state h3{color:var(--text-primary);margin-bottom:.5rem}.form-error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-md);border:1px solid #ef444433;padding:.75rem 1rem;font-size:.9rem}
