body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.home-container{margin:0 40px;min-height:100vh;padding:32px 16px}.header-section{margin-bottom:32px}.header-section h1{color:#333;font-size:2rem;font-weight:700;margin-bottom:16px}.header-section p{color:#666;margin-bottom:16px}.header-section a{align-items:center;color:#2563eb;display:inline-flex;text-decoration:none}.header-section a:hover{color:#1d4ed8}.arrow-icon{margin-left:4px}.container{margin:0 auto;min-height:100vh;padding:32px 16px}.container h1{color:#333;font-size:2.5rem;font-weight:700;text-align:center}.container h1,.url-form{margin-bottom:32px}.input-group{display:flex;gap:12px;margin:0 auto;max-width:600px}.url-input{border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:16px;padding:12px 16px;transition:border-color .3s ease}.url-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.submit-btn{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .3s ease}.submit-btn:hover{background-color:#1d4ed8}.submit-btn:active{background-color:#1e40af}.jobs-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.job-info{max-width:80%}@media (max-width:1024px){.jobs-grid{grid-template-columns:repeat(2,1fr)}}.follow-count-badge{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:20px;box-shadow:0 2px 8px #ef44444d;color:#fff;display:flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px;position:absolute;right:12px;top:12px;transition:all .3s ease;z-index:10}.follow-count-badge:hover{box-shadow:0 4px 12px #ef444466;transform:scale(1.05)}.follow-count-badge:has(.follow-count:empty),.follow-count-badge:has(.follow-count[data-count="0"]){display:none}@media (max-width:640px){.jobs-grid{grid-template-columns:1fr}.job-header{flex-direction:column}.company-logo{height:48px;width:48px}.pagination-container{flex-wrap:wrap;gap:4px}.pagination-button{font-size:12px;padding:6px 12px}.follow-count-badge{font-size:11px;padding:4px 8px;right:8px;top:8px}.heart-icon-small{height:12px;width:12px}}.job-card{border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;padding:20px;position:relative;transition:box-shadow .3s ease}.job-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.clickable-card{cursor:pointer;transition:all .3s ease}.clickable-card:hover{border-color:#3b82f6;box-shadow:0 6px 20px #00000026;transform:translateY(-4px)}.clickable-card:active{transform:translateY(-2px)}.job-header{display:flex;gap:16px}.company-logo{flex-shrink:0;height:64px;width:64px}.company-logo img{border-radius:4px;object-fit:contain}.job-info{flex:1 1}.job-title{color:#333;font-size:1rem;margin-bottom:8px}.text-highlight{background:#fff3b0;border-radius:3px;color:inherit;padding:0 2px}.job-source{color:#3b82f6;font-size:.78rem}.deadline-chip,.job-source{font-weight:600;margin-bottom:8px}.deadline-chip{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.72rem;gap:4px;padding:3px 8px}.deadline-chip.active{background:#dcfce7;border-color:#86efac;color:#166534}.deadline-chip.expired{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.deadline-chip.unknown{background:#e5e7eb;border-color:#d1d5db;color:#374151}.job-details{align-items:center;color:#666;display:flex;font-size:.875rem;gap:8px;margin-bottom:8px}.detail-item{display:flex}.detail-item svg{height:16px;margin-right:4px;width:16px}.skills-list{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background-color:#f3f4f6;border-radius:4px;color:#666;font-size:.75rem;padding:4px 8px}.follow-badge{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border-radius:20px;box-shadow:0 2px 8px #ef44444d;color:#fff;display:flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px;position:absolute;right:12px;top:12px;transition:all .3s ease;z-index:10}.follow-badge:hover{box-shadow:0 4px 12px #ef444466;transform:scale(1.05)}.heart-icon-small{color:#fff;height:14px;width:14px}.follow-count{min-width:16px;text-align:center}@media (max-width:640px){.job-header{flex-direction:column}.company-logo{height:48px;width:48px}.follow-badge{font-size:11px;padding:4px 8px;right:8px;top:8px}}.carousel-container{margin-bottom:48px;width:100%}.carousel-wrapper{border-radius:16px;box-shadow:0 10px 40px #00000026;height:500px;overflow:hidden;position:relative;width:100%}.carousel-slides{display:flex;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1)}.carousel-slide{align-items:center;display:flex;height:100%;min-width:100%;padding:60px 80px;position:relative}.carousel-content{align-items:center;display:flex;gap:60px;justify-content:space-between;width:100%}.carousel-text{color:#fff;flex:1 1;max-width:600px;z-index:2}.carousel-title{color:#fff;font-size:48px;font-weight:800;line-height:1.2;margin:0 0 20px;text-shadow:0 2px 10px #0003}.carousel-description{color:#fffffff2;font-size:20px;line-height:1.6;margin:0 0 32px;text-shadow:0 1px 5px #0000001a}.carousel-cta{align-items:center;background:#fff;border:none;border-radius:50px;box-shadow:0 4px 15px #0003;color:#667eea;cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:10px;padding:16px 32px;transition:all .3s ease}.carousel-cta:hover{box-shadow:0 6px 20px #00000040;transform:translateY(-2px)}.cta-icon{transition:transform .3s ease}.carousel-cta:hover .cta-icon{transform:translateX(5px)}.carousel-image{flex:1 1;height:380px;max-width:500px;position:relative}.image-overlay{animation:float 3s ease-in-out infinite;background-position:50%;background-size:cover;border-radius:12px;box-shadow:0 20px 60px #0000004d;height:100%;width:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.carousel-arrow{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff4d;border:2px solid #ffffff80;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.carousel-arrow:hover{background:#ffffff80;transform:translateY(-50%) scale(1.1)}.carousel-arrow-left{left:20px}.carousel-arrow-right{right:20px}.carousel-indicators{bottom:30px;display:flex;gap:12px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.carousel-indicator{background:#fff6;border:2px solid #fff9;border-radius:50%;cursor:pointer;height:12px;padding:0;transition:all .3s ease;width:12px}.carousel-indicator:hover{background:#fff9;transform:scale(1.2)}.carousel-indicator.active{background:#fff;border-radius:6px;width:32px}@media (max-width:1024px){.carousel-wrapper{height:450px}.carousel-slide{padding:50px 60px}.carousel-content{gap:40px}.carousel-title{font-size:40px}.carousel-description{font-size:18px}.carousel-image{height:320px;max-width:400px}}@media (max-width:768px){.carousel-wrapper{height:400px}.carousel-slide{padding:40px}.carousel-content{flex-direction:column;gap:30px;text-align:center}.carousel-text{max-width:100%}.carousel-title{font-size:32px}.carousel-description{font-size:16px;margin-bottom:24px}.carousel-image{height:250px;max-width:100%}.carousel-arrow{height:40px;width:40px}.carousel-arrow-left{left:15px}.carousel-arrow-right{right:15px}}@media (max-width:480px){.carousel-wrapper{border-radius:12px;height:500px}.carousel-slide{padding:30px 20px}.carousel-title{font-size:28px}.carousel-description{font-size:14px;margin-bottom:20px}.carousel-cta{font-size:14px;padding:12px 24px}.carousel-image{height:200px}.carousel-indicators{bottom:20px}.carousel-indicator{height:10px;width:10px}.carousel-indicator.active{width:24px}}.auth-page-container{align-items:center;background:#f8f9fa;display:flex;justify-content:center;min-height:calc(100vh - 400px);padding:2rem 1rem}.auth-form-wrapper{max-width:420px;width:100%}.auth-page-title{color:#1a202c;font-size:1.75rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.auth-form{width:100%}.auth-form-box{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;padding:2rem}.auth-field{margin-bottom:1.5rem}.auth-label{color:#2d3748;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;padding-left:0;text-transform:capitalize}.auth-input{background:#fff;border:1px solid #cbd5e0;border-radius:.375rem;font-family:inherit;font-size:.95rem;padding:.75rem 1rem;transition:all .3s;width:100%}.auth-input:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.auth-input::placeholder{color:#a0aec0}.auth-error{background:#fff5f5;border-left:4px solid #e53e3e;color:#e53e3e}.auth-error,.auth-success{border-radius:.375rem;font-size:.875rem;margin-bottom:1rem;padding:.75rem}.auth-success{background:#f0fff4;border-left:4px solid #38a169;color:#38a169}.auth-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:.375rem;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;min-height:44px;padding:.85rem;transition:all .3s ease;width:100%}.auth-button:hover:not(:disabled){box-shadow:0 8px 20px #667eea59;transform:translateY(-2px)}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{background:#cbd5e0;cursor:not-allowed;opacity:.6}.auth-spinner{animation:auth-spin 1s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:1.25rem;width:1.25rem}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-link-section{font-size:.875rem;margin-top:1.5rem;text-align:center}.auth-link-text{color:#718096}.auth-link{color:#667eea;cursor:pointer;font-weight:600;text-decoration:none;transition:color .3s,-webkit-text-decoration .3s;transition:color .3s,text-decoration .3s;transition:color .3s,text-decoration .3s,-webkit-text-decoration .3s}.auth-link:hover{color:#764ba2;text-decoration:underline}@media (max-width:768px){.auth-page-container{min-height:auto;padding:1.5rem 1rem}.auth-form-wrapper{max-width:100%}.auth-form-box{padding:1.5rem}.auth-page-title{font-size:1.5rem;margin-bottom:1rem}}@media (max-width:480px){.auth-form-box{padding:1.25rem}.auth-field{margin-bottom:1rem}.auth-page-title{font-size:1.25rem}}.profile-container{background-color:#f8fafc;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.sidebar{background:#fff;border-right:1px solid #e2e8f0;height:100vh;overflow-y:auto;position:-webkit-sticky;position:sticky;top:0;width:280px}.user-info{align-items:center;border-bottom:1px solid #e2e8f0;padding:32px 24px;text-align:center}.user-avatar{margin-bottom:16px}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 8px 32px #667eea4d;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;margin:0 auto;text-transform:uppercase;width:80px}.company-logo-avatar{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:block;height:80px;margin:0 auto;object-fit:contain;padding:4px;width:80px}.username{word-wrap:break-word;color:#1a202c;font-size:16px;margin:0 0 8px}.user-role{color:#718096;font-size:14px;margin:0;text-transform:capitalize}.sidebar-nav{flex:1 1;padding:24px 0}.sidebar-nav ul{list-style:none;margin:0;padding:0}.sidebar-nav li{margin-bottom:4px}.nav-link{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:flex;font-size:15px;font-weight:500;padding:12px 24px;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.nav-link:hover{background-color:#f7fafc;color:#2d3748}.nav-link.active{background-color:#ebf8ff;border-right:3px solid #3182ce;color:#3182ce}.nav-icon{flex-shrink:0;height:20px;margin-right:12px;width:20px}.sidebar-footer{border-top:1px solid #e2e8f0;padding:24px}.logout-btn{align-items:center;background:none;border:1px solid #fed7d7;border-radius:8px;color:#e53e3e;cursor:pointer;display:flex;font-size:15px;font-weight:500;padding:12px 16px;transition:all .2s ease;width:100%}.logout-btn:hover{background-color:#fed7d7;color:#c53030}.main-content{flex:1 1;overflow-y:auto;padding:32px}.content-section h2{color:#1a202c;font-size:24px;font-weight:700;margin:0 0 24px}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.section-header h2{margin:0 0 4px}.section-header-with-action{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-header-with-action h2{margin:0}.section-subtitle{color:#718096;font-size:14px;margin:4px 0 0}.loading-container{color:#718096}.empty-state,.loading-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.empty-state{border:1px solid #e2e8f0;padding:48px 24px;text-align:center}.empty-icon{color:#cbd5e0;height:64px;margin:0 auto 16px;width:64px}.empty-state p{color:#718096;font-size:16px;line-height:1.5;margin:0 0 24px}.empty-state p:last-child{margin-bottom:0}.browse-btn{align-items:center;background:linear-gradient(135deg,#4299e1,#3182ce);border-radius:8px;color:#fff;display:inline-flex;font-weight:600;padding:12px 24px;text-decoration:none;transition:all .2s ease}.browse-btn:hover{background:linear-gradient(135deg,#3182ce,#2c5aa0);box-shadow:0 4px 12px #3182ce66;transform:translateY(-1px)}.profile-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-top:24px;padding:24px}.profile-details .detail-row{align-items:flex-start;border-bottom:1px solid #f7fafc;display:flex;padding:16px 0}.profile-details .detail-row:last-child{border-bottom:none}.profile-details .detail-row label{color:#4a5568;flex-shrink:0;font-size:15px;font-weight:600;min-width:140px}.profile-details .detail-row span{color:#2d3748;flex:1 1;font-weight:500}.profile-details .description-row{align-items:flex-start;flex-direction:column;gap:8px}.description-text{word-wrap:break-word;color:#4a5568;line-height:1.6;margin:0;white-space:pre-wrap}.cv-link{color:#3182ce;font-weight:600;text-decoration:none;transition:color .2s ease}.cv-link:hover{color:#2c5aa0;text-decoration:underline}.edit-profile-btn{align-items:center;background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}.edit-profile-btn:hover{background:linear-gradient(135deg,#3182ce,#2c5aa0);box-shadow:0 4px 12px #3182ce66;transform:translateY(-1px)}.profile-edit-form{background:#fff;border-radius:12px;padding:0}.profile-edit-form .end-form-group{margin-bottom:24px}.profile-edit-form .end-form-group label{color:#4a5568;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.profile-edit-form .form-input,.profile-edit-form textarea.form-input{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:15px;padding:12px 16px;transition:border-color .2s ease;width:100%}.profile-edit-form .form-input:focus,.profile-edit-form textarea.form-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.profile-edit-form .form-input:disabled,.profile-edit-form textarea.form-input:disabled{background-color:#f7fafc;cursor:not-allowed;opacity:.6}.profile-edit-form textarea.form-input{min-height:100px;resize:vertical}.radio-group{gap:16px}.radio-group,.radio-label{align-items:center;display:flex}.radio-label{color:#4a5568;cursor:pointer;font-size:14px;gap:8px;-webkit-user-select:none;user-select:none}.radio-input{accent-color:#3182ce;cursor:pointer;height:18px;width:18px}.radio-label:hover{color:#2d3748}.cv-current-file{background-color:#f0f9ff;border:1px solid #bfdbfe;border-radius:8px;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 12px}.cv-current-file,.cv-file-info{align-items:center;display:flex}.cv-file-info{flex:1 1;gap:8px;min-width:0}.cv-file-icon{color:#3b82f6;flex-shrink:0}.cv-file-link{color:#2563eb;font-size:13px;font-weight:500;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.cv-file-link:hover{text-decoration:underline}.cv-remove-btn{align-items:center;background-color:initial;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:4px;transition:background-color .2s}.cv-remove-btn:hover:not(:disabled){background-color:#fee2e2}.cv-remove-btn:disabled{cursor:not-allowed;opacity:.5}.cv-upload-wrapper{position:relative}.cv-file-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.cv-upload-label{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s;-webkit-user-select:none;user-select:none}.cv-upload-label:hover:not(.disabled){background-color:#f9fafb}.cv-upload-label.disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.upload-status{align-items:center;color:#3b82f6;display:flex;font-size:13px;gap:8px;margin-top:8px}.muted{color:#718096;display:block;font-size:12px;margin-top:6px}.form-actions{align-items:center;border-top:1px solid #e2e8f0;justify-content:flex-start;margin-top:28px}.cancel-link-btn{background:none;border:none;color:#3182ce;cursor:pointer;font-size:15px;font-weight:500;padding:0;text-decoration:none;transition:color .2s ease}.cancel-link-btn:hover:not(:disabled){color:#2c5aa0;text-decoration:underline}.cancel-link-btn:disabled{cursor:not-allowed;opacity:.6}.cancel-btn{background:#fff;border:2px solid #e2e8f0;color:#4a5568;font-size:15px}.cancel-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.cancel-btn:disabled{cursor:not-allowed;opacity:.6}.save-btn{background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px 24px;transition:all .2s ease}.save-btn:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 12px #48bb7866;transform:translateY(-1px)}.save-btn:disabled{cursor:not-allowed;opacity:.6}.no-profile{padding:48px 24px;text-align:center}.no-profile h3{color:#4a5568;font-size:18px;font-weight:600;margin:0 0 8px}.no-profile p{color:#718096;font-size:16px;line-height:1.5;margin:0 0 24px}.password-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;max-width:500px;padding:32px}.end-form-group{margin-bottom:24px}.end-form-group label{color:#4a5568;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{background-color:#fff;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;padding:12px 16px;transition:border-color .2s ease;width:100%}.form-input:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.update-btn{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:14px 28px;transition:all .2s ease}.update-btn:hover:not(:disabled){background:linear-gradient(135deg,#3182ce,#2c5aa0);box-shadow:0 4px 12px #3182ce66;transform:translateY(-1px)}.update-btn:disabled{cursor:not-allowed;opacity:.6}.message{align-items:center;font-size:14px;font-weight:500;gap:8px;margin-bottom:24px;padding:14px 18px}.message.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#991b1b}.button-loading{align-items:center;display:flex;gap:8px}.favorites-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}.favorite-job-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:20px;transition:all .2s ease}.favorite-job-card:hover{border-color:#4299e1;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.job-card-header{align-items:flex-start;display:flex;gap:12px;margin-bottom:16px}.company-logo-small img{border-radius:6px;object-fit:contain}.job-card-info{flex:1 1;min-width:0}.job-card-title{color:#1a202c;font-size:16px;font-weight:600;line-height:1.3;margin:0 0 4px}.company-card-name{color:#718096;font-size:14px;font-weight:500;margin:0}.job-card-details{margin-bottom:16px}.job-card-details .detail-row{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:6px;margin-bottom:6px}.detail-icon{color:#9ca3af;flex-shrink:0;height:16px;width:16px}.job-card-skills{display:flex;flex-wrap:wrap;gap:6px}.skill-tag-small{background-color:#edf2f7;color:#4a5568}.more-skills,.skill-tag-small{border-radius:12px;font-size:12px;font-weight:500;padding:4px 8px}.more-skills{background-color:#e2e8f0;color:#718096}.applications-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.applications-table{border-collapse:collapse;font-size:14px;width:100%}.applications-table thead{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-bottom:2px solid #e2e8f0}.applications-table th{color:#2d3748;font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}.applications-table tbody tr{border-bottom:1px solid #f7fafc;transition:background-color .2s ease}.applications-table tbody tr:hover{background-color:#f7fafc}.applications-table td{color:#4a5568;padding:16px 12px;vertical-align:middle}.job-title-cell{color:#1a202c;font-weight:600}.status-cell{font-weight:600;text-transform:capitalize}.action-buttons,.view-detail-btn{justify-content:center}.view-detail-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;padding:8px 12px;transition:all .2s ease}.view-detail-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.view-detail-btn:disabled{cursor:not-allowed;opacity:.5}.delete-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;padding:8px 12px;transition:all .2s ease}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}@media (max-width:768px){.profile-container{flex-direction:column}.sidebar{height:auto;position:relative;width:100%}.main-content{padding:24px 16px}.favorites-grid{grid-template-columns:1fr}.form-actions{align-items:stretch;flex-direction:column-reverse}.form-actions button{width:100%}.section-header-with-action{align-items:flex-start;flex-direction:column;gap:12px}.edit-profile-btn{justify-content:center;width:100%}}.job-detail-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.job-detail-header{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:30px}.back-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;margin-bottom:20px;padding:0;text-decoration:none;transition:color .3s ease}.back-button:hover,.back-link{color:#3b82f6}.back-link{background:none;border:none;cursor:pointer;font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.loading-container{min-height:60vh}.not-found-container{align-items:center;display:flex;justify-content:center;min-height:60vh}.not-found-content{text-align:center}.not-found-content h2{color:#4b5563;font-size:24px;font-weight:700;margin-bottom:20px}.job-header-content{align-items:flex-start;display:flex;gap:20px;margin-bottom:20px}.company-logo-large{flex-shrink:0}.company-logo-large img{border:2px solid #f3f4f6;border-radius:12px;height:100px;object-fit:cover;width:100px}.job-header-info{flex:1 1}.job-title-large{color:#111827;font-size:28px;font-weight:700;line-height:1.2;margin:0 0 8px}.company-name{color:#6b7280;font-size:18px;font-weight:500;margin:0}.job-source-detail{color:#2563eb;font-size:14px;font-weight:600;margin-top:8px}.deadline-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;margin-top:8px;padding:4px 10px}.deadline-active{background:#dcfce7;border-color:#86efac;color:#166534}.deadline-expired{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.deadline-unknown{background:#e5e7eb;border-color:#d1d5db;color:#374151}.deadline-days{font-weight:700}.job-meta{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px}.meta-item{align-items:center;color:#4b5563;display:flex;font-size:16px;gap:8px}.meta-icon{color:#9ca3af;height:20px;width:20px}.action-buttons{align-items:center;flex-wrap:wrap;gap:12px;justify-content:flex-end}.follow-count-display{align-items:center;color:#6b7280;display:flex;font-size:14px;gap:6px;margin-right:8px}.heart-icon-count{color:#ef4444;height:16px;width:16px}.count-text{font-weight:500}.apply-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.apply-button:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.apply-button:disabled{cursor:not-allowed;opacity:.6}.apply-icon{height:20px;width:20px}.original-url-button{align-items:center;background:#f8fafc;border:2px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.original-url-button:hover{background:#e5e7eb;border-color:#9ca3af;color:#1f2937}.external-link-icon{height:20px;width:20px}.save-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.save-button:hover{background:#f8fafc;border-color:#3b82f6;color:#3b82f6}.save-button.followed{background:#fef2f2;border-color:#ef4444;color:#ef4444}.save-button.followed:hover{background:#fee2e2;border-color:#dc2626;color:#dc2626}.save-button:disabled{cursor:not-allowed;opacity:.6}.heart-icon{height:20px;transition:all .3s ease;width:20px}.save-button.followed .heart-icon{color:#ef4444}.flexing-items{align-items:center;display:flex}.job-detail-content{display:flex;gap:30px;margin-bottom:40px}.main-content{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000001a;overflow:hidden}.content-section{border-bottom:1px solid #f3f4f6;padding:30px}.content-section:last-child{border-bottom:none}.content-section h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 16px}.content-text{white-space:pre-line}.content-html,.content-text{color:#4b5563;font-size:16px;line-height:1.7}.content-html h4,.content-html h5,.content-html h6{color:#111827;font-weight:700;margin:14px 0 8px}.content-html p{margin:0 0 12px}.content-html ol,.content-html ul{margin:0 0 14px 22px;padding:0}.content-html li{margin:4px 0}.content-html b,.content-html strong{color:#111827;font-weight:700}.content-html a{color:#1d4ed8;text-decoration:underline}.skills-container{display:flex;flex-wrap:wrap;gap:8px}.skill-badge{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:20px;color:#1e40af;font-size:14px;font-weight:500;padding:8px 16px}.sidebar{display:flex;flex-direction:column;gap:20px}.company-card,.info-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:24px}.company-card h3,.info-card h3{color:#111827;font-size:18px;font-weight:700;margin:0 0 16px}.info-list{display:flex;flex-direction:column;gap:12px}.info-item{align-items:center;border-bottom:1px solid #f9fafb;display:flex;justify-content:space-between;padding:8px 0}.info-item:last-child{border-bottom:none}.info-label{color:#6b7280;font-size:14px;font-weight:500}.info-value{color:#111827;font-size:14px;font-weight:600;text-align:right}.company-info{align-items:flex-start;display:flex;gap:16px}.company-avatar{border:1px solid #e5e7eb;border-radius:8px}.company-info h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 8px}.company-desc{color:#6b7280;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.job-detail-container{padding:16px}.job-detail-header{padding:20px}.job-header-content{flex-direction:column;text-align:center}.job-title-large{font-size:24px}.action-buttons,.job-meta{justify-content:center}.action-buttons{flex-wrap:wrap}.job-detail-content{gap:20px;grid-template-columns:1fr}.company-card,.content-section,.info-card{padding:20px}.back-button{margin-bottom:16px}}.animate-spin{animation:spin 1s linear infinite}ul{list-style:none}.header-container{align-items:center;background-color:#fff;box-shadow:0 2px 4px #0000001a;display:flex;height:80px;justify-content:space-between;padding:0 55px;position:relative}.sub-menu{z-index:999}.logo{flex-shrink:0;font-family:Bungee,Arial,Helvetica,sans-serif;font-size:24px;font-weight:200}.logo h1{margin:0}.logo a,.logo img{display:block}.logo img{height:auto;max-width:100%}.menu{align-items:center;display:flex;flex-grow:1;justify-content:space-between;margin-right:30px}.search{flex-grow:1;list-style:none;margin:0 0 0 30px;max-width:700px;padding:0}select option{border:100px solid #000!important}.search-form-wrapper{flex-wrap:nowrap;width:100%}.search-filters,.search-form-wrapper{align-items:center;display:flex;gap:8px}.search-filters{flex-shrink:0}.search-submit-button{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:21px;color:#fff;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:600;height:42px;padding:0 14px;transition:transform .2s ease,box-shadow .2s ease}.search-submit-button:hover{box-shadow:0 6px 14px #2563eb40;transform:translateY(-1px)}.search-submit-button:active{transform:translateY(0)}.filter-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23333' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:12px;border:1px solid #e0e0e0;border-radius:21px;color:#333;height:42px;min-width:140px;outline:none;transition:all .3s ease;width:150px!important}.filter-select:hover{background-color:#f8f9fa;border-color:#007bff}.filter-select:focus{background-color:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.filter-select option{background-color:#fff;color:#333;cursor:pointer;font-size:14px;padding:12px}.filter-select option:hover{background-color:#f0f7ff;color:#007bff}.filter-select option:checked{background-color:#007bff;color:#fff;font-weight:600}.filter-select::-webkit-scrollbar{width:6px}.filter-select::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.filter-select::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.filter-select::-webkit-scrollbar-thumb:hover{background:#555}.filter-select{scrollbar-color:#888 #f1f1f1;scrollbar-width:thin}.form-group{margin:0;min-width:250px;position:relative}.form-icon-left{padding-left:10px;width:100%}.form-control{background-color:#f5f5f5;border:1px solid #0000;border-radius:21px;color:#333;font-size:14px;line-height:1.5;padding:8px 40px;transition:all .3s ease;width:100%}.form-control:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.btn{background:none;border:none;color:#666;cursor:pointer;padding:8px;position:absolute;right:4px;top:50%;transform:translateY(-50%);transition:color .3s ease}.btn:hover{color:#007bff}@media (max-width:1024px){.search{max-width:500px}.search-form-wrapper{flex-wrap:wrap}.form-group{min-width:100%}.search-filters{width:100%}.filter-select{flex:1 1}}.float-right{align-items:center;display:flex;list-style:none;margin:0;padding:0}.float-right li{margin-left:24px;position:relative}.float-right a{color:#333;font-size:18px;font-weight:500;text-decoration:none;transition:color .3s ease}.float-right a:hover{color:#007bff}.float-right ul{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;left:-20px;min-width:200px;opacity:0;padding:8px 0;position:absolute;top:100%;transform:translateY(10px);transition:all .3s ease;visibility:hidden;z-index:100}.float-right li:hover>ul{opacity:1;transform:translateY(0);visibility:visible}.float-right ul li{margin:0}.float-right ul a{display:block;padding:8px 20px;white-space:nowrap}.float-right ul a:hover{background-color:#f5f5f5}.btn-register{background:linear-gradient(45deg,#ff6b6b,#ffa07a);border-radius:20px;color:#fff!important;font-weight:600;padding:10px 20px}.btn-register:hover{background:linear-gradient(45deg,#ff5252,coral);box-shadow:0 4px 12px #ff6b6b33;transform:translateY(-1px)}.mobile-nav{align-items:center;display:none}.mobile-nav span{cursor:pointer;padding:8px}.icon-bar,.icon-search{font-size:20px}.user-dropdown,.user-dropdown>a{position:relative}.user-dropdown>a{cursor:pointer}.user-dropdown>a:after{content:"▼";font-size:10px;margin-left:8px;transition:transform .3s ease}.user-dropdown:hover>a:after{transform:rotate(180deg)}.user-menu{background:#fff;border:1px solid #e5e5e5;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:180px;opacity:0;padding:8px 0;position:absolute;right:0;top:100%;transform:translateY(10px);transition:all .3s ease;visibility:hidden;z-index:1000}.user-dropdown:hover .user-menu{opacity:1;transform:translateY(0);visibility:visible}.user-menu li{margin:0}.user-menu a{border-bottom:none;color:#333!important;display:block;font-size:14px!important;font-weight:400!important;padding:12px 20px;text-decoration:none;transition:all .3s ease;white-space:nowrap}.user-menu a:hover{background-color:#f8f9fa;color:#007bff!important;padding-left:24px}.user-menu li:last-child a{border-top:1px solid #f0f0f0;color:#dc3545!important}.user-menu li:last-child a:hover{background-color:#fff5f5;color:#dc3545!important}.notification-dropdown{position:relative}.notification-bell{align-items:center;background:#0000;border-radius:50%;cursor:pointer;display:inline-flex;height:40px;justify-content:center;position:relative;transition:all .3s ease;width:40px}.notification-bell:hover{background:#f5f5f5}.notification-bell i{color:#333;font-size:20px}.notification-badge{background:linear-gradient(135deg,#ff6b6b,#ee5a6f);border-radius:10px;box-shadow:0 2px 4px #ff6b6b4d;color:#fff;font-size:10px;font-weight:700;line-height:1.2;min-width:18px;padding:2px 6px;position:absolute;right:-4px;text-align:center;top:5px}.notification-dropdown-menu{animation:slideDown .3s ease;background:#fff;border:1px solid #e5e5e5;border-radius:12px;box-shadow:0 8px 32px #00000026;max-height:500px;overflow:hidden;position:absolute;right:-20px;top:calc(100% + 10px);width:380px;z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.notification-header h4{font-size:16px;font-weight:600;margin:0}.unread-count{background:#fff3;border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.notification-list{max-height:400px;overflow-y:auto}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#f1f1f1}.notification-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#999}.notification-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:16px 20px;position:relative;transition:all .2s ease}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:#f8f9fa}.notification-item.unread{background:linear-gradient(90deg,#f0f4ff,#fff)}.notification-item.unread:hover{background:linear-gradient(90deg,#e6edff,#f8f9fa)}.notification-content{flex:1 1;min-width:0}.notification-content p{word-wrap:break-word;color:#333;font-size:14px;line-height:1.5;margin:0 0 6px}.notification-time{color:#999;display:block;font-size:12px}.notification-dot{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;box-shadow:0 0 0 3px #667eea1a;flex-shrink:0;height:8px;margin-top:6px;width:8px}.no-notifications{color:#999;font-size:14px;padding:40px 20px;text-align:center}.notification-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:12px 20px;text-align:center}.notification-footer a{color:#667eea!important;font-size:14px!important;font-weight:600!important;text-decoration:none;transition:color .3s ease}.notification-footer a:hover{color:#764ba2!important;text-decoration:underline}.icon-bell:before{content:"🔔";font-style:normal}@media (max-width:768px){.d-xs-none{display:none!important}.mobile-nav{display:flex}.container{height:60px;padding:0 10px}.logo img{height:16px;width:auto}}.icon-search:before{content:"🔍";font-style:normal}.icon-arrow-right:before{content:"→";font-style:normal}.form-icon{color:#666;font-size:16px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.footer{background-color:#1a1a1a;color:#fff;margin-top:auto;padding:60px 0 20px}.footer-container{margin:0 auto;max-width:1200px;padding:0 15px}.footer-content{display:flex;gap:40px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.footer-section h3{color:#fff;font-size:18px;font-weight:600;margin-bottom:20px}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:12px}.footer-links a{color:#9ca3af;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:#fff}.footer-about p{color:#9ca3af;line-height:1.6;margin-bottom:20px}.social-links{display:flex;gap:16px;margin-top:20px}.social-links a{color:#fff;text-decoration:none;transition:color .3s ease}.social-links a:hover{color:#60a5fa}.footer-bottom{border-top:1px solid #374151;color:#9ca3af;font-size:14px;padding-top:20px;text-align:center}.footer-bottom p{margin:0}.contact-info{color:#9ca3af;font-size:14px;line-height:1.6}.contact-info p{align-items:center;display:flex;gap:8px;margin-bottom:8px}.contact-info i{min-width:20px}.newsletter-form{margin-top:15px}.newsletter-form input{background-color:#1f2937;border:1px solid #374151;border-radius:4px;color:#fff;margin-bottom:10px;padding:10px;width:100%}.newsletter-form input:focus{border-color:#60a5fa;outline:none}.newsletter-form button{background-color:#2563eb;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:10px;transition:background-color .3s ease;width:100%}.newsletter-form button:hover{background-color:#1d4ed8}@media (max-width:1024px){.footer-content{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.footer-content{grid-template-columns:1fr}.footer{padding:40px 0 20px}}.admin-sidebar{box-shadow:4px 0 11px #0000001a}.stat-card{border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;overflow:hidden;padding:32px 24px;position:relative;transition:all .2s ease}.stat-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-4px)}.stat-card:before{background:#60a5fa;background:var(--accent-color,#60a5fa);content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-card.users:before{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.stat-card.jobs:before{background:linear-gradient(135deg,#34d399,#10b981)}.stat-header{justify-content:space-between;margin-bottom:16px}.stat-header,.stat-icon{align-items:center;display:flex}.stat-icon{border-radius:12px;color:#fff;height:48px;justify-content:center;width:48px}.stat-icon.users{background:linear-gradient(135deg,#60a5fa,#3b82f6)}.stat-icon.jobs{background:linear-gradient(135deg,#34d399,#10b981)}.stat-number{font-weight:800;line-height:1;margin-bottom:4px}.viz-filters{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 20px}.viz-filters label{color:#475569;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}.viz-filters input,.viz-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;padding:8px 10px}.charts-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 8px #0f172a0a;padding:14px}.chart-card-wide{grid-column:span 2}.chart-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.chart-card-header h3{color:#0f172a;font-size:16px;margin:0}.chart-actions{display:flex;gap:8px}.chart-actions button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;font-size:12px;padding:4px 10px}.chart-actions button:hover{background:#f8fafc;border-color:#94a3b8}.chart-canvas-wrap{height:300px}.chart-state{align-items:center;color:#64748b;display:flex;font-size:14px;justify-content:center;min-height:140px}.chart-error{color:#dc2626}.chart-table-wrap{margin-top:12px;overflow-x:auto}.chart-table{border-collapse:collapse;width:100%}.chart-table td,.chart-table th{border-bottom:1px solid #e2e8f0;font-size:13px;padding:8px;text-align:left}.chart-table th{background:#f8fafc;color:#334155}.loading-container{color:#64748b;font-size:16px;gap:12px;padding:48px}.loading-spinner{border:2px solid #e2e8f0;border-top-color:#60a5fa;height:24px;width:24px}.users-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:32px}.users-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.users-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.refresh-btn{background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;color:#fff}.refresh-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-1px)}.users-table-container{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.users-table{background:#fff;border-collapse:collapse;width:100%}.users-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-size:14px;font-weight:600;padding:16px 20px;text-align:left}.users-table td{border-bottom:1px solid #f1f5f9;padding:16px 20px;vertical-align:middle}.user-row:hover{background-color:#f8fafc}.avatar-circle,.user-avatar{align-items:center;display:flex}.avatar-circle{background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:50%;color:#fff;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.username-cell{min-width:200px}.username-info{display:flex;flex-direction:column;gap:4px}.username{color:#1e293b;font-size:15px;font-weight:600}.user-id{color:#64748b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:12px}.email-cell{color:#475569;font-size:14px}.role-badge{border-radius:16px;font-weight:600;text-transform:uppercase}.role-badge.admin{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.role-badge.user{background:linear-gradient(135deg,#34d399,#10b981);color:#fff}.status-badge{border-radius:16px}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.status-pending{background-color:#fef3c7;color:#92400e}.status-badge.status-read{background-color:#e0e7ff;color:#3730a3}.no-users{color:#64748b;font-style:italic;padding:32px 20px;text-align:center}.jobs-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:32px}.jobs-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.jobs-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.jobs-table-container{border:1px solid #e2e8f0;border-radius:12px;overflow-x:auto}.jobs-table{background:#fff;border-collapse:collapse;width:100%}.jobs-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;font-size:14px;font-weight:600;padding:16px 20px;text-align:left}.jobs-table td{border-bottom:1px solid #f1f5f9;padding:16px 20px;vertical-align:middle}.job-row:hover{background-color:#f8fafc}.job-logo{align-items:center;display:flex;position:relative}.company-logo{background:#f8fafc;border-radius:8px;object-fit:contain;padding:4px}.logo-placeholder{align-items:center;background:linear-gradient(135deg,#34d399,#10b981);border-radius:8px;color:#fff;display:flex;font-size:16px;font-weight:600;height:40px;justify-content:center;width:40px}.job-title-cell{min-width:250px}.job-title-info{display:flex;flex-direction:column;gap:8px}.job-title{color:#1e293b}.job-title,.job-title-link{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:15px;font-weight:600;line-height:1.3;overflow:hidden}.job-title-link{color:#2563eb;text-decoration:none;transition:color .2s ease}.job-title-link:hover{color:#1d4ed8;text-decoration:underline}.job-skills{display:flex;flex-wrap:wrap;gap:4px}.skill-tag-mini{background-color:#edf2f7;color:#4a5568}.more-skills-mini,.skill-tag-mini{border-radius:8px;font-size:11px;font-weight:500;padding:2px 6px}.more-skills-mini{background-color:#e2e8f0;color:#718096}.company-cell{color:#475569;font-size:14px;font-weight:500;min-width:150px}.location-cell{color:#64748b;font-size:14px}.location-cell,.salary-cell{min-width:120px}.salary-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:16px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.date-cell,.experience-cell{color:#64748b;font-size:14px;min-width:120px}.no-jobs{color:#64748b;font-style:italic;padding:32px 20px;text-align:center}@media (max-width:1024px){.admin-sidebar{transform:translateX(-100%);transition:transform .3s ease;z-index:1000}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0}.dashboard-stats{gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.jobs-section,.users-section{padding:24px 16px}.jobs-header,.users-header{align-items:flex-start;flex-direction:column;gap:16px}.jobs-table td,.jobs-table th,.users-table td,.users-table th{padding:12px 16px}}@media (max-width:768px){.admin-main{padding:20px 16px}.admin-content-title{font-size:24px}.dashboard-stats{grid-template-columns:1fr}.stat-card{padding:24px 20px}.stat-number{font-size:28px}.jobs-table-container,.users-table-container{overflow-x:scroll}.jobs-table,.users-table{min-width:600px}.username-cell{min-width:150px}.job-title-cell{min-width:200px}.jobs-table td,.jobs-table th,.users-table td,.users-table th{font-size:13px;padding:10px 12px}.avatar-circle,.company-logo,.logo-placeholder{font-size:14px;height:32px;width:32px}.charts-grid{grid-template-columns:1fr}.chart-card-wide{grid-column:auto}}.scrape-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.scrape-form-container{margin-bottom:32px}.scrape-form .form-group{margin-bottom:20px}.scrape-form .form-label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.scrape-form .input-group{align-items:stretch;display:flex;gap:12px}.scrape-form .url-input{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;flex:1 1;font-size:14px;padding:12px 16px;transition:all .2s ease}.scrape-form .url-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.scrape-form .submit-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .2s ease}.scrape-form .submit-btn:hover:not(.disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.scrape-form .submit-btn.disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.scrape-instructions{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:20px}.scrape-instructions h3{color:#0369a1;font-size:16px;font-weight:600;margin:0 0 12px}.scrape-instructions ul{color:#0369a1;margin:0;padding-left:20px}.scrape-instructions li{font-size:14px;line-height:1.5;margin-bottom:6px}.companies-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.companies-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.companies-header h2{color:#374151;font-size:18px;font-weight:600;margin:0}.companies-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.companies-table{background:#fff;border-collapse:collapse;width:100%}.companies-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;font-size:14px;font-weight:600;padding:16px;text-align:left}.companies-table td{border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:14px;padding:16px}.company-row:hover{background:#f9fafb;cursor:pointer}.company-logo{align-items:center;display:flex;height:40px;justify-content:center;overflow:hidden;position:relative;width:40px}.company-logo-img{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;height:100%;object-fit:contain;padding:4px;width:100%}.company-name-cell{min-width:200px}.company-name-info{display:flex;flex-direction:column;gap:4px}.company-name{color:#374151;font-weight:600}.company-id{color:#9ca3af;font-size:12px}.email-cell,.phone-cell{min-width:150px}.website-cell{min-width:200px}.website-link{color:#3b82f6;font-size:13px;text-decoration:none}.website-link:hover{text-decoration:underline}.no-companies{color:#9ca3af;font-style:italic;padding:40px;text-align:center}.stat-icon.companies{background:#fff3}@media (max-width:768px){.companies-header{align-items:stretch;flex-direction:column;gap:16px}.companies-table td,.companies-table th{font-size:13px;padding:12px}.company-name-cell{min-width:150px}.email-cell,.phone-cell,.website-cell{min-width:120px}.company-logo-img,.logo-placeholder{height:32px;width:32px}}.companies-header-actions{align-items:center;display:flex;gap:12px}.add-company-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.add-company-btn:hover{box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.add-icon{height:16px;width:16px}.add-company-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-group{display:flex;flex:1 1;flex-direction:column}.form-group.full-width{flex:1 1 100%}.form-label{color:#374151;font-weight:600}.form-label.required:after{color:#ef4444;content:" *"}.form-input,.form-textarea{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease}.form-input:focus,.form-textarea:focus{background:#fff;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.form-textarea{font-family:inherit}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.cancel-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.cancel-btn:hover{background:#e5e7eb}.form-actions .submit-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;justify-content:center;min-width:120px;padding:12px 24px;transition:all .2s ease}.form-actions .submit-btn:hover:not(:disabled){box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.form-actions .submit-btn:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.form-row{flex-direction:column;gap:16px}.companies-header-actions{flex-direction:column;gap:8px;width:100%}.add-company-btn{justify-content:center;width:100%}.form-actions{flex-direction:column}.cancel-btn,.form-actions .submit-btn{width:100%}}.logo-upload-container{display:flex;flex-direction:column;gap:16px}.file-input{display:none}.file-input-label{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:16px 24px;transition:all .2s ease}.file-input-label:hover{background:#f0fdf4;border-color:#10b981;color:#10b981}.file-input-label.uploading{cursor:not-allowed;opacity:.7}.upload-icon{height:20px;width:20px}.logo-preview{display:inline-block;max-width:200px;position:relative}.preview-image{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;height:auto;max-width:200px;width:100%}.remove-logo-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;transition:all .2s ease;width:24px}.remove-logo-btn:hover{background:#dc2626;transform:scale(1.1)}.remove-icon{height:14px;width:14px}@media (max-width:768px){.logo-preview,.preview-image{max-width:150px}}.company-row.clickable{cursor:pointer}.company-row.clickable:hover{background:#f0f9ff!important;box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.company-detail-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}.back-btn{align-items:center;background:#f3f4f6;border-radius:8px;color:#374151;display:flex;gap:8px;margin-bottom:16px;padding:8px 16px;transition:all .2s ease}.back-btn:hover{background:#e5e7eb}.back-icon{height:16px;width:16px}.company-detail-header{align-items:center;border-bottom:1px solid #e7e7eb;display:flex;gap:24px;margin-bottom:24px;padding-bottom:24px}.company-logo-section{flex-shrink:0}.company-detail-logo{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:80px;object-fit:cover;width:80px}.company-detail-logo-placeholder{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#fff;display:flex;font-size:32px;font-weight:700;height:80px;justify-content:center;width:80px}.company-basic-info{flex:1 1}.company-detail-name{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.company-detail-id{color:#6b7280;font-size:14px;margin:0 0 8px}.company-detail-website{color:#3b82f6;font-weight:500;text-decoration:none}.company-detail-website:hover{text-decoration:underline}.company-detail-grid{gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:24px}.detail-card{background:#f9fafb;border:1px solid #e5e7eb;flex-grow:1}.first-detail-card{margin-right:32px}.information-section{display:flex;margin-bottom:24px}.detail-card.full-width{grid-column:1/-1}.detail-card-title{color:#374151;font-size:18px;font-weight:600;margin:0 0 16px}.detail-items{display:flex;flex-direction:column;gap:12px}.detail-label{color:#6b7280;flex-shrink:0;font-weight:500;min-width:120px}.detail-value{color:#374151;word-break:break-word}.detail-link{color:#3b82f6;text-decoration:none}.detail-link:hover{text-decoration:underline}.company-description{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;line-height:1.6;padding:16px}.company-detail-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.edit-company-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.edit-company-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.delete-company-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.delete-company-btn:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.delete-icon,.edit-icon{height:16px;width:16px}@media (max-width:768px){.company-detail-header{flex-direction:column;gap:16px;text-align:center}.company-detail-grid{gap:16px;grid-template-columns:1fr}.detail-item{align-items:flex-start;flex-direction:column;gap:4px}.detail-label{min-width:auto}.company-detail-actions{flex-direction:column}.delete-company-btn,.edit-company-btn{justify-content:center;width:100%}}.company-jobs-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.company-jobs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.refresh-jobs-btn{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease}.refresh-jobs-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.refresh-jobs-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.no-jobs-message{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.no-jobs-icon{height:48px;margin-bottom:12px;opacity:.5;width:48px}.no-jobs-message p{font-size:16px;margin:0}.company-jobs-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}@media (max-width:768px){.company-jobs-header{align-items:stretch;flex-direction:column;gap:12px}.refresh-jobs-btn{align-self:center}.company-jobs-grid{gap:12px;grid-template-columns:1fr}.scrape-form .input-group{flex-direction:column}.scrape-form .submit-btn{width:100%}}.form-input.error,.form-textarea.error{background:#fef2f2;border-color:#ef4444}.form-input.error:focus,.form-textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-message{align-items:center;color:#ef4444;display:flex;font-size:12px;font-weight:500;gap:4px;margin-top:6px}.error-message:before{content:"⚠";font-size:10px}.submit-message{align-items:center;animation:slideIn .3s ease;border-radius:8px;display:flex;font-weight:500;gap:12px;margin-bottom:24px;padding:16px 20px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.submit-message.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.submit-message.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.message-icon{flex-shrink:0;height:20px;width:20px}.pagination-container{align-items:center;display:flex;gap:8px;justify-content:center;margin-top:32px}.pagination-button{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination-button:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;opacity:.6}.pagination-button.active{background-color:#2563eb;border-color:#2563eb;color:#fff;font-weight:600}.pagination-button.active:hover{background-color:#1d4ed8;border-color:#1d4ed8}.pagination-info{color:#6b7280;font-size:14px;font-weight:500;margin:0 16px}@media (max-width:768px){.pagination-container{flex-wrap:wrap;gap:4px}.pagination-button{font-size:12px;padding:6px 12px}.pagination-info{font-size:13px;margin:0 8px}}.company-detail-container{max-width:1200px}.detail-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.detail-card-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;padding:24px}.detail-card-body{padding:16px}.detail-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.detail-item.full-width{grid-column:1/-1}.detail-label{align-items:center;color:#64748b;display:flex;font-size:14px;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.detail-value{color:#1e293b;font-size:16px;font-weight:500}.jobs-list{display:flex;flex-direction:column}.error-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:48px;text-align:center}.error-container p{color:#64748b;font-size:16px;margin-bottom:24px}.back-btn{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.back-btn:hover{background:#1d4ed8}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#475569;font-size:14px;font-weight:500}.filter-select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s}.filter-select:hover{border-color:#94a3b8}.filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.admin-btn-danger-small{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:4px;padding:6px 10px;transition:all .2s}.admin-btn-danger-small:hover{background:#b91c1c;box-shadow:0 2px 4px #dc262633;transform:translateY(-1px)}.admin-btn-danger-small:active{transform:translateY(0)}@media (max-width:768px){.detail-grid{grid-template-columns:1fr}.company-detail-container{padding:0 16px}}.badge-text{min-width:115px}.assistant-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;margin:0 auto;max-width:800px;padding:32px}.chat-header{justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.chat-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.clear-chat-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.clear-chat-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.clear-icon{height:16px;width:16px}.chat-messages{border:1px solid #e2e8f0;border-radius:12px;height:500px;margin-bottom:20px}.message{align-items:flex-start;display:flex;gap:12px}.message-avatar{flex-shrink:0}.user-avatar-circle{background:linear-gradient(135deg,#60a5fa,#3b82f6);font-size:14px;font-weight:600}.assistant-avatar-circle,.user-avatar-circle{align-items:center;border-radius:50%;color:#fff;display:flex;height:36px;justify-content:center;width:36px}.assistant-avatar-circle{background:linear-gradient(135deg,#34d399,#10b981)}.assistant-avatar-circle svg{height:18px;width:18px}.message-content{flex:1 1;min-width:0}.message-text{word-wrap:break-word;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;color:#1e293b;font-size:14px;line-height:1.5;padding:12px 16px}.user-message .message-content{display:flex;justify-content:flex-end}.user-message .message-text{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.assistant-message .message-content{display:flex;justify-content:flex-start}.message-time{color:#64748b;font-size:11px;margin-top:4px}.message-time,.user-message .message-time{text-align:right}.assistant-message .message-time{text-align:left}.no-messages{align-items:center;color:#64748b;display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-messages-icon{height:64px;margin-bottom:16px;opacity:.5;width:64px}.no-messages p{font-size:16px;margin:0}.typing-indicator{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#34d399;border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-input-container{border-top:1px solid #e2e8f0;padding-top:20px}.chat-input-wrapper{align-items:flex-end;display:flex;gap:12px}.chat-input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;line-height:1.4;max-height:120px;min-height:44px;resize:none;transition:all .2s ease}.chat-input:focus{background:#fff;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.chat-input:disabled{background:#f1f5f9;cursor:not-allowed}.send-button{align-items:center;background:linear-gradient(135deg,#60a5fa,#3b82f6);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;min-width:48px;padding:12px 16px;transition:all .2s ease}.send-button:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #60a5fa4d;transform:translateY(-1px)}.send-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.send-button svg{height:18px;width:18px}@media (max-width:768px){.assistant-container{margin:0;padding:20px}.chat-header{align-items:flex-start;flex-direction:column;gap:12px}.chat-messages{height:400px;padding:16px}.chat-input-wrapper{flex-direction:column}.chat-input{min-height:80px}.send-button{min-width:0;min-width:auto;width:100%}}.chatbot-layout{border-radius:8px;box-shadow:0 2px 10px #0000001a;height:calc(100vh - 200px);overflow:hidden}.chat-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:flex-end;padding:16px 20px}.chat-actions{display:flex;gap:12px}.history-btn{align-items:center;background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.history-btn:hover{background:#4b5563}.new-chat-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:background-color .2s}.new-chat-btn:hover{background:#2563eb}.plus-icon{color:inherit;font-size:16px;font-weight:700;margin-right:4px}.chat-main{background:#fff;display:flex;flex-direction:column;height:100%}.chat-messages{background:#f8fafc;flex:1 1;overflow-y:auto;padding:20px}.message{border-radius:8px;margin-bottom:16px;max-width:80%;padding:12px 16px}.message.user{background:#3b82f6;color:#fff;margin-left:auto;text-align:right}.message.assistant{background:#fff;border:1px solid #e2e8f0;margin-right:auto}.message-role{font-size:14px;font-weight:600;margin-bottom:4px}.message-content{word-wrap:break-word}.message-content a{color:blue;text-decoration:underline}.chat-input-form{background:#fff;border-top:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.chat-input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:16px;padding:12px 16px}.chat-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.chat-clear-btn,.chat-submit-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:12px 20px;transition:background-color .2s}.chat-submit-btn{background:#3b82f6;color:#fff}.chat-submit-btn:hover:not(:disabled){background:#2563eb}.chat-submit-btn:disabled{background:#9ca3af;cursor:not-allowed}.chat-clear-btn{background:#ef4444;color:#fff}.chat-clear-btn:hover{background:#dc2626}.modal-overlay{padding:20px}.modal-content{box-shadow:0 20px 25px -5px #0000001a;max-height:80vh;max-width:500px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#1f2937;font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:24px;padding:4px;transition:background-color .2s}.modal-close:hover{background:#f3f4f6}.modal-body{max-height:calc(80vh - 80px);overflow-y:auto;padding:0}.chat-list-modal{padding:16px}.chat-list-modal .chat-item{align-items:center;border:1px solid #e2e8f0;border-radius:8px;display:flex;margin-bottom:8px;padding:12px 16px;position:relative;transition:border-color .2s}.chat-list-modal .chat-item:hover{border-color:#3b82f6}.chat-list-modal .chat-item.active{background:#e0f2fe;border-color:#3b82f6}.chat-list-modal .chat-select{background:none;border:none;border-radius:4px;color:#374151;cursor:pointer;flex:1 1;font-size:14px;overflow:hidden;padding:8px;text-align:left;text-overflow:ellipsis;transition:background-color .2s;white-space:nowrap}.chat-list-modal .chat-select:hover{background:#3b82f61a}.chat-list-modal .chat-delete{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;font-size:18px;margin-left:8px;padding:4px;transition:background-color .2s}.chat-list-modal .chat-delete:hover{background:#ef44441a}.no-chats{color:#6b7280;font-style:italic;padding:40px 20px;text-align:center}.admin-body{margin:0;overflow-x:hidden;padding:0}.admin-loading{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh}.admin-loading-content{color:#64748b;text-align:center}.admin-loading-content .loading-spinner{margin:0 auto 16px}.admin-loading-content p{font-size:16px;font-weight:500;margin:0}.admin-layout{min-height:100vh}.admin-container{background-color:#f8fafc;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh}.admin-sidebar{background:linear-gradient(135deg,#1e293b,#334155);box-shadow:4px 0 10px #0000001a;color:#fff;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;width:280px}.admin-header{border-bottom:1px solid #475569;padding:24px;text-align:center}.admin-title{align-items:center;color:#fff;display:flex;font-size:24px;font-weight:700;gap:8px;justify-content:center;margin:0}.admin-icon{color:#60a5fa;height:28px;width:28px}.admin-subtitle{color:#94a3b8;font-size:14px;font-weight:400;margin:8px 0 0}.admin-nav{flex:1 1;padding:24px 0}.admin-nav ul{list-style:none;margin:0;padding:0}.admin-nav li{margin-bottom:4px}.admin-nav-link{align-items:center;background:none;border:none;border-left:4px solid #0000;color:#cbd5e1;cursor:pointer;display:flex;font-size:15px;font-weight:500;padding:16px 24px;text-align:left;text-decoration:none;transition:all .2s ease;width:100%}.admin-nav-link:hover{background-color:#ffffff1a;border-left-color:#60a5fa;color:#f1f5f9}.admin-nav-link.active{background-color:#60a5fa33;border-left-color:#60a5fa;color:#60a5fa}.admin-nav-icon{flex-shrink:0;height:20px;margin-right:12px;width:20px}.admin-footer{border-top:1px solid #475569;padding:24px}.admin-logout-btn{align-items:center;background:#ef444433;border:1px solid #ef44444d;border-radius:8px;color:#fecaca;cursor:pointer;display:flex;font-size:15px;font-weight:500;justify-content:center;padding:12px 16px;transition:all .2s ease;width:100%}.admin-logout-btn:hover{background-color:#ef44444d;color:#fee2e2}.admin-main{flex:1 1;margin-left:280px;overflow-y:auto;padding:32px}.admin-content-header{margin-bottom:32px}.admin-content-title{color:#1e293b;font-size:32px;font-weight:700;margin:0 0 8px}.admin-content-subtitle{color:#64748b;font-size:16px;margin:0}.dashboard-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card.users{border-left:4px solid #3b82f6}.stat-card.jobs{border-left:4px solid #10b981}.stat-card.companies{border-left:4px solid #f59e0b}.stat-label{color:#64748b;font-size:14px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.stat-number{color:#1e293b;font-size:36px;font-weight:700}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:48px 24px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#3b82f6;height:48px;margin-bottom:16px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.companies-section,.jobs-section,.users-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.companies-header,.jobs-header,.users-header{align-items:center;border-bottom:2px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.companies-header h2,.jobs-header h2,.users-header h2{color:#1e293b;font-size:20px;font-weight:600;margin:0}.refresh-btn{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;color:#475569;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;transition:all .2s ease}.refresh-btn:hover{background:#e2e8f0;border-color:#94a3b8}.refresh-icon{height:16px;width:16px}.companies-table-container,.jobs-table-container,.users-table-container{overflow-x:auto}.companies-table,.jobs-table,.users-table{border-collapse:collapse;width:100%}.companies-table thead,.jobs-table thead,.users-table thead{background-color:#f8fafc}.companies-table th,.jobs-table th,.users-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600;letter-spacing:.5px;padding:12px 16px;text-align:left;text-transform:uppercase}.companies-table td,.jobs-table td,.users-table td{border-bottom:1px solid #e2e8f0;color:#1e293b;font-size:14px;padding:16px}.company-row:hover,.job-row:hover,.user-row:hover{background-color:#f8fafc}.user-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.user-info{display:flex;flex-direction:column}.user-name{color:#1e293b;font-weight:500}.user-username{color:#64748b;font-size:12px;margin-top:2px}.role-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.role-badge.admin{background-color:#fef3c7;color:#92400e}.role-badge.user{background-color:#dbeafe;color:#1e40af}.role-badge.company{background-color:#e0e7ff;color:#4338ca}.action-buttons{display:flex;gap:8px}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.edit-btn{background:#dbeafe;color:#1e40af}.edit-btn:hover{background:#bfdbfe}.delete-btn{background:#fee2e2;color:#991b1b}.delete-btn:hover{background:#fecaca}.pagination{align-items:center;border-top:1px solid #e2e8f0;display:flex;gap:8px;justify-content:center;margin-top:24px;padding-top:24px}.pagination button{background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.pagination button:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.pagination button:disabled{cursor:not-allowed;opacity:.5}.pagination button.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.search-box{margin-bottom:24px}.search-input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.no-companies,.no-jobs,.no-users{color:#64748b;font-size:14px;padding:48px 24px;text-align:center}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;max-height:90vh;max-width:600px;overflow-y:auto;padding:32px;width:90%}.modal-header{margin-bottom:24px}.modal-title{color:#1e293b;font-size:24px;font-weight:600;margin:0 0 8px}.modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:24px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.form-group{margin-bottom:20px}.form-label{color:#1e293b;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-input,.form-select,.form-textarea{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-textarea{min-height:100px;resize:vertical}@media (max-width:768px){.admin-sidebar{height:auto;position:static;width:100%}.admin-main{margin-left:0}.admin-container{flex-direction:column}.dashboard-stats{grid-template-columns:1fr}.companies-header,.jobs-header,.users-header{align-items:flex-start;flex-direction:column;gap:12px}}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-pending{background-color:#fff3cd;color:#856404}.status-processing{animation:pulse 2s ease-in-out infinite;background-color:#cfe2ff;color:#084298}.status-completed{background-color:#d1e7dd;color:#0f5132}.status-failed{background-color:#f8d7da;color:#842029}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}*{box-sizing:border-box}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.0309fa26.css.map*/