:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.login-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#f0f2f5}.login-box{background:#fff;padding:40px;border-radius:8px;box-shadow:0 4px 12px #0000001a;width:100%;max-width:400px;text-align:center}.login-box h2{margin-bottom:20px;color:#333}.error-message{color:#f44336;margin-bottom:15px}.login-btn{width:100%;padding:10px;background-color:#1a73e8;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;margin-top:10px}.login-btn:hover{background-color:#1557b0}.candidates-container{padding:20px}.upload-section{background:#1e1e1e;padding:30px;border-radius:12px;margin-bottom:30px;box-shadow:0 8px 32px #0000004d}.upload-section h2{margin-top:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upload-box{display:flex;flex-direction:column;gap:15px;align-items:flex-start}#file-input{padding:10px;background:#2a2a2a;border:2px dashed #667eea;border-radius:8px;color:#e0e0e0;cursor:pointer;width:100%}.file-info{color:#b0b0b0}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.upload-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.upload-results{margin-top:20px;padding:20px;background:#2a2a2a;border-radius:8px}.upload-results h3{margin-top:0;color:#667eea}.upload-results ul{list-style:none;padding:0}.upload-results li{padding:8px;margin:5px 0;border-radius:4px}.upload-results li.success{background:#4caf5033;color:#4caf50}.upload-results li.error{background:#f4433633;color:#f44336}.candidates-section h2{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.candidates-table-container{background:#1e1e1e;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d;overflow-x:auto}.candidates-table{width:100%;border-collapse:separate;border-spacing:0}.candidates-table th{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;text-transform:uppercase;font-size:.85em;letter-spacing:.5px}.candidates-table th:first-child{border-top-left-radius:8px}.candidates-table th:last-child{border-top-right-radius:8px}.candidates-table td{padding:14px 16px;border-bottom:1px solid #2a2a2a;color:#e0e0e0}.candidates-table tr:hover td{background-color:#2a2a2a}.skills-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-container{padding:20px}.jobs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.jobs-header h2{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.create-job-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-job-form{background:#1e1e1e;padding:30px;border-radius:12px;margin-bottom:30px;box-shadow:0 8px 32px #0000004d;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.create-job-form h3{margin-top:0;color:#e0e0e0;margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#e0e0e0;font-weight:500}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px;background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#e0e0e0;font-size:14px;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group textarea{resize:vertical;min-height:100px}.submit-job-btn{background:#4caf50;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;margin-top:10px}.jobs-list{display:grid;gap:20px}.job-card{background:#1e1e1e;padding:25px;border-radius:12px;display:flex;justify-content:space-between;align-items:center;border:1px solid #333;transition:all .3s ease}.job-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006;border-color:#667eea}.job-info h3{margin:0 0 10px;color:#e0e0e0}.job-date{color:#888;font-size:.9em;margin:0 0 10px}.job-preview{color:#b0b0b0;margin:0;line-height:1.5}.match-btn{background:transparent;border:2px solid #667eea;color:#667eea;padding:8px 16px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;margin-left:20px}.match-btn:hover{background:#667eea;color:#fff}.no-jobs{text-align:center;color:#888;font-style:italic;margin-top:40px}.match-container{padding:20px}.match-header{margin-bottom:30px;display:flex;align-items:center;gap:20px}.back-btn{background:transparent;border:1px solid #666;color:#e0e0e0;padding:8px 16px;border-radius:6px;cursor:pointer;transition:all .2s}.back-btn:hover{border-color:#fff;background:#ffffff1a}.job-summary h2{margin:0;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}.candidate-card{background:#1e1e1e;border-radius:12px;padding:25px;position:relative;border:1px solid #333;transition:transform .3s ease;display:flex;flex-direction:column;gap:20px}.candidate-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0006;border-color:#667eea}.match-score{position:absolute;top:20px;right:20px;display:flex;flex-direction:column;align-items:center}.score-circle{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9em;position:relative}.score-circle:before{content:"";position:absolute;width:40px;height:40px;background:#1e1e1e;border-radius:50%}.score-circle span{position:relative;z-index:1;color:#4caf50}.match-label{font-size:.7em;color:#888;margin-top:4px}.candidate-info h3{margin:0 0 15px;padding-right:60px;color:#fff}.candidate-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.meta-tag{font-size:.85em;color:#b0b0b0;background:#ffffff0d;padding:4px 8px;border-radius:4px}.candidate-skills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.skill-tag{font-size:.8em;color:#667eea;background:#667eea1a;padding:4px 8px;border-radius:4px;border:1px solid rgba(102,126,234,.2)}.resume-preview{background:#2a2a2a;padding:15px;border-radius:8px;font-size:.85em;color:#aaa;margin-bottom:20px}.resume-preview h4{margin:0 0 8px;color:#e0e0e0;font-size:.9em}.resume-preview p{margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-actions{display:flex;gap:10px;margin-top:auto}.action-btn{flex:1;padding:10px;border:1px solid #444;background:transparent;color:#e0e0e0;border-radius:6px;cursor:pointer;transition:all .2s}.action-btn:hover{background:#ffffff0d}.action-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff}.action-btn.primary:hover{opacity:.9}#root{max-width:1400px;margin:0 auto;padding:2rem}.container{width:100%}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #3a3a3a}.header h1{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0;font-size:2.5em}.logout-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #f5576c4d}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f5576c66}.tabs{display:flex;gap:10px;margin-bottom:30px}.tab{padding:12px 24px;background:#2a2a2a;border:2px solid #3a3a3a;border-radius:8px;color:#e0e0e0;font-weight:600;cursor:pointer;transition:all .3s ease}.tab:hover{border-color:#667eea}.tab.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.table-container{overflow-x:auto;margin-top:20px;background:#1e1e1e;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d}table{width:100%;border-collapse:separate;border-spacing:0;text-align:left}th{padding:16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;text-transform:uppercase;font-size:.85em;letter-spacing:.5px;position:sticky;top:0;z-index:10}th:first-child{border-top-left-radius:8px}th:last-child{border-top-right-radius:8px}td{padding:14px 16px;border-bottom:1px solid #2a2a2a;color:#e0e0e0}tr:hover td{background-color:#2a2a2a}tr:last-child td:first-child{border-bottom-left-radius:8px}tr:last-child td:last-child{border-bottom-right-radius:8px}tr:last-child td{border-bottom:none}tr td button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:6px 16px;border-radius:6px;font-weight:500;font-size:.9em;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d}tr td button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#1e1e1e;padding:30px;border-radius:16px;width:500px;max-width:90%;box-shadow:0 20px 60px #00000080;border:1px solid #3a3a3a;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal h2{margin-top:0;margin-bottom:25px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.8em}.form-group{margin-bottom:20px;text-align:left}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#b0b0b0;font-size:.9em;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;box-sizing:border-box;color:#e0e0e0;font-size:1em;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{height:100px;resize:vertical;font-family:inherit}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.save-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #4facfe4d}.save-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4facfe66}.cancel-btn{background:#3a3a3a;color:#fff;border:1px solid #4a4a4a;padding:10px 24px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease}.cancel-btn:hover{background:#4a4a4a;transform:translateY(-2px)}button{cursor:pointer}
