@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:linear-gradient(135deg,#f8fafc,#f1f5f9,#e2e8f0);min-height:100vh;color:#1e293b;line-height:1.6}::selection{background:#0d948833;color:#0f766e}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}:focus-visible{outline:2px solid #0d9488;outline-offset:2px}a{color:#0d9488;text-decoration:none;transition:color .2s ease}a:hover{color:#0f766e}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;overflow:hidden;background-color:#f8fafc}.login-container{width:100%;max-width:450px;position:relative;z-index:10}.login-card{background:#fffc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:2rem;padding:3rem;box-shadow:0 25px 50px -12px #0000001a;text-align:center}.login-logo-img{height:80px;width:auto;object-fit:contain;margin-bottom:1rem}.login-header h1{font-size:1.875rem;font-weight:700;color:#1e293b;margin-bottom:.5rem}.login-header p{color:#64748b;font-size:.875rem}.login-body{margin-top:2.5rem;margin-bottom:2rem}.login-welcome h2{font-size:1.25rem;font-weight:600;color:#334155;margin-bottom:.5rem}.login-welcome p{color:#94a3b8;font-size:.875rem;margin-bottom:.5rem}.login-welcome p.login-hint{font-size:.8125rem;color:#64748b;margin-bottom:1.75rem}.sso-container{display:flex;justify-content:center;margin-bottom:1rem}.login-error{background-color:#fef2f2;color:#991b1b;padding:.75rem;border-radius:.75rem;font-size:.875rem;margin-bottom:1.5rem}.login-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-top:1rem}.spinner{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}.login-footer p{color:#cbd5e1;font-size:.75rem}@media(max-width:480px){.login-card{padding:2rem 1.5rem}}.step-navigation{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 24px #0000000f;margin-bottom:2rem}.steps-container{display:flex;justify-content:space-between;align-items:center;position:relative}.step-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:none;border:none;cursor:pointer;position:relative;padding:.5rem;flex:1;transition:all .3s ease}.step-item:hover .step-icon{transform:scale(1.1)}.step-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3f4f6;color:#9ca3af;transition:all .3s ease;position:relative;z-index:2}.step-item.active .step-icon{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;box-shadow:0 4px 14px #0d948866}.step-item.completed .step-icon{background:#10b981;color:#fff}.step-label{font-size:.8rem;font-weight:500;color:#9ca3af;transition:color .3s ease}.step-item.active .step-label{color:#0d9488;font-weight:600}.step-item.completed .step-label{color:#10b981}.step-connector{position:absolute;top:24px;left:calc(50% + 30px);width:calc(100% - 60px);height:3px;background:#e5e7eb;z-index:1}.step-item.completed .step-connector{background:linear-gradient(90deg,#10b981,#0d9488)}.step-item:last-child .step-connector{display:none}@media(max-width:768px){.steps-container{flex-wrap:wrap;gap:1rem;justify-content:center}.step-item{flex:0 0 auto;min-width:80px}.step-connector{display:none}.step-icon{width:40px;height:40px}.step-label{font-size:.7rem}}.jd-suggestions-panel{background:linear-gradient(135deg,#faf5ff,#f0f9ff);border:1px solid #c4b5fd;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);cursor:pointer;color:#fff}.panel-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9rem}.job-badge{background:#fff3;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.panel-actions{display:flex;align-items:center;gap:.5rem}.get-suggestions-btn{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:#fff;color:#7c3aed;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.get-suggestions-btn:hover{background:#f5f3ff;transform:scale(1.02)}.dismiss-btn{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:#ffffffb3;cursor:pointer;border-radius:4px;transition:all .2s ease}.dismiss-btn:hover{background:#ffffff1a;color:#fff}.panel-body{padding:1rem}.loading-state{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:2rem;color:#7c3aed}.loading-state .spin{animation:spin 1s linear infinite}.error-state{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:.85rem}.error-state button{padding:.35rem .75rem;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:.8rem;cursor:pointer}.empty-state{text-align:center;padding:1.5rem;color:#6b7280;font-size:.9rem}.suggestions-content{display:flex;flex-direction:column;gap:1rem}.suggestion-group{padding:.75rem;border-radius:8px;background:#fff}.suggestion-group h5{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:#374151}.suggestion-group.include h5{color:#059669}.suggestion-group.exclude h5{color:#dc2626}.suggestion-group.warning h5{color:#d97706}.suggestion-group.improvements h5{color:#2563eb}.suggestion-group.keywords h5{color:#7c3aed}.suggestion-group.sample h5{color:#8b5cf6}.suggestion-group ul{list-style:none;padding:0;margin:0}.suggestion-group li{position:relative;padding-left:1rem;margin-bottom:.35rem;font-size:.85rem;color:#4b5563;line-height:1.4}.suggestion-group li:before{content:"•";position:absolute;left:0;color:#9ca3af}.suggestion-group.include li:before{color:#10b981}.suggestion-group.exclude li:before{color:#ef4444}.suggestion-group.warning li:before{color:#f59e0b}.suggestion-list.addable li:before{content:none}.suggestion-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-left:0!important;margin-bottom:.45rem}.suggestion-text{flex:1;min-width:0}.suggestion-add-btn,.suggestion-add-all-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#2563eb;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.suggestion-add-btn:hover,.suggestion-add-all-btn:hover{background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.suggestion-bulk-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.suggestion-row-actions{display:flex;align-items:center;gap:.5rem}.suggestion-rewrite-btn{display:inline-flex;align-items:center;padding:.3rem .55rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#7c3aed;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s ease}.suggestion-rewrite-btn:hover:not(:disabled){background:#f5f3ff;border-color:#ddd6fe;transform:translateY(-1px)}.suggestion-rewrite-btn:disabled{opacity:.65;cursor:not-allowed}.suggestion-subtext{margin-top:3px;font-size:.75rem;color:#6b7280}.keyword-chips{display:flex;flex-wrap:wrap;gap:.4rem}.keyword-chips.small{gap:.3rem}.keyword-chip{padding:.25rem .6rem;background:#f5f3ff;color:#7c3aed;border-radius:6px;font-size:.75rem;font-weight:500}.keyword-chip.critical{background:#fef3c7;color:#b45309}.keyword-chip.add{background:#dcfce7;color:#166534}.keyword-chip.priority{background:#dbeafe;color:#1e40af}.keyword-chip.remove{background:#fee2e2;color:#b91c1c}.sample-text,.suggestion-text{font-size:.85rem;color:#4b5563;line-height:1.5;padding:.5rem;background:#f9fafb;border-radius:6px;border-left:3px solid #8b5cf6}.category-title{color:#374151!important;border-bottom:1px solid #e5e7eb;padding-bottom:.35rem;margin-bottom:.5rem!important}.sub-group{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.sub-label{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#6b7280;white-space:nowrap;min-width:70px}.project-specific-suggestions{margin-top:.5rem}.project-specific-suggestions>h5{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.75rem}.project-suggestion{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;margin-bottom:.5rem}.project-suggestion h6{font-size:.85rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.mini-group{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;font-size:.8rem}.mini-group span:first-child{display:flex;align-items:center;gap:.25rem;color:#6b7280;min-width:80px}.mini-group.include span:first-child{color:#059669}.mini-group ul{margin:0;padding-left:.5rem;list-style:none}.mini-group li{font-size:.8rem;color:#4b5563;margin-bottom:.2rem}.inline-list{color:#4b5563}@media(max-width:640px){.panel-header{flex-direction:column;align-items:flex-start;gap:.5rem}.panel-actions{width:100%;justify-content:space-between}}.form-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 24px #0000000f}.form-title{font-family:Outfit,sans-serif;font-size:1.75rem;font-weight:600;color:#1a1a2e;margin-bottom:.5rem}.form-description{color:#6b7280;font-size:.95rem;margin-bottom:2rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;color:#374151;font-size:.9rem}.form-group input,.form-group textarea,.form-group select{padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s ease;background:#fafafa;font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 4px #0d94881a}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.skill-input-container{display:flex;gap:.75rem;margin-bottom:1.5rem}.skill-input{flex:1;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .2s ease;background:#fafafa}.skill-input:focus{outline:none;border-color:#0d9488;background:#fff;box-shadow:0 0 0 4px #0d94881a}.add-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.add-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0d94884d}.add-btn.small{padding:.5rem .75rem;font-size:.875rem}.remove-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:#fee2e2;color:#ef4444;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.remove-btn:hover{background:#fecaca;transform:scale(1.05)}.remove-btn.small{padding:.25rem}.skills-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.skill-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s ease}.skill-item:hover{background:#f1f5f9;border-color:#cbd5e1}.drag-handle{color:#94a3b8;cursor:grab}.skill-item.dragging,.responsibility-item.dragging{opacity:.7;border-color:#0d9488;background:#ecfeff}.skill-edit-input{flex:1;border:none;background:transparent;font-size:.95rem;color:#1e293b;padding:.25rem}.skill-edit-input:focus{outline:none;background:#fff;border-radius:4px;box-shadow:inset 0 0 0 1px #0d9488}.empty-state{text-align:center;padding:2rem;color:#9ca3af;font-style:italic;background:#f9fafb;border-radius:10px;border:2px dashed #e5e7eb}.cert-actions{margin-bottom:1.25rem}.cert-list{display:flex;flex-direction:column;gap:.75rem}.cert-item{border:1px solid #e5e7eb;border-radius:10px;padding:.9rem 1rem;background:#f9fafb}.cert-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.cert-name{font-size:.95rem;font-weight:600;color:#111827;margin:0}.cert-date{font-size:.8rem;color:#6b7280}.cert-description{font-size:.85rem;color:#4b5563;margin:.15rem 0 .5rem}.cert-actions-inline{display:flex;gap:.5rem}.secondary-btn{padding:.45rem .9rem;border-radius:999px;border:1px solid #e5e7eb;background:#fff;font-size:.8rem;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.secondary-btn:hover{border-color:#0d9488;color:#0d9488;background:#ecfeff}.skill-tips{background:linear-gradient(135deg,#f0fdfa,#e0f2fe);border-radius:12px;padding:1.25rem;border:1px solid #99f6e4}.skill-tips h4{font-size:.95rem;color:#0f766e;margin-bottom:.75rem}.skill-tips ul{list-style:none;padding:0;margin:0}.skill-tips li{position:relative;padding-left:1.25rem;margin-bottom:.5rem;color:#115e59;font-size:.875rem}.skill-tips li:before{content:"•";position:absolute;left:0;color:#14b8a6}.projects-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.project-card{border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.project-card:hover{border-color:#d1d5db}.project-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f9fafb;cursor:pointer;transition:background .2s ease}.project-header:hover{background:#f3f4f6}.project-header-left{display:flex;align-items:center;gap:.75rem}.project-number{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;font-weight:600;font-size:.875rem;border-radius:50%}.project-name-display{font-weight:500;color:#1f2937}.project-header-right{display:flex;align-items:center;gap:.5rem;color:#6b7280}.project-content{padding:1.5rem;border-top:1px solid #e5e7eb;background:#fff}.project-content .form-group{margin-bottom:1.25rem}.responsibility-input-container{display:flex;gap:.5rem;margin-bottom:1rem}.responsibility-input-container input{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem}.responsibility-input-container input:focus{outline:none;border-color:#0d9488}.responsibilities-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.responsibility-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;font-size:.9rem;line-height:1.5}.responsibility-item span{flex:1}.responsibility-edit-input{flex:1;border:none;background:transparent;font-size:.9rem;color:#1e293b;padding:.25rem;line-height:1.5}.responsibility-edit-input:focus{outline:none;background:#fff;border-radius:6px;box-shadow:inset 0 0 0 1px #0d9488}.add-project-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem;background:#f0fdfa;color:#0d9488;border:2px dashed #5eead4;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-project-btn:hover{background:#ccfbf1;border-color:#14b8a6}.technical-skills-container{display:flex;flex-direction:column;gap:1.5rem}.skill-category{padding:1.25rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.category-label{font-size:1rem;font-weight:600;color:#0f766e;margin-bottom:1rem}.skill-input-row{display:flex;gap:.5rem;margin-bottom:1rem}.skill-input-row input{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;background:#fff}.skill-input-row input:focus{outline:none;border-color:#0d9488}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;background:#fff;border:1px solid #d1d5db;border-radius:20px;font-size:.875rem;color:#374151}.tag-remove{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#9ca3af;cursor:pointer;padding:0;transition:color .2s ease}.tag-remove:hover{color:#ef4444}.logo-upload-section{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.upload-title{font-size:1rem;font-weight:600;color:#374151;margin-bottom:1rem}.upload-zone{border:2px dashed #d1d5db;border-radius:12px;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer;background:#fafafa}.upload-zone:hover,.upload-zone.drag-active{border-color:#0d9488;background:#f0fdfa}.upload-input{display:none}.upload-label{display:flex;flex-direction:column;align-items:center;gap:.75rem;cursor:pointer;color:#6b7280}.upload-label svg{color:#9ca3af}.upload-zone:hover .upload-label svg,.upload-zone.drag-active .upload-label svg{color:#0d9488}.upload-hint{font-size:.8rem;color:#9ca3af}.logo-preview{display:flex;align-items:center;gap:1.5rem;padding:1rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.logo-preview img{max-height:60px;max-width:200px;object-fit:contain}.remove-logo-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease}.remove-logo-btn:hover{background:#fecaca}.form-header-with-ai{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.form-header-with-ai .form-title{margin-bottom:.25rem}.form-header-with-ai .form-description{margin-bottom:0}.ai-rewrite-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px #6366f14d}.ai-rewrite-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.ai-rewrite-btn:disabled{opacity:.7;cursor:not-allowed}.ai-rewrite-btn .spin{animation:spin 1s linear infinite}.ai-api-section{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c7d2fe;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.ai-api-input-group{display:flex;gap:.75rem;margin-bottom:.75rem}.api-key-input{flex:1;padding:.75rem 1rem;border:1px solid #c7d2fe;border-radius:8px;font-size:.9rem;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.api-key-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.generate-btn{padding:.75rem 1.25rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.generate-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5)}.generate-btn:disabled{opacity:.7;cursor:not-allowed}.api-hint{font-size:.8rem;color:#6366f1;margin:0}.error-message{color:#dc2626;font-size:.85rem;margin-top:.5rem;margin-bottom:0}.label-with-ai{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.label-with-ai label{margin-bottom:0}.ai-rewrite-btn-small{display:flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #6366f140}.ai-rewrite-btn-small:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 3px 8px #6366f159}.ai-rewrite-btn-small:disabled{opacity:.7;cursor:not-allowed}.ai-rewrite-btn-small .spin{animation:spin 1s linear infinite}.ai-api-section-inline{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c7d2fe;border-radius:8px;padding:.75rem;margin-bottom:.75rem}.ai-api-section-inline .ai-api-input-group{margin-bottom:0}.ai-api-section-inline .error-message{margin-top:.5rem}.label-with-action{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.label-with-action label{margin-bottom:0}.ai-suggest-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:6px;font-size:.7rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #6366f140}.ai-suggest-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px);box-shadow:0 3px 8px #6366f159}.ai-suggest-btn:disabled{opacity:.7;cursor:not-allowed}.ai-suggest-btn .spin{animation:spin 1s linear infinite}.field-hint{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#8b5cf6;margin-top:.35rem;margin-bottom:0}.field-hint svg{flex-shrink:0}.field-error{font-size:.8rem;color:#dc2626;margin-top:.35rem;margin-bottom:0}@media(max-width:640px){.form-section{padding:1.5rem}.form-title{font-size:1.5rem}.skill-input-container{flex-direction:column}.add-btn{justify-content:center}.form-header-with-ai{flex-direction:column;align-items:stretch}.ai-rewrite-btn{justify-content:center}.ai-api-input-group{flex-direction:column}}.ai-review-container{padding:24px;background:#f8f9fa;border-radius:12px;min-height:500px}.ai-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-info{display:flex;gap:12px}.header-info svg{color:#7c3aed;flex-shrink:0;margin-top:2px}.header-info p{margin:0;font-size:14px;color:#666}.analyze-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7c3aed4d}.analyze-btn:disabled{opacity:.7;cursor:not-allowed}.analyze-btn .spinner{animation:spin 1s linear infinite}.error-message{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;margin-bottom:20px}.ai-review-container .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.ai-review-container .empty-state svg{color:#ddd;margin-bottom:16px}.ai-review-container .empty-state h3{margin:0 0 8px;color:#333;font-size:18px}.ai-review-container .empty-state p{margin:0 0 20px;color:#888}.feature-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;text-align:left}.feature-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:#555}.feature-list li svg{color:#7c3aed}.review-tabs{display:flex;gap:4px;background:#fff;border-radius:12px;padding:6px;margin-bottom:20px;overflow-x:auto;box-shadow:0 2px 8px #0000000a}.review-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:transparent;border:none;border-radius:8px;font-size:13px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.review-tab:hover{background:#f3f4f6;color:#333}.review-tab.active{background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-intro{margin-bottom:20px}.tab-intro h3{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:18px;color:#173f4f}.tab-intro p{margin:0;color:#666;font-size:14px}.overall-section{display:flex;align-items:center;gap:30px;padding:28px;background:#fff;border-radius:12px;border:1px solid #e8e8e8;margin-bottom:20px}.score-circle{position:relative;flex-shrink:0}.score-number{font-size:32px;font-weight:700;line-height:1}.score-label{font-size:11px;color:#666;margin-top:4px;text-transform:uppercase;letter-spacing:.5px}.overall-info h3{margin:0 0 10px;font-size:18px;color:#173f4f}.overall-info p{margin:0;font-size:14px;color:#666;line-height:1.6}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.insight-card{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.insight-card h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px}.insight-card.strong h4{color:#2e7d32}.insight-card.critical h4{color:#c62828}.insight-card.quickwins h4{color:#7c3aed}.insight-card ul{margin:0;padding-left:20px}.insight-card li{font-size:13px;color:#555;margin-bottom:8px;line-height:1.5}.sections-grid{display:flex;flex-direction:column;gap:12px}.section-card{background:#fff;border-radius:10px;border:1px solid #e8e8e8;overflow:hidden}.section-card.high{border-left:4px solid #2e7d32}.section-card.medium{border-left:4px solid #f57c00}.section-card.low{border-left:4px solid #c62828}.section-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s ease}.section-header:hover{background:#f8f9fa}.section-title{display:flex;align-items:center;gap:10px;font-weight:500;color:#333}.section-title svg{color:#666}.section-score-row{display:flex;align-items:center;gap:10px}.section-score{padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600}.section-score.high{background:#e8f5e9;color:#2e7d32}.section-score.medium{background:#fff3e0;color:#f57c00}.section-score.low{background:#ffebee;color:#c62828}.section-content{padding:14px 16px 16px;border-top:1px solid #eee}.section-feedback{margin:0 0 14px;font-size:14px;color:#555;line-height:1.6}.section-suggestions h4,.rewrite-suggestion h4,.missing-skills h4,.trending-skills h4{display:flex;align-items:center;gap:6px;margin:0 0 10px;font-size:13px;color:#7c3aed}.section-suggestions ul{margin:0;padding-left:20px}.section-suggestions li{font-size:13px;color:#555;margin-bottom:6px}.rewrite-suggestion{margin-top:14px;padding:12px;background:#f3e5f5;border-radius:8px}.rewrite-text{margin:0;font-size:13px;color:#6a1b9a;line-height:1.5;font-style:italic}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:4px 10px;border-radius:12px;font-size:12px}.skill-tag.trending{background:#e3f2fd;color:#1565c0}.bullet-improvements-list{display:flex;flex-direction:column;gap:16px}.bullet-improvement-card{background:#fff;border-radius:12px;padding:20px;border:1px solid #e8e8e8}.bullet-location{display:flex;align-items:center;gap:6px;font-size:12px;color:#888;margin-bottom:12px}.bullet-comparison{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}.bullet-original,.bullet-improved{padding:14px;border-radius:8px}.bullet-original{background:#fff5f5;border:1px solid #ffcdd2}.bullet-improved{background:#e8f5e9;border:1px solid #c8e6c9;position:relative}.bullet-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.bullet-original .bullet-label{color:#c62828}.bullet-improved .bullet-label{color:#2e7d32}.bullet-original p,.bullet-improved p{margin:0;font-size:13px;line-height:1.5;color:#333}.bullet-issue{display:flex;align-items:center;gap:6px;font-size:11px;color:#f57c00;background:#fff3e0;padding:6px 10px;border-radius:6px;margin-top:-8px}.bullet-arrow{display:flex;align-items:center;justify-content:center;color:#7c3aed;padding-top:30px}.copy-btn{position:absolute;top:10px;right:10px;padding:6px;background:#fff;border:1px solid #c8e6c9;border-radius:4px;cursor:pointer;color:#2e7d32;transition:all .2s ease}.copy-btn:hover{background:#c8e6c9}.action-verbs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.action-verb-card{background:#fff;border-radius:10px;padding:16px;border:1px solid #e8e8e8}.verb-weak{margin-bottom:10px}.verb-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:4px}.verb-text{font-size:16px;font-weight:600}.verb-text.weak{color:#c62828;text-decoration:line-through}.verb-context{margin-bottom:12px}.context-text{font-size:12px;color:#888;font-style:italic}.verb-alternatives{border-top:1px solid #eee;padding-top:12px}.alternatives-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.verb-tag{padding:6px 12px;background:#e8f5e9;color:#2e7d32;border-radius:16px;font-size:13px;font-weight:500}.formatting-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.formatting-card{background:#fff;border-radius:10px;padding:16px;border:1px solid #e8e8e8}.formatting-card.high{border-left:4px solid #c62828}.formatting-card.medium{border-left:4px solid #f57c00}.formatting-card.low{border-left:4px solid #43a047}.formatting-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.formatting-header svg{color:#666}.priority-badge{padding:3px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.priority-badge.high{background:#ffebee;color:#c62828}.priority-badge.medium{background:#fff3e0;color:#f57c00}.priority-badge.low{background:#e8f5e9;color:#43a047}.formatting-issue{margin:0 0 10px;font-size:14px;color:#333;font-weight:500}.formatting-recommendation{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:13px;color:#666;line-height:1.5}.formatting-recommendation svg{color:#7c3aed;flex-shrink:0;margin-top:2px}.keywords-sections{display:flex;flex-direction:column;gap:16px}.keywords-card{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.keywords-card h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px}.keywords-card.missing h4{color:#c62828}.keywords-card.industry h4{color:#1565c0}.keywords-list{display:flex;flex-wrap:wrap;gap:8px}.keyword-tag{padding:6px 12px;border-radius:16px;font-size:13px}.keyword-tag.missing{background:#ffebee;color:#c62828}.keyword-tag.industry{background:#e3f2fd;color:#1565c0}.ats-tips{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.ats-tips h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:#7c3aed}.ats-tips ul{margin:0;padding-left:20px}.ats-tips li{font-size:13px;color:#555;margin-bottom:8px;line-height:1.5}.no-data{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#fff;border-radius:10px;color:#2e7d32}.no-data svg{margin-bottom:12px}.no-data p{margin:0;font-size:15px}@media(max-width:768px){.ai-review-header{flex-direction:column}.overall-section{flex-direction:column;text-align:center}.bullet-comparison{grid-template-columns:1fr}.bullet-arrow{transform:rotate(90deg);padding:10px 0}.review-tabs{padding:4px}.review-tab{padding:8px 12px;font-size:12px}.review-tab span{display:none}.feature-list{grid-template-columns:1fr}}.jd-matcher-container{padding:24px;background:#f8f9fa;border-radius:12px;min-height:400px}.jd-matcher-header{margin-bottom:24px}.jd-matcher-header .header-info{display:flex;gap:12px}.jd-matcher-header .header-info svg{color:#1976d2;flex-shrink:0;margin-top:2px}.jd-matcher-header h2{margin:0 0 4px;font-size:20px;color:#173f4f}.jd-matcher-header p{margin:0;font-size:14px;color:#666}.jd-input-section{background:#fff;border-radius:10px;padding:20px;border:1px solid #e8e8e8;margin-bottom:20px}.input-mode-toggle{display:flex;gap:8px;margin-bottom:16px}.input-mode-toggle button{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;color:#666;cursor:pointer;transition:all .2s ease}.input-mode-toggle button.active{background:#e3f2fd;border-color:#1976d2;color:#1976d2}.input-mode-toggle button:hover:not(.active){background:#e8e8e8}.upload-area{margin-bottom:16px}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed #ddd;border-radius:10px;cursor:pointer;transition:all .2s ease}.drop-zone:hover{border-color:#1976d2;background:#f8f9fa}.drop-zone svg{color:#aaa;margin-bottom:12px}.drop-zone p{margin:0 0 4px;font-size:15px;color:#333}.drop-zone span{font-size:12px;color:#888}.file-preview{display:flex;align-items:center;gap:12px;padding:16px;background:#e3f2fd;border-radius:8px}.file-preview svg{color:#1976d2}.file-preview span{flex:1;font-size:14px;color:#333}.remove-file{padding:4px;background:none;border:none;color:#666;cursor:pointer;border-radius:4px}.remove-file:hover{background:#0000001a}.jd-textarea{width:100%;padding:14px;border:1px solid #ddd;border-radius:8px;font-size:14px;line-height:1.5;resize:vertical;margin-bottom:16px;box-sizing:border-box}.jd-textarea:focus{outline:none;border-color:#1976d2}.compare-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.compare-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #1976d24d}.compare-btn:disabled{opacity:.6;cursor:not-allowed}.compare-btn .spinner{animation:spin 1s linear infinite}.jd-matcher-container .error-message{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;margin-bottom:20px}.match-results{display:flex;flex-direction:column;gap:20px}.score-section{display:flex;align-items:center;gap:30px;padding:28px;background:#fff;border-radius:12px;border:1px solid #e8e8e8}.compatibility-circle{position:relative;width:140px;height:140px;flex-shrink:0}.compatibility-circle svg{width:100%;height:100%}.score-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-number{font-size:32px;font-weight:700}.score-label{font-size:12px;color:#666;margin-top:2px}.match-summary{flex:1}.match-summary h3{margin:0 0 10px;font-size:18px;color:#173f4f}.match-summary p{margin:0 0 14px;font-size:14px;color:#666;line-height:1.5}.recommendation-badge{display:inline-block;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;text-transform:capitalize}.recommendation-badge.strong-match{background:#e8f5e9;color:#2e7d32}.recommendation-badge.good-match{background:#e3f2fd;color:#1976d2}.recommendation-badge.partial-match{background:#fff3e0;color:#f57c00}.recommendation-badge.weak-match{background:#ffebee;color:#c62828}.section-scores{background:#fff;border-radius:10px;padding:20px;border:1px solid #e8e8e8}.section-scores h3{margin:0 0 16px;font-size:16px;color:#173f4f}.scores-grid{display:flex;flex-direction:column;gap:14px}.score-bar-item{display:flex;flex-direction:column;gap:6px}.score-bar-header{display:flex;justify-content:space-between;align-items:center}.score-bar-label{font-size:13px;color:#333;text-transform:capitalize}.score-bar-value{font-size:13px;font-weight:600;color:#333}.score-bar-track{height:8px;background:#e8e8e8;border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.skills-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.skills-card{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.skills-card h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px}.skills-card.matched h4{color:#2e7d32}.skills-card.missing h4{color:#c62828}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{padding:5px 12px;border-radius:16px;font-size:13px}.skill-tag.matched{background:#e8f5e9;color:#2e7d32}.skill-tag.missing{background:#ffebee;color:#c62828}.experience-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.experience-card{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.experience-card h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px;color:#2e7d32}.experience-card.gaps h4{color:#f57c00}.experience-card ul{margin:0;padding-left:20px}.experience-card li{font-size:13px;color:#555;margin-bottom:6px;line-height:1.4}.suggestions-section{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.suggestions-section h3{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:15px;color:#7c3aed}.suggestions-section ul{margin:0;padding-left:20px}.suggestions-section li{font-size:14px;color:#555;margin-bottom:8px;line-height:1.4}.insights-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.insight-box{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.insight-box h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:14px}.insight-box.strong h4{color:#2e7d32}.insight-box.concerns h4{color:#f57c00}.insight-box ul{margin:0;padding-left:20px}.insight-box li{font-size:13px;color:#555;margin-bottom:6px;line-height:1.4}.jd-matcher-container .keywords-section{background:#fff;border-radius:10px;padding:18px;border:1px solid #e8e8e8}.jd-matcher-container .keywords-section h4{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;color:#173f4f}.jd-matcher-container .keywords-list{display:flex;flex-wrap:wrap;gap:8px}.jd-matcher-container .keyword-tag{padding:6px 12px;background:#e3f2fd;color:#1976d2;border-radius:16px;font-size:13px}@media(max-width:600px){.score-section{flex-direction:column;text-align:center}.skills-comparison,.experience-section,.insights-row{grid-template-columns:1fr}}.preview-page{display:flex;flex-direction:column;gap:1rem}.preview-header{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:16px;padding:1.5rem 2rem;box-shadow:0 4px 24px #0000000f;flex-wrap:wrap;gap:1rem}.preview-info h2{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:600;color:#1a1a2e;margin:0 0 .25rem}.preview-info p{color:#6b7280;font-size:.9rem;margin:0}.preview-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.preview-tabs{display:flex;background:#fff;border-radius:12px;padding:6px;gap:4px;box-shadow:0 2px 12px #0000000a}.tab-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;color:#6b7280;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:14px}.tab-btn:hover{background:#f3f4f6;color:#374151}.tab-btn.active{background:#173f4f;color:#fff;box-shadow:0 2px 8px #173f4f33}.tab-btn.ai-tab:hover{background:#f3e5f5;color:#7c3aed}.tab-btn.ai-tab.active{background:linear-gradient(135deg,#7c3aed,#9333ea);color:#fff}.tab-btn.jd-tab:hover{background:#e3f2fd;color:#1976d2}.tab-btn.jd-tab.active{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff}.view-toggle-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.25rem}.view-toggle-label{font-size:.9rem;font-weight:500;color:#374151}.view-toggle{display:flex;background:#fff;border-radius:8px;padding:4px;gap:4px;box-shadow:0 2px 12px #0000000a}.toggle-btn{display:flex;align-items:center;gap:6px;padding:.5rem 1rem;background:transparent;color:#6b7280;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.85rem}.toggle-btn:hover{color:#374151}.toggle-btn.active{background:#fff;color:#0d9488;box-shadow:0 1px 3px #0000001a}.download-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85rem;text-decoration:none}.download-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #0d948866}.docx-btn{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.docx-btn:hover{box-shadow:0 4px 14px #2563eb66}.html-btn{background:linear-gradient(135deg,#f97316,#ea580c)}.html-btn:hover{box-shadow:0 4px 14px #f9731666}.gdocs-btn{background:linear-gradient(135deg,#4285f4,#1a73e8)}.gdocs-btn:hover{box-shadow:0 4px 14px #4285f466}.gdocs-btn.copied{background:linear-gradient(135deg,#22c55e,#16a34a)}.reset-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#fee2e2;color:#dc2626;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85rem}.reset-btn:hover{background:#fecaca;transform:translateY(-1px)}.preview-container{background:#e5e7eb;border-radius:16px;padding:2rem;overflow:auto;min-height:700px}.preview-container.ai-view{background:#fff;padding:0}.pdf-viewer{width:100%;height:800px;border:none;border-radius:8px}.pdf-iframe{width:100%;height:800px;border:none;border-radius:8px;background:#fff}.pdf-loading{width:100%;height:200px;display:flex;align-items:center;justify-content:center;color:#374151;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000a}.pdf-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#991b1b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:13px}@media(max-width:900px){.preview-actions{width:100%;justify-content:flex-start}.preview-tabs{flex-wrap:wrap}.tab-btn{flex:1;min-width:100px;justify-content:center}}@media(max-width:640px){.preview-header{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;justify-content:stretch;flex-direction:column}.view-toggle-row,.view-toggle{width:100%}.toggle-btn,.preview-actions button,.preview-actions a{flex:1;justify-content:center}.preview-container{padding:1rem}.preview-container.ai-view{padding:0}.pdf-viewer,.pdf-iframe{height:500px}.preview-tabs{gap:6px}.tab-btn{padding:8px 12px;font-size:12px}}.saved-resumes-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.saved-resumes-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.5rem;color:#1f2937}.modal-actions{display:flex;gap:12px;padding:16px 24px;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center}.action-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:14px;cursor:pointer;transition:all .2s}.action-btn:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.action-btn:disabled{opacity:.6;cursor:not-allowed}.action-btn.primary{background:#0d9488;border-color:#0d9488;color:#fff}.action-btn.primary:hover{background:#0f766e;border-color:#0f766e}.error-message{display:flex;align-items:center;gap:8px;margin:0 24px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px}.resumes-list{flex:1;overflow-y:auto;padding:16px 24px}.loading,.empty-state{text-align:center;padding:40px;color:#6b7280}.empty-state svg{color:#d1d5db;margin-bottom:16px}.empty-state p{margin:0 0 8px;font-size:1.1rem;color:#374151}.empty-state span{font-size:14px}.resume-card{display:flex;align-items:center;justify-content:space-between;padding:16px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;transition:all .2s}.resume-card:hover{border-color:#0d9488;box-shadow:0 2px 8px #0d94881a}.resume-info h3{margin:0 0 4px;font-size:1rem;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-title{margin:0 0 8px;font-size:14px;color:#6b7280}.resume-date{font-size:12px;color:#9ca3af}.resume-actions{display:flex;gap:8px;margin-left:16px}.icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;transition:all .2s}.icon-btn.edit{background:#e0f2fe;color:#0284c7}.icon-btn.edit:hover{background:#0284c7;color:#fff}.icon-btn.delete{background:#fee2e2;color:#dc2626}.icon-btn.delete:hover:not(:disabled){background:#dc2626;color:#fff}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.import-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.import-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.import-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.import-header h2{display:flex;align-items:center;gap:12px;margin:0;font-size:1.5rem;color:#1f2937}.close-btn{background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280;padding:0;line-height:1}.close-btn:hover{color:#1f2937}.import-content{padding:24px}.import-description{color:#6b7280;margin:0 0 20px;font-size:14px}.api-key-section{margin-bottom:20px}.api-key-section label{display:flex;align-items:center;gap:8px;font-weight:500;color:#374151;margin-bottom:8px;font-size:14px}.api-key-input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s}.api-key-input:focus{outline:none;border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.api-key-hint{display:block;margin-top:6px;font-size:12px;color:#9ca3af}.api-key-hint a{color:#0d9488;text-decoration:none}.api-key-hint a:hover{text-decoration:underline}.upload-area{border:2px dashed #d1d5db;border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s;background:#f9fafb;margin-bottom:20px}.upload-area:hover{border-color:#0d9488;background:#f0fdfa}.upload-area.has-file{cursor:default;border-style:solid;border-color:#0d9488;background:#fff;padding:16px}.upload-placeholder{color:#6b7280}.upload-placeholder svg{color:#d1d5db;margin-bottom:12px}.upload-placeholder p{margin:0 0 4px;font-weight:500;color:#374151}.upload-placeholder span{font-size:14px}.supported-formats{display:block;margin-top:12px;font-size:12px;color:#9ca3af}.file-preview{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px}.preview-image{max-width:100%;max-height:200px;border-radius:8px;object-fit:contain}.pdf-icon{display:flex;flex-direction:column;align-items:center;gap:8px;color:#dc2626}.pdf-icon span{font-size:12px;font-weight:600}.file-info{display:flex;flex-direction:column;align-items:center;gap:4px}.file-name{font-weight:500;color:#1f2937;font-size:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:12px;color:#6b7280}.remove-file{position:absolute;top:0;right:0;background:#fee2e2;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#dc2626;transition:all .2s}.remove-file:hover{background:#dc2626;color:#fff}.error-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px}.success-message{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;font-size:14px;margin-bottom:20px}.extract-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;background:linear-gradient(135deg,#0d9488,#0f766e);border:none;border-radius:10px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.extract-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #0d948866}.extract-btn:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:spin 1s linear infinite}@media(max-width:500px){.import-modal{max-height:100vh;border-radius:0}.upload-area{padding:24px 16px}}.settings-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.settings-modal{background:#fff;border-radius:16px;width:100%;max-width:920px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease}.settings-embedded .settings-content{padding:0;overflow:visible;max-height:none}.settings-embedded .settings-section{background:#ffffffd9}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f5f3ff,#eef2ff)}.settings-header h2{display:flex;align-items:center;gap:.75rem;margin:0;font-size:1.5rem;font-weight:600;color:#1a1a2e}.settings-header .close-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.settings-header .close-btn:hover{background:#0000000d;color:#1a1a2e}.settings-content{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 80px)}.settings-section{margin-bottom:1.25rem;padding:1.25rem;border-radius:16px;border:1px solid rgba(229,231,235,.9);background:#ffffffe6;box-shadow:0 14px 40px #0f172a0f}.settings-section:last-child{margin-bottom:0}.settings-section h3{font-size:1.1rem;font-weight:600;color:#1a1a2e;margin:0 0 .5rem}.settings-grid-2{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;margin-top:12px}.settings-field label{display:block;font-size:12px;font-weight:700;color:#374151;margin:0 0 6px}@media(max-width:780px){.settings-grid-2{grid-template-columns:1fr}}.settings-description{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.api-key-field{display:flex;flex-direction:column;gap:.75rem}.api-key-input-wrapper{position:relative;display:flex;align-items:center}.settings-input{width:100%;padding:.875rem 3rem .875rem 1rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease}.settings-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.toggle-visibility-btn{position:absolute;right:.75rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toggle-visibility-btn:hover{color:#6366f1}.api-key-actions{display:flex;gap:.75rem}.save-key-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.save-key-btn:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#4f46e5);transform:translateY(-1px)}.save-key-btn:disabled{opacity:.5;cursor:not-allowed}.save-key-btn.saved{background:linear-gradient(135deg,#10b981,#059669)}.clear-key-btn{padding:.75rem 1.25rem;background:#f3f4f6;color:#6b7280;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-key-btn:hover:not(:disabled){background:#e5e7eb;color:#374151}.clear-key-btn:disabled{opacity:.5;cursor:not-allowed}.api-key-help{margin-top:1.5rem;padding:1rem;background:#f8fafce6;border-radius:14px;border:1px solid rgba(229,231,235,.9)}.api-key-help h4{font-size:.9rem;font-weight:600;color:#374151;margin:0 0 .75rem}.api-key-help ol{margin:0;padding-left:1.25rem;color:#6b7280;font-size:.85rem;line-height:1.8}.api-key-help a{color:#6366f1;text-decoration:none;font-weight:500}.api-key-help a:hover{text-decoration:underline}.feature-list{margin:0;padding-left:1.25rem;color:#6b7280;font-size:.9rem;line-height:1.8}.feature-list li{margin-bottom:.25rem}.feature-list strong{color:#374151}.settings-note{padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(229,231,235,.9);background:#f9fafbe6;color:#374151;font-size:.85rem;margin-bottom:.75rem}.settings-note.error{border-color:#ef444459;background:#ef44440f;color:#991b1b}.prompt-row{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.settings-select{flex:1;padding:.75rem .9rem;border:2px solid #e5e7eb;border-radius:10px;font-size:.9rem;background:#fff}.secondary-btn{padding:.75rem 1rem;border-radius:8px;border:1px solid #e5e7eb;background:#fff;color:#374151;cursor:pointer;font-weight:600}.secondary-btn:disabled{opacity:.6;cursor:not-allowed}.prompt-description{margin:.5rem 0 .75rem;padding:.75rem .9rem;border-radius:14px;border:1px solid rgba(229,231,235,.9);background:#f9fafbe6;color:#4b5563;font-size:.85rem}.settings-embedded .settings-section{margin-bottom:1rem}.settings-textarea{width:100%;border:2px solid #e5e7eb;border-radius:10px;padding:.875rem 1rem;font-size:.9rem;line-height:1.4;resize:vertical;min-height:220px}.settings-textarea:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.prompt-actions{display:flex;gap:.75rem;margin-top:.75rem}@media(max-width:640px){.settings-modal{max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.settings-header,.settings-content{padding:1rem}.api-key-actions{flex-direction:column}}.person-form-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.person-form-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease}.form-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.form-header h2{margin:0;font-size:20px;color:#173f4f}.person-form-modal form{padding:24px}.form-error{padding:12px 16px;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;color:#c62828;font-size:14px;margin-bottom:20px}.form-field{margin-bottom:20px}.form-field label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-field label svg{color:#666}.required{color:#c62828}.form-field input{width:100%;padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:15px;transition:all .2s ease;box-sizing:border-box}.form-field input:focus{outline:none;border-color:#173f4f;box-shadow:0 0 0 3px #173f4f1a}.form-field input::placeholder{color:#aaa}.form-actions{display:flex;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid #eee}.cancel-btn{flex:1;padding:12px 20px;background:#f5f5f5;border:none;border-radius:8px;font-size:15px;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#e8e8e8}.save-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#173f4f,#1a5a6e);border:none;border-radius:8px;font-size:15px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.save-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #173f4f4d}.save-btn:disabled{opacity:.7;cursor:not-allowed}.save-btn .spinner{animation:spin 1s linear infinite}@media(max-width:520px){.person-form-modal{max-width:100%;margin:0 10px}.form-actions{flex-direction:column-reverse}}.person-list-container{width:100%;margin:0;padding:30px}.person-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.header-title{display:flex;align-items:center;gap:12px;color:#173f4f}.header-title h1{margin:0;font-size:28px;font-weight:600}.add-person-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#173f4f,#1a5a6e);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-person-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #173f4f4d}.person-tabs{display:flex;gap:10px;margin-bottom:18px}.person-tab{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid #e0e0e0;background:#fff;color:#173f4f;font-weight:600;cursor:pointer;transition:all .2s ease}.person-tab:hover{border-color:#173f4f;box-shadow:0 2px 10px #0000000f}.person-tab.active{background:linear-gradient(135deg,#173f4f1f,#1a5a6e1f);border-color:#173f4f80}.tab-count{display:inline-flex;min-width:26px;height:22px;padding:0 8px;align-items:center;justify-content:center;border-radius:999px;background:#173f4f1a;color:#173f4f;font-size:12px;font-weight:700}.search-bar{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:24px;box-shadow:0 2px 8px #0000000a}.search-bar svg{color:#888}.search-bar input{flex:1;border:none;outline:none;font-size:15px;color:#333}.search-bar input::placeholder{color:#aaa}.person-list-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.person-list-loading .spinner{animation:spin 1s linear infinite;color:#173f4f;margin-bottom:16px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:2px dashed #e0e0e0}.empty-state svg{color:#ccc;margin-bottom:20px}.empty-state h2{margin:0 0 8px;color:#333;font-size:20px}.empty-state p{margin:0 0 24px;color:#888}.add-first-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#173f4f;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer;transition:all .2s ease}.add-first-btn:hover{background:#1a5a6e}.persons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.person-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e8e8e8;cursor:pointer;transition:all .2s ease;position:relative}.person-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:#173f4f}.person-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#173f4f,#1a5a6e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;flex-shrink:0}.person-info{flex:1;min-width:0}.person-info h3{margin:0 0 8px;font-size:17px;font-weight:600;color:#173f4f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-details{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.detail-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.detail-item svg{color:#999;flex-shrink:0}.resume-count{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#f0f7f9;border-radius:20px;font-size:12px;color:#173f4f;font-weight:500}.person-actions{display:flex;flex-direction:column;gap:8px;opacity:0;transition:opacity .2s ease}.person-card:hover .person-actions{opacity:1}@media(max-width:768px){.person-list-container{padding:20px}.person-tabs{flex-direction:column;align-items:stretch}.person-tab{justify-content:space-between}.person-list-header{flex-direction:column;gap:16px;align-items:stretch}.persons-grid{grid-template-columns:1fr}.person-actions{opacity:1}}.version-history-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.version-history-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid #eee}.header-info h2{margin:0 0 4px;font-size:20px;color:#173f4f}.header-info p{margin:0;font-size:14px;color:#888}.close-btn{padding:8px;background:none;border:none;cursor:pointer;color:#666;border-radius:6px;transition:all .2s ease}.close-btn:hover{background:#f5f5f5;color:#333}.modal-content{flex:1;overflow-y:auto;padding:20px 24px}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#888}.loading-state .spinner{animation:spin 1s linear infinite;color:#173f4f;margin-bottom:12px}.error-state button{margin-top:12px;padding:8px 16px;background:#173f4f;color:#fff;border:none;border-radius:6px;cursor:pointer}.empty-state svg{color:#ccc;margin-bottom:12px}.versions-list{display:flex;flex-direction:column}.version-item{display:flex;gap:16px;padding-bottom:20px}.version-item:last-child{padding-bottom:0}.version-indicator{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.version-dot{width:12px;height:12px;border-radius:50%;background:#ddd;border:2px solid white;box-shadow:0 0 0 2px #ddd}.version-item.current .version-dot{background:#173f4f;box-shadow:0 0 0 2px #173f4f}.version-item.marked .version-dot{background:#ffc107;box-shadow:0 0 0 2px #ffc107}.version-line{width:2px;flex:1;background:#e8e8e8;margin-top:4px}.version-content{flex:1;background:#f8f9fa;border-radius:10px;padding:14px 16px;border:1px solid #eee}.version-item.current .version-content{background:#e8f4f8;border-color:#b3d9e8}.version-item.marked .version-content{background:#fffde7;border-color:#fff59d}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.version-number{display:flex;align-items:center;gap:8px;font-weight:600;color:#333;font-size:14px}.current-badge{padding:2px 8px;background:#173f4f;color:#fff;border-radius:10px;font-size:10px;font-weight:500}.star-icon{color:#ffc107}.version-date{display:flex;align-items:center;gap:4px;font-size:12px;color:#888}.version-label{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:12px;color:#666;margin-bottom:10px;cursor:pointer}.version-label:hover{border-color:#999}.label-edit{display:flex;gap:8px;margin-bottom:10px}.label-edit input{flex:1;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:13px}.label-edit input:focus{outline:none;border-color:#173f4f}.save-label-btn,.cancel-label-btn{padding:6px 10px;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.save-label-btn{background:#173f4f;color:#fff}.cancel-label-btn{background:#f5f5f5;color:#666}.version-actions{display:flex;gap:8px;flex-wrap:wrap}.version-actions .action-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease}.action-btn.preview{background:#e3f2fd;color:#1976d2}.action-btn.preview:hover{background:#bbdefb}.action-btn.label{background:#f3e5f5;color:#7b1fa2}.action-btn.label:hover{background:#e1bee7}.action-btn.star{background:#fff8e1;color:#f57c00}.action-btn.star:hover,.action-btn.star.active{background:#ffecb3}.action-btn.restore{background:#e8f5e9;color:#2e7d32}.action-btn.restore:hover{background:#c8e6c9}.preview-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100;padding:20px}.preview-modal{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.preview-header h3{margin:0;font-size:16px;color:#173f4f}.preview-header button{padding:4px;background:none;border:none;cursor:pointer;color:#666}.preview-content{padding:20px;overflow-y:auto}.preview-section{margin-bottom:16px}.preview-section:last-child{margin-bottom:0}.preview-section h4{margin:0 0 8px;font-size:13px;color:#173f4f;text-transform:uppercase;letter-spacing:.5px}.preview-section p{margin:4px 0;font-size:14px;color:#333}.preview-section ul{margin:0;padding-left:20px}.preview-section li{font-size:14px;color:#333;margin-bottom:4px}.preview-section li.more{color:#888;font-style:italic}@media(max-width:640px){.version-history-modal{max-height:90vh}.version-header{flex-direction:column;align-items:flex-start;gap:4px}.version-actions{gap:6px}.version-actions .action-btn{padding:5px 8px;font-size:11px}}.person-resumes-container{width:100%;margin:0;padding:30px}.person-resumes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:20px}.header-left{display:flex;align-items:center;gap:20px}.back-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#f5f5f5;border:none;border-radius:8px;font-size:14px;color:#666;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#e8e8e8;color:#333}.person-badge{display:flex;align-items:center;gap:12px}.badge-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#173f4f,#1a5a6e);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600}.badge-info h1{margin:0;font-size:20px;color:#173f4f}.badge-info span{font-size:14px;color:#888}.header-actions{display:flex;align-items:center;gap:12px}.refresh-btn{padding:10px;background:#f5f5f5;border:none;border-radius:8px;color:#666;cursor:pointer;transition:all .2s ease}.refresh-btn:hover{background:#e8e8e8;color:#333}.create-resume-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#173f4f,#1a5a6e);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:500;line-height:1;cursor:pointer;transition:all .2s ease}.create-resume-btn .btn-icon{display:block;flex-shrink:0;position:relative;top:1px}.create-resume-btn .btn-label{display:block}.create-resume-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #173f4f4d}.person-resumes-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#666}.person-resumes-loading .spinner{animation:spin 1s linear infinite;color:#173f4f;margin-bottom:16px}.error-banner{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff5f5;border:1px solid #ffcdd2;border-radius:8px;margin-bottom:20px}.error-banner p{margin:0;color:#c62828}.error-banner button{padding:8px 16px;background:#c62828;color:#fff;border:none;border-radius:6px;cursor:pointer}.empty-resumes{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;border:2px dashed #e0e0e0}.empty-resumes svg{color:#ccc;margin-bottom:20px}.empty-resumes h2{margin:0 0 8px;color:#333;font-size:20px}.empty-resumes p{margin:0 0 24px;color:#888}.create-first-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:#173f4f;color:#fff;border:none;border-radius:8px;font-size:15px;line-height:1;cursor:pointer;transition:all .2s ease}.create-first-btn .btn-icon{display:block;flex-shrink:0;position:relative;top:10px}.create-first-btn .btn-label{display:block}.create-first-btn:hover{background:#1a5a6e}.resumes-list{background:#fff;border-radius:12px;border:1px solid #e8e8e8;overflow:hidden}.list-header{padding:16px 20px;background:#f8f9fa;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.resume-count{font-size:14px;font-weight:500;color:#666}.list-header .settings-select{min-width:220px}.resume-item{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid #eee;cursor:pointer;transition:all .2s ease}.resume-item:last-child{border-bottom:none}.resume-item:hover{background:#f8f9fa}.resume-icon{width:48px;height:48px;background:#e3f2fd;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#1976d2;flex-shrink:0}.resume-info{flex:1;min-width:0}.resume-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:#173f4f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resume-title{margin:0 0 8px;font-size:14px;color:#666}.resume-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#888}.meta-item svg{color:#aaa}.version-badge{padding:2px 8px;background:#e8f5e9;color:#2e7d32;border-radius:12px;font-size:11px;font-weight:600}.resume-actions{display:flex;gap:8px;opacity:0;transition:opacity .2s ease}.resume-item:hover .resume-actions{opacity:1}.action-btn{padding:8px;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.action-btn.edit{background:#e3f2fd;color:#1976d2}.action-btn.edit:hover{background:#bbdefb}.action-btn.duplicate{background:#e8f5e9;color:#2e7d32}.action-btn.duplicate:hover{background:#c8e6c9}.action-btn.history{background:#fff3e0;color:#ef6c00}.action-btn.history:hover{background:#ffe0b2}.action-btn.delete{background:#ffebee;color:#c62828}.action-btn.delete:hover{background:#ffcdd2}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn .spinner{animation:spin 1s linear infinite}@media(max-width:768px){.person-resumes-container{padding:20px}.person-resumes-header{flex-direction:column;align-items:stretch}.header-left,.resume-item{flex-direction:column;align-items:flex-start}.resume-actions{opacity:1;width:100%;justify-content:flex-end;margin-top:10px}}.candidate-finder{width:100%;margin:0;padding:20px}.finder-header{text-align:center;margin-bottom:30px}.finder-header h2{display:flex;align-items:center;justify-content:center;gap:10px;font-size:24px;color:#1f2937;margin-bottom:8px}.finder-header p{color:#6b7280;font-size:14px}.input-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a;margin-bottom:30px}.input-mode-toggle{display:flex;gap:10px;margin-bottom:20px}.mode-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.mode-btn:hover{border-color:#d91473;color:#d91473}.mode-btn.active{border-color:#d91473;background:#fdf2f8;color:#d91473}.text-input textarea{width:100%;padding:16px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:200px;transition:border-color .2s}.text-input textarea:focus{outline:none;border-color:#d91473}.text-input textarea::placeholder{color:#9ca3af}.file-input .upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s;gap:10px;color:#6b7280}.file-input .upload-area:hover{border-color:#d91473;background:#fdf2f8}.file-input .upload-area input{display:none}.file-input .upload-area svg{color:#d91473}.file-input .file-types{font-size:12px;color:#9ca3af}.file-uploaded{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;background:#f0fdf4;border-radius:8px;font-size:14px;color:#166534}.file-uploaded button{margin-left:auto;padding:4px 12px;background:none;border:1px solid #dc2626;color:#dc2626;border-radius:4px;cursor:pointer;font-size:12px}.file-uploaded button:hover{background:#fef2f2}.error-message{display:flex;align-items:center;gap:8px;padding:12px;background:#fef2f2;border-radius:8px;color:#dc2626;font-size:14px;margin-top:16px}.action-buttons{display:flex;gap:12px;margin-top:20px}.search-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#d91473,#b30f5c);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.search-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #d914734d}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.clear-btn{padding:14px 24px;background:none;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;color:#6b7280;cursor:pointer;transition:all .2s}.clear-btn:hover{border-color:#6b7280;color:#374151}.results-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.report-actions{display:flex;gap:10px;align-items:center}.report-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#374151;transition:all .2s}.report-btn:hover{border-color:#d91473;color:#d91473;background:#fdf2f8}.results-header h3{font-size:18px;color:#1f2937}.results-count{font-size:14px;color:#6b7280}.job-analysis{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:12px;padding:20px;margin-bottom:20px}.job-analysis h4{font-size:14px;color:#6b7280;margin-bottom:16px;text-transform:uppercase;letter-spacing:.5px}.analysis-content{display:grid;gap:12px}.analysis-item{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.analysis-item strong{color:#374151;min-width:140px}.level-badge{display:inline-block;padding:4px 12px;background:#d91473;color:#fff;border-radius:20px;font-size:12px;font-weight:500;text-transform:capitalize}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.skill-tag.required{background:#fee2e2;color:#dc2626}.skill-tag.preferred{background:#dbeafe;color:#2563eb}.skill-tag.matching{background:#dcfce7;color:#166534}.skill-tag.missing{background:#fef3c7;color:#92400e}.results-summary{padding:16px;background:#f8f9fa;border-radius:8px;margin-bottom:20px;border-left:4px solid #D91473}.results-summary p{color:#4b5563;font-size:14px;line-height:1.6;margin:0}.candidate-card{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;overflow:hidden;transition:box-shadow .2s}.candidate-card:hover{box-shadow:0 4px 12px #00000014}.candidate-card.expanded{border-color:#d91473}.candidate-header{display:flex;align-items:center;gap:16px;padding:16px;cursor:pointer;background:#fafafa}.candidate-rank{font-size:20px;font-weight:700;color:#d91473;min-width:40px}.score-circle-mini{position:relative;display:flex;align-items:center;justify-content:center}.score-circle-mini .score-value{position:absolute;font-size:14px;font-weight:700}.candidate-info{flex:1}.candidate-name{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.candidate-title{font-size:13px;color:#6b7280;margin:0 0 8px}.match-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-excellent{background:#dcfce7;color:#166534}.badge-good{background:#dbeafe;color:#1d4ed8}.badge-fair{background:#fef3c7;color:#92400e}.badge-poor{background:#fee2e2;color:#dc2626}.candidate-contact{display:flex;flex-direction:column;gap:4px}.contact-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}.expand-btn{background:none;border:none;padding:8px;cursor:pointer;color:#9ca3af;transition:color .2s}.expand-btn:hover{color:#d91473}.candidate-details{padding:20px;border-top:1px solid #e5e7eb;background:#fff}.details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}.detail-section h4{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;margin-bottom:10px}.icon-success{color:#10b981}.icon-warning{color:#f59e0b}.icon-info{color:#3b82f6}.icon-alert{color:#ef4444}.detail-list{margin:0;padding-left:16px;font-size:13px;color:#4b5563}.detail-list li{margin-bottom:6px;line-height:1.4}.recommendation-section{padding:16px;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-radius:8px;margin-bottom:16px}.recommendation-section h4{display:flex;align-items:center;gap:8px;font-size:13px;color:#d91473;margin-bottom:8px}.recommendation-section p{color:#4b5563;font-size:14px;line-height:1.5;margin:0}.view-resume-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:#fff;border:2px solid #D91473;border-radius:8px;color:#d91473;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.view-resume-btn:hover{background:#d91473;color:#fff}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.no-results svg{margin-bottom:16px;opacity:.5}.no-results p{font-size:16px}@media(max-width:768px){.candidate-header{flex-wrap:wrap}.candidate-contact{width:100%;flex-direction:row;margin-top:10px}.details-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start;gap:8px}}.external-resume-ranker{width:100%;max-width:900px;margin:0 auto;padding:20px}.ranker-header{text-align:center;margin-bottom:28px}.ranker-header h2{display:flex;align-items:center;justify-content:center;gap:10px;font-size:24px;color:#1f2937;margin-bottom:8px}.ranker-header p{color:#6b7280;font-size:14px}.ranker-input-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;margin-bottom:20px}.ranker-input-section h3{font-size:16px;color:#374151;margin-bottom:14px}.ranker-input-section .input-mode-toggle{display:flex;gap:10px;margin-bottom:16px}.ranker-input-section .mode-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;border:2px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#6b7280;transition:all .2s}.ranker-input-section .mode-btn:hover{border-color:#8b5cf6;color:#8b5cf6}.ranker-input-section .mode-btn.active{border-color:#8b5cf6;background:#f5f3ff;color:#8b5cf6}.jd-textarea{width:100%;padding:14px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:160px}.jd-textarea:focus{outline:none;border-color:#8b5cf6}.file-input-block .upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;gap:8px;color:#6b7280;transition:all .2s}.file-input-block .upload-area:hover{border-color:#8b5cf6;background:#faf5ff;color:#8b5cf6}.file-input-block .upload-area input{display:none}.file-uploaded{display:flex;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;background:#ecfdf5;border-radius:8px;font-size:14px;color:#059669}.file-uploaded button{margin-left:auto;padding:4px 10px;background:transparent;border:1px solid #059669;color:#059669;border-radius:6px;cursor:pointer;font-size:12px}.upload-area.multi{display:flex;flex-direction:column;align-items:center;padding:24px;border:2px dashed #e5e7eb;border-radius:12px;cursor:pointer;gap:8px;color:#6b7280;margin-bottom:12px}.upload-area.multi:hover{border-color:#8b5cf6;background:#faf5ff;color:#8b5cf6}.upload-area.multi input{display:none}.resume-files-list{list-style:none;padding:0;margin:0}.resume-file-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f9fafb;border-radius:8px;margin-bottom:8px;font-size:14px;color:#374151}.resume-file-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-file-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:4px}.remove-file-btn:hover{background:#fee2e2;color:#dc2626}.ranker-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px}.ranker-actions{display:flex;gap:12px;margin-bottom:28px}.rank-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s}.rank-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.rank-btn:disabled{opacity:.7;cursor:not-allowed}.rank-btn .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ranker-actions .clear-btn{padding:12px 20px;background:#fff;border:2px solid #e5e7eb;color:#6b7280;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s}.ranker-actions .clear-btn:hover{border-color:#d1d5db;background:#f9fafb}.ranker-results{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.ranker-results .results-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:20px}.external-resume-ranker .report-actions{display:flex;gap:10px;align-items:center}.external-resume-ranker .report-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:2px solid #e5e7eb;background:#fff;border-radius:10px;cursor:pointer;font-size:14px;font-weight:600;color:#374151;transition:all .2s}.external-resume-ranker .report-btn:hover{border-color:#8b5cf6;color:#8b5cf6;background:#f5f3ff}.ranker-results .results-header h3{font-size:18px;color:#1f2937;margin:0}.ranker-results .results-count{font-size:14px;color:#6b7280}.ranker-results .job-analysis{background:#f9fafb;border-radius:10px;padding:16px;margin-bottom:16px}.ranker-results .job-analysis h4{font-size:14px;color:#374151;margin-bottom:10px}.ranker-results .analysis-content{display:flex;flex-direction:column;gap:8px}.ranker-results .analysis-item{font-size:14px;color:#4b5563}.ranker-results .level-badge{display:inline-block;padding:2px 8px;background:#e0e7ff;color:#4338ca;border-radius:6px;font-size:12px;margin-left:6px}.ranker-results .skill-tag{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;margin:2px 4px 2px 0}.ranker-results .skill-tag.required{background:#dcfce7;color:#166534}.ranker-results .results-summary{margin-bottom:20px;padding:12px;background:#f0f9ff;border-radius:8px;font-size:14px;color:#0c4a6e}.ranker-results .candidates-list{display:flex;flex-direction:column;gap:12px}.ranker-results .no-results{text-align:center;padding:48px 24px;color:#6b7280}.ranker-results .no-results svg{opacity:.5;margin-bottom:12px}.external-resume-ranker .candidate-card.external-rank{background:#fff;border:2px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s}.external-resume-ranker .candidate-card.external-rank.expanded{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf626}.external-resume-ranker .candidate-header{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer}.external-resume-ranker .candidate-rank{font-weight:700;font-size:18px;color:#8b5cf6;min-width:32px}.external-resume-ranker .candidate-info{flex:1;min-width:0}.external-resume-ranker .candidate-name{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 4px}.external-resume-ranker .candidate-filename{font-size:12px;color:#6b7280;margin:0 0 6px}.external-resume-ranker .match-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.external-resume-ranker .match-badge.badge-excellent{background:#dcfce7;color:#166534}.external-resume-ranker .match-badge.badge-good{background:#dbeafe;color:#1e40af}.external-resume-ranker .match-badge.badge-fair{background:#fef3c7;color:#b45309}.external-resume-ranker .match-badge.badge-poor{background:#fee2e2;color:#b91c1c}.external-resume-ranker .expand-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280}.external-resume-ranker .candidate-details{padding:0 20px 20px;border-top:1px solid #e5e7eb}.external-resume-ranker .details-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding-top:16px}.external-resume-ranker .detail-section h4{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151;margin-bottom:8px}.external-resume-ranker .detail-section .skill-tag.matching{background:#dcfce7;color:#166534}.external-resume-ranker .detail-section .skill-tag.missing{background:#fee2e2;color:#b91c1c}.external-resume-ranker .detail-list{margin:0;padding-left:18px;font-size:13px;color:#4b5563;line-height:1.5}.external-resume-ranker .recommendation-section{margin-top:16px;padding:12px;background:#f5f3ff;border-radius:8px}.external-resume-ranker .recommendation-section h4{font-size:13px;color:#5b21b6;margin-bottom:6px}.external-resume-ranker .recommendation-section p{margin:0;font-size:14px;color:#4b5563;line-height:1.5}.external-resume-ranker .score-circle-mini.external{position:relative;flex-shrink:0}.external-resume-ranker .score-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:14px}.jd-target-setup{width:100%;margin:0;padding:2rem}.jd-setup-header{text-align:center;margin-bottom:2rem}.jd-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:16px;color:#fff;margin-bottom:1rem}.jd-setup-header h2{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}.jd-setup-header p{color:#6b7280;font-size:1rem;max-width:500px;margin:0 auto}.jd-input-section{background:#f9fafb;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.jd-upload-area{margin-bottom:1rem}.jd-file-selected{margin-top:10px;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:10px;background:#ffffffbf;color:#1f2937}.jd-upload-area .file-input{display:none}.jd-upload-area .upload-label{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s ease;color:#6b7280}.jd-upload-area .upload-label:hover{border-color:#8b5cf6;background:#f5f3ff;color:#8b5cf6}.jd-upload-area .upload-hint{font-size:.75rem;color:#9ca3af}.jd-divider{display:flex;align-items:center;gap:1rem;margin:1rem 0}.jd-divider:before,.jd-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.jd-divider span{font-size:.85rem;color:#9ca3af}.jd-textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:12px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:200px;transition:all .2s ease}.jd-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.jd-textarea::placeholder{color:#9ca3af}.jd-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:1rem}.jd-actions{display:flex;justify-content:space-between;gap:1rem;margin-bottom:2rem}.skip-btn{padding:.75rem 1.5rem;background:transparent;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.skip-btn:hover{background:#f3f4f6;border-color:#d1d5db}.analyze-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.analyze-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf666}.analyze-btn:disabled{opacity:.6;cursor:not-allowed}.analyze-btn .spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.jd-analysis-result{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem}.analysis-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.analysis-header .success-icon{color:#10b981}.analysis-header h3{font-size:1.25rem;font-weight:600;color:#1a1a2e;margin:0}.analysis-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb}.analysis-item{display:flex;flex-direction:column;gap:.25rem}.analysis-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:#6b7280;letter-spacing:.5px}.analysis-value{font-size:1rem;font-weight:500;color:#1a1a2e}.analysis-skills,.analysis-keywords{margin-bottom:1rem}.analysis-skills h4,.analysis-keywords h4{font-size:.85rem;font-weight:600;color:#374151;margin-bottom:.5rem}.skill-tags,.keyword-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{padding:.35rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.skill-tag.required{background:#dcfce7;color:#166534}.skill-tag.preferred{background:#e0f2fe;color:#0369a1}.keyword-tag{padding:.25rem .6rem;background:#f5f3ff;color:#7c3aed;border-radius:6px;font-size:.75rem;font-weight:500}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f3f4f6}.continue-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;font-weight:600;cursor:pointer;transition:all .2s ease}.continue-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.jd-benefits{background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #c7d2fe;border-radius:12px;padding:1.25rem}.jd-benefits h4{font-size:.9rem;font-weight:600;color:#4c1d95;margin-bottom:.75rem}.jd-benefits ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.jd-benefits li{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#5b21b6}.jd-benefits li svg{color:#8b5cf6}@media(max-width:640px){.jd-target-setup{padding:1rem}.analysis-summary,.jd-benefits ul{grid-template-columns:1fr}.jd-actions{flex-direction:column}}.sidebar{width:260px;min-width:260px;height:100vh;height:100dvh;position:fixed;left:0;top:0;z-index:50;padding:16px 14px;overflow:hidden;box-sizing:border-box;background:#ffffffbf;border-right:1px solid rgba(229,231,235,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.sidebar.collapsed{width:82px;min-width:82px;padding:16px 10px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:10px 10px 16px;margin-bottom:10px;border-bottom:1px solid rgba(229,231,235,.7)}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:10px 6px 16px}.sidebar-logo{width:34px;height:34px;object-fit:contain}.sidebar-title{display:flex;flex-direction:column;line-height:1.15}.sidebar-toggle{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid rgba(229,231,235,.9);background:#ffffffd9;cursor:pointer;color:#334155;transition:background .12s ease,border-color .12s ease,transform .12s ease}.sidebar-toggle:hover{background:#f9fafb;border-color:#cbd5e1f2;transform:translateY(-1px)}.sidebar.collapsed .sidebar-title{display:none}.sidebar.collapsed .sidebar-toggle{margin-left:0}.sidebar-appname{font-weight:800;letter-spacing:.2px;color:#0f172a}.sidebar-sub{font-size:12px;color:#6b7280;font-weight:600}.sidebar-nav{display:grid;gap:8px;padding:10px}.sidebar.collapsed .sidebar-nav{padding:10px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid rgba(229,231,235,.8);background:#ffffffd9;color:#334155;cursor:pointer;font-weight:700;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease;text-align:left}.sidebar.collapsed .sidebar-item{justify-content:center;padding:10px}.sidebar.collapsed .sidebar-label{display:none}.sidebar-item:hover{transform:translateY(-1px);border-color:#cbd5e1e6;box-shadow:0 8px 20px #0f172a14}.sidebar-item.active{background:linear-gradient(135deg,#0d948824,#6366f11a);border-color:#0d948859;color:#0f766e}@media(max-width:920px){.sidebar{width:210px;min-width:210px}.sidebar-sub{display:none}}@media(max-width:768px){.sidebar{display:none}}.app{min-height:100vh;position:relative;overflow-x:hidden}.app-shell{display:flex;min-height:100vh}.app-shell-main{flex:1;min-width:0;margin-left:260px;transition:margin-left .2s ease}.app-shell--sidebar-collapsed .app-shell-main{margin-left:82px}@media(max-width:920px){.app-shell-main{margin-left:210px}}@media(max-width:768px){.app-shell-main,.app-shell--sidebar-collapsed .app-shell-main{margin-left:0}}.page-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2rem .75rem}.page-title{display:flex;flex-direction:column;gap:2px}.page-title h1{margin:0;font-size:1.25rem;font-weight:800;color:#0f172a}.page-title p{margin:0;font-size:.9rem;color:#6b7280}.bg-decoration{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.bg-circle{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.bg-circle-1{width:600px;height:600px;background:linear-gradient(135deg,#0d948826,#14b8a61a);top:-200px;right:-100px}.bg-circle-2{width:400px;height:400px;background:linear-gradient(135deg,#6366f11a,#8b5cf614);bottom:-100px;left:-100px}.bg-circle-3{width:300px;height:300px;background:linear-gradient(135deg,#fbbf241a,#f59e0b14);top:50%;left:50%;transform:translate(-50%,-50%)}.app-header{text-align:center;padding:1.5rem 1rem 1rem}.header-top{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:.5rem;padding:0 2rem;width:100%}.header-actions{display:flex;gap:.5rem}.header-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid rgba(229,231,235,.8);background:#ffffffe6;color:#374151;box-shadow:0 1px 2px #0000000d}.header-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.header-btn:disabled{opacity:.6;cursor:not-allowed}.header-btn.import-btn{background:#e0f2fe;border-color:#e0f2fe;color:#0284c7}.header-btn.import-btn:hover:not(:disabled){background:#0284c7;border-color:#0284c7;color:#fff}.header-btn.save-btn{background:#0d9488;border-color:#0d9488;color:#fff}.header-btn.save-btn:hover:not(:disabled){background:#0f766e;border-color:#0f766e}.header-btn.save-btn.success{background:#16a34a;border-color:#16a34a}.header-btn.settings-btn{background:#f5f3ff;border-color:#f5f3ff;color:#7c3aed}.header-btn.settings-btn:hover:not(:disabled){background:#7c3aed;border-color:#7c3aed;color:#fff}.header-btn.logout-btn{background:#fff1f2;border-color:#fecaca;color:#e11d48}.header-btn.logout-btn:hover:not(:disabled){background:#e11d48;border-color:#e11d48;color:#fff}.header-btn.finder-btn{background:linear-gradient(135deg,#d91473,#b30f5c);border-color:#d91473;color:#fff}.header-btn.finder-btn:hover:not(:disabled){background:linear-gradient(135deg,#b30f5c,#8b0a47);border-color:#b30f5c;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #d914734d}.logo{display:flex;align-items:center;justify-content:center;gap:.75rem}.back-to-list-btn{display:flex;align-items:center;justify-content:center;padding:8px;background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;transition:all .2s ease}.back-to-list-btn:hover{background:#e5e7eb;color:#173f4f}.person-indicator{font-size:.9rem;color:#6b7280;font-weight:400;padding-left:8px;border-left:2px solid #e5e7eb;margin-left:8px}.logo-img{height:40px;width:auto;object-fit:contain}.logo-text{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700;background:linear-gradient(135deg,#0d9488,#0f766e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{color:#6b7280;font-size:1rem;margin:0}.app-main{width:100%;margin:0;padding:1rem 2rem 3rem}.persons-app .app-main.persons-main{width:100%;padding:1rem 2rem 3rem}.form-container{margin-bottom:1.5rem}.nav-buttons{display:flex;justify-content:space-between;gap:1rem}.nav-btn{display:flex;align-items:center;gap:.5rem;padding:1rem 1.75rem;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none}.prev-btn{background:#f3f4f6;color:#4b5563}.prev-btn:hover:not(:disabled){background:#e5e7eb;transform:translate(-2px)}.prev-btn:disabled{opacity:.5;cursor:not-allowed}.next-btn{background:linear-gradient(135deg,#0d9488,#0f766e);color:#fff;margin-left:auto}.next-btn:hover{transform:translate(2px);box-shadow:0 4px 14px #0d948866}.app-footer{text-align:center;padding:2rem 1rem;color:#9ca3af;font-size:.875rem}.app-footer p{margin:0}@media(max-width:768px){.header-top{flex-wrap:wrap;justify-content:center;gap:.75rem}.logo,.header-actions{width:100%;justify-content:center}.header-btn span{display:none}.header-btn{padding:.5rem .75rem}}@media(max-width:640px){.app-header{padding:1.5rem 1rem 1rem}.logo-text{font-size:1.5rem}.logo-icon{font-size:2rem}.tagline{font-size:.875rem}.app-main{padding:.75rem 1rem 2rem}.nav-buttons{flex-direction:column-reverse}.nav-btn{justify-content:center}.next-btn{margin-left:0}}.jd-active-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .75rem;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;border-radius:20px;font-size:.75rem;font-weight:600;margin-left:.75rem;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 8px #8b5cf600}}.header-btn.jd-clear-btn{background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#7c3aed;border:1px solid #c4b5fd}.header-btn.jd-clear-btn:hover{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.jd-setup-app .jd-setup-main{display:flex;justify-content:center;align-items:flex-start;padding-top:2rem}@media(max-width:768px){.jd-active-badge{display:none}}.ai-logs{padding:18px 18px 24px}.ai-logs-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.ai-logs-header-actions{display:flex;align-items:center;gap:10px}.ai-logs-tabs{display:inline-flex;gap:6px;padding:4px;border-radius:12px;background:#f2f4f7;border:1px solid rgba(0,0,0,.06)}.ai-logs-tab{padding:8px 12px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;font-weight:900;font-size:13px;color:#344054}.ai-logs-tab.active{background:#fff;border:1px solid rgba(0,0,0,.08);color:#111827}.ai-logs-header h2{margin:0;font-size:22px}.ai-logs-subtitle{margin-top:4px;color:#667085;font-size:13px}.ai-logs-refresh{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff;cursor:pointer;font-weight:700}.ai-logs-refresh:disabled{opacity:.6;cursor:not-allowed}.ai-logs-filters{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px;margin-bottom:12px}.ai-logs-filter label{display:block;font-size:12px;color:#344054;font-weight:700;margin-bottom:6px}.ai-logs-filter input,.ai-logs-filter select{width:100%;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.12);background:#fff;outline:none}.ai-logs-error{padding:10px 12px;border-radius:10px;background:#fff1f1;border:1px solid rgba(198,40,40,.25);color:#b71c1c;font-weight:700;margin-bottom:12px}.ai-logs-summary{margin-bottom:12px;padding:12px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fff}.ai-logs-summary-title{font-weight:900;font-size:13px;color:#111827;margin-bottom:10px}.ai-logs-cards{display:grid;grid-template-columns:repeat(5,minmax(160px,1fr));gap:10px}.ai-logs-cards-3{grid-template-columns:repeat(3,minmax(160px,1fr))}.ai-logs-footnote{margin-top:8px;font-size:12px;color:#667085}.ai-logs-card{padding:10px 12px;border-radius:12px;background:#f9fafb;border:1px solid rgba(0,0,0,.06)}.ai-logs-card-label{font-size:12px;color:#475467;font-weight:800;margin-bottom:6px}.ai-logs-card-value{font-size:16px;font-weight:900;color:#111827}.ai-logs-card-sub{margin-top:4px;font-size:12px;color:#667085}.ai-logs-models{margin-top:12px}.ai-logs-models-title{font-weight:900;font-size:13px;color:#111827;margin-bottom:8px}.ai-logs-table-wrap{border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;background:#fff}.ai-logs-table{width:100%;border-collapse:collapse}.ai-logs-table thead th{text-align:left;font-size:12px;letter-spacing:.02em;color:#475467;background:#f9fafb;padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06)}.ai-logs-table tbody td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.06);font-size:13px;vertical-align:top}.ai-logs-empty{padding:20px 12px;text-align:center;color:#667085}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:800}.pill.ok{background:#ecfdf3;color:#027a48;border:1px solid rgba(2,122,72,.2)}.pill.bad{background:#fff1f1;color:#b42318;border:1px solid rgba(180,35,24,.2)}.ai-logs-pager{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.ai-logs-pagebtns{display:flex;gap:8px}.ai-logs-pagebtns button{padding:8px 12px;border-radius:10px;border:1px solid rgba(0,0,0,.08);background:#fff;cursor:pointer;font-weight:800}.ai-logs-pagebtns button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1100px){.ai-logs-filters,.ai-logs-cards,.ai-logs-cards-3{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:720px){.ai-logs-header-actions{width:100%;justify-content:space-between}.ai-logs-filters,.ai-logs-cards,.ai-logs-cards-3{grid-template-columns:1fr}}
