*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}:root{--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--success:#16a34a;--success-light:#22c55e;--warning:#eab308;--warning-light:#facc15;--danger:#dc2626;--danger-light:#ef4444;--sidebar:#1e293b;--sidebar-hover:#334155;--sidebar-text:#94a3b8;--sidebar-text-active:#fff;--bg:#f8fafc;--card:#fff;--card-shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--card-shadow-lg:0 4px 6px #00000012, 0 10px 15px #0000001a;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--radius:8px;--radius-lg:12px}h1{font-size:1.875rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}h4{font-size:1.125rem;font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.text-center{text-align:center}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--text-secondary)}.w-full{width:100%}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:1.5rem}.card:hover{box-shadow:var(--card-shadow-lg)}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--border-light)}.btn-sm{padding:.25rem .75rem;font-size:.75rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.input{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);width:100%;color:var(--text);outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}select.input{appearance:auto}textarea.input{resize:vertical;min-height:80px}.badge{text-transform:uppercase;letter-spacing:.025em;border-radius:9999px;align-items:center;padding:.125rem .5rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-hire{color:#166534;background:#dcfce7}.badge-maybe{color:#854d0e;background:#fef9c3}.badge-reject{color:#991b1b;background:#fee2e2}.badge-technical{color:#1e40af;background:#dbeafe}.badge-behavioral{color:#6b21a8;background:#f3e8ff}.badge-cultural{color:#9d174d;background:#fce7f3}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:.75rem 1rem}.table th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--border-light);font-size:.75rem;font-weight:600}.table tbody tr:hover{background:var(--border-light)}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--card-shadow-lg);width:90%;max-width:500px;max-height:90vh;padding:2rem;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:.3s ease-out fadeIn}.spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}
