*{box-sizing:border-box;margin:0;padding:0}body{color:#111827;background:#f4f7fc;font-family:Poppins,Arial,sans-serif}button,input,select{font-family:inherit}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border-radius:24px;width:100%;max-width:420px;padding:44px;box-shadow:0 8px 28px #00000014}.login-logo{align-items:center;gap:12px;margin-bottom:28px;display:flex}.login-logo-icon{color:#fff;background:#6c63ff;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.login-logo-text{color:#1f3b8f;font-size:18px;font-weight:700}.login-card h2{margin-bottom:6px;font-size:26px}.login-subtitle{color:#6b7280;margin-bottom:28px;font-size:14px}.field{margin-bottom:18px}.field label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.field input{border:1px solid #d1d5db;border-radius:12px;outline:none;width:100%;padding:13px 15px}.field input:focus{border-color:#6c63ff;box-shadow:0 0 0 3px #6c63ff1f}.login-validation-error,.field-error{margin-top:6px;font-size:13px;font-weight:600;line-height:1.4;display:block;color:#dc2626!important}.input-invalid{border:1px solid #dc2626!important;box-shadow:0 0 0 2px #dc26261f!important}.error-msg{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:10px;margin-bottom:18px;padding:12px;font-size:13px}.login-btn{color:#fff;cursor:pointer;opacity:1;background:#6c63ff;border:none;border-radius:12px;width:100%;height:52px;font-size:15px;font-weight:600}.login-btn:hover{cursor:pointer;background:#5b54f5}.login-btn.loading,.login-btn.loading:hover{cursor:wait;background:#9b94ff}.container{max-width:1200px;margin:auto;padding:30px}.top-bar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.title{color:#1f3b8f;font-size:32px;font-weight:700}.user-info{align-items:center;gap:14px;display:flex}.logout-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:9px 18px}.logout-btn:hover{color:#dc2626;border-color:#dc2626}.top-section{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:24px;display:grid}.card{background:#fff;border-radius:20px;padding:26px;box-shadow:0 4px 16px #0000000d}.card h2{margin-bottom:18px;font-size:18px}.upload-box{background:#f8f9ff;border:2px dashed #c7c3f7;border-radius:16px;flex-direction:column;justify-content:center;gap:14px;min-height:180px;padding:24px;display:flex}.upload-box.input-invalid{background:#fff5f5;border-color:#dc2626!important}.upload-box p{color:#6b7280;font-size:14px}.upload-box input{cursor:pointer}.upload-box small{color:#6b7280;font-size:12px}select{border:1px solid #d1d5db;border-radius:12px;outline:none;width:100%;padding:14px}.jd-preview-box{background:#f8f9ff;border:1px solid #ebeefe;border-radius:14px;max-height:520px;margin-top:18px;padding:18px;overflow-y:auto}.jd-preview-box h3{color:#6c63ff;margin-bottom:12px;font-size:16px}.jd-preview-box p{color:#4b5563;white-space:pre-line;font-size:14px;line-height:1.8}.resume-preview-container{margin-top:20px}.preview-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.preview-header span{color:#6c63ff;text-transform:uppercase;font-size:13px;font-weight:700}.preview-close-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:5px 12px;font-size:12px}.preview-close-btn:hover{color:#dc2626;border-color:#dc2626}.resume-preview-box{background:#f8f9ff;border:1px solid #e5e7eb;border-radius:14px;width:100%;max-height:520px;padding:14px;overflow-y:auto}.pdf-page-image{background:#fff;border:1px solid #e5e7eb;width:100%;height:auto;margin-bottom:16px;display:block}.docx-preview{color:#374151;background:#fff;font-size:13px;line-height:1.8}.preview-message{color:#6b7280;text-align:center;padding:24px}.preview-error{color:#dc2626;background:#fff5f5;border:1px solid #fecaca;border-radius:10px;padding:16px}.match-options{background:#fff;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:24px;padding:18px 24px;display:flex}.filters-group{align-items:center;gap:22px;display:flex}.filters-group label{align-items:center;gap:8px;display:flex}.filters-group input{accent-color:#6c63ff}.analyze-btn{color:#fff;cursor:pointer;background:#6c63ff;border:none;border-radius:12px;padding:13px 28px;font-weight:600}.analyze-btn:hover:not(:disabled){background:#5b54f5}.analyze-btn:disabled{opacity:.6;cursor:wait}.scores{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px;display:grid}.score-card{text-align:center;background:#fff;border-radius:20px;padding:28px;box-shadow:0 4px 16px #0000000d}.score-card h3{margin-bottom:18px}.score{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:90px;height:90px;margin:auto;font-size:22px;font-weight:700;display:flex}.green{background:#1fb76a}.blue{background:#3478f6}.purple{background:#8c52ff}.middle-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.bottom-grid{grid-template-columns:1fr 1fr 1fr;gap:24px;display:grid}.tags{flex-wrap:wrap;gap:12px;display:flex}.tag{color:#fff;border-radius:10px;padding:10px 14px;font-size:13px}.success{background:#1fb76a}.danger{background:#ff4d4f}.project-box{background:#f8f9ff;border:1px solid #ebeefe;border-radius:14px;margin-bottom:14px;padding:16px}.project-box h3{color:#6c63ff;margin-bottom:8px}.project-box p,.card p{color:#6b7280;font-size:14px;line-height:1.8}.recommend{color:#374151;font-size:15px;line-height:1.8}.placeholder-text{color:#9ca3af;text-align:center;padding:24px}.disabled-card{opacity:.45}@media (width<=900px){.top-section,.scores,.middle-grid,.bottom-grid{grid-template-columns:1fr}.match-options,.filters-group,.top-bar{flex-direction:column;align-items:flex-start;gap:16px}}
