*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#dbeafe;--secondary:#64748b;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--purple:#8b5cf6;--bg:#f8fafc;--white:#fff;--border:#e2e8f0;--text:#1e293b;--text-muted:#64748b;--text-light:#94a3b8;--shadow:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--radius:8px;--radius-lg:12px}body{color:var(--text);background:var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-dark)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}.btn-outline{color:var(--text);border:1px solid var(--border);background:#fff}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-saved{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}.btn-full{width:100%}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:14px 28px;font-size:16px}.navbar{border-bottom:1px solid var(--border);z-index:100;box-shadow:var(--shadow);background:#fff;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.navbar-brand{letter-spacing:-.5px;font-size:22px;font-weight:700;color:var(--primary)!important}.navbar-links{align-items:center;gap:24px;display:flex}.navbar-links a{color:var(--text);font-size:14px;font-weight:500}.navbar-links a:hover{color:var(--primary)}.navbar-user{align-items:center;gap:12px;display:flex}.navbar-user span{font-size:14px;font-weight:500}.navbar-notification{cursor:pointer;font-size:20px;position:relative}.navbar-notification .badge{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10px;display:flex;position:absolute;top:-8px;right:-8px}.menu-toggle{cursor:pointer;background:0 0;border:none;font-size:24px;display:none}@media (width<=768px){.menu-toggle{display:block}.navbar-links{border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;padding:20px;display:none;position:absolute;top:64px;left:0;right:0}.navbar-links.open{display:flex}}.footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);background:#fff;margin-top:auto;padding:24px 0;font-size:14px}.main-layout{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1}.dashboard-container{gap:30px;min-height:calc(100vh - 64px);padding-top:30px;padding-bottom:30px;display:flex}.sidebar{flex-shrink:0;width:220px}.sidebar nav{flex-direction:column;gap:4px;display:flex;position:sticky;top:84px}.sidebar-link{border-radius:var(--radius);color:var(--text);padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s;display:block}.sidebar-link:hover{background:var(--primary-light);color:var(--primary)}.sidebar-link.active{background:var(--primary);color:#fff}.dashboard-content{flex:1;min-width:0}@media (width<=768px){.dashboard-container{flex-direction:column}.sidebar{width:100%}.sidebar nav{flex-direction:row;gap:8px;position:static;overflow-x:auto}.sidebar-link{white-space:nowrap}}.auth-page{justify-content:center;align-items:center;min-height:60vh;padding:40px 20px;display:flex}.auth-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;width:100%;max-width:440px;padding:40px}.auth-card h2{margin-bottom:24px;font-size:24px}.auth-link{text-align:center;color:var(--text-muted);margin-top:16px;font-size:14px}.role-selector{gap:12px;display:flex}.role-btn{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;flex:1;padding:12px;font-weight:500;transition:all .2s}.role-btn.active{border-color:var(--primary);background:var(--primary-light);color:var(--primary)}.form-group{margin-bottom:16px}.form-group label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius);background:#fff;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}.form-row{gap:16px;display:flex}.form-row .form-group{flex:1}.form-section{border-bottom:1px solid var(--border);margin-bottom:32px;padding-bottom:24px}.form-section h2{margin-bottom:16px;font-size:18px}.form-card{background:var(--bg);border-radius:var(--radius);margin-bottom:12px;padding:16px;position:relative}.remove-btn{cursor:pointer;color:var(--danger);background:0 0;border:none;font-size:18px;position:absolute;top:8px;right:8px}.inline-form{align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.inline-form input{border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;font-size:14px}.salary-range{align-items:center;gap:8px;display:flex}.salary-range input{flex:1}@media (width<=768px){.form-row{flex-direction:column;gap:0}.inline-form{flex-direction:column}}.alert{border-radius:var(--radius);margin-bottom:16px;padding:12px 16px;font-size:14px}.alert-error{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.alert-success{color:var(--success);background:#f0fdf4;border:1px solid #bbf7d0}.hero{background:linear-gradient(135deg, var(--primary) 0%, #7c3aed 100%);color:#fff;text-align:center;padding:80px 0}.hero h1{letter-spacing:-1px;margin-bottom:16px;font-size:48px;font-weight:800}.hero p{opacity:.9;margin-bottom:32px;font-size:18px}.hero-search{border-radius:var(--radius-lg);max-width:600px;box-shadow:var(--shadow-lg);background:#fff;margin:0 auto;display:flex;overflow:hidden}.hero-search input{border:none;outline:none;flex:1;padding:16px 20px;font-size:16px}.hero-search button{border-radius:0;padding:16px 32px}@media (width<=768px){.hero h1{font-size:32px}.hero{padding:50px 20px}.hero-search{border-radius:var(--radius);flex-direction:column}.hero-search button{border-radius:0}}.categories-section{padding:60px 0}.categories-section h2{text-align:center;margin-bottom:32px;font-size:28px}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.category-card{border-radius:var(--radius);text-align:center;border:1px solid var(--border);color:var(--text);background:#fff;padding:20px;transition:all .2s}.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);color:var(--primary);transform:translateY(-2px)}.category-name{font-size:14px;font-weight:600}.recent-jobs-section{background:#fff;padding:60px 0}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-header h2{font-size:28px}.cta-section{text-align:center;background:linear-gradient(135deg,#f0f9ff 0%,#e0e7ff 100%);padding:80px 0}.cta-section h2{margin-bottom:24px;font-size:32px}.cta-buttons{justify-content:center;gap:16px;display:flex}.jobs-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.job-card{border-radius:var(--radius);border:1px solid var(--border);color:var(--text);background:#fff;padding:20px;transition:all .2s;display:block}.job-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);color:var(--text);transform:translateY(-2px)}.job-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.job-card-header h3{margin-bottom:4px;font-size:16px}.company-name{color:var(--text-muted);font-size:14px}.job-card-details{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.job-location,.experience-level{color:var(--text-muted);background:var(--bg);border-radius:20px;padding:4px 10px;font-size:12px}.job-type{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500}.job-card-footer{justify-content:space-between;align-items:center;display:flex}.job-salary{color:var(--success);font-size:14px;font-weight:600}.job-time{color:var(--text-light);font-size:12px}.job-category{color:var(--text-muted);margin-top:8px;font-size:11px;display:block}.jobs-page{padding:30px 0}.jobs-page h1{margin-bottom:8px}.results-count{color:var(--text-muted);margin-bottom:24px;font-size:14px}.jobs-layout{gap:30px;display:flex}.jobs-sidebar{flex-shrink:0;width:280px}.jobs-list{flex:1;min-width:0}.job-filter{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:20px;position:sticky;top:84px}.filter-actions{gap:8px;margin-top:8px;display:flex}.filter-actions .btn{flex:1}@media (width<=768px){.jobs-layout{flex-direction:column}.jobs-sidebar{width:100%}.job-filter{position:static}}.job-detail-page{padding:30px 0}.job-detail-layout{gap:30px;display:flex}.job-detail-main{flex:1;min-width:0}.job-detail-sidebar{flex-shrink:0;width:320px}.job-detail-header{margin-bottom:32px}.job-detail-header h1{margin-bottom:12px;font-size:28px}.job-meta{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.job-meta-secondary{color:var(--text-muted);gap:16px;font-size:14px;display:flex}.deadline{color:var(--warning);margin-top:8px;font-size:14px}.job-section{margin-bottom:32px}.job-section h2{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:8px;font-size:20px}.job-content{color:var(--text);line-height:1.8}.sidebar-card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:24px;position:sticky;top:84px}.job-actions{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.company-info{margin-bottom:16px}.company-info h3{margin-bottom:8px;font-size:16px}@media (width<=768px){.job-detail-layout{flex-direction:column}.job-detail-sidebar{width:100%}.sidebar-card{position:static}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:24px 0;display:grid}.stat-card{border-radius:var(--radius);border:1px solid var(--border);text-align:center;background:#fff;padding:24px}.stat-card h3{color:var(--primary);margin-bottom:4px;font-size:36px}.stat-card p{color:var(--text-muted);font-size:14px}.stat-card small{color:var(--text-light);font-size:12px}.table-responsive{overflow-x:auto}.table{border-collapse:collapse;border-radius:var(--radius);border:1px solid var(--border);background:#fff;width:100%;overflow:hidden}.table th,.table td{text-align:left;padding:12px 16px;font-size:14px}.table th{background:var(--bg);color:var(--text-muted);border-bottom:1px solid var(--border);font-weight:600}.table td{border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#f8fafc}.status-badge{text-transform:capitalize;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-block}.status-applied{color:#2563eb;background:#dbeafe}.status-reviewed{color:#d97706;background:#fef3c7}.status-shortlisted{color:#7c3aed;background:#ede9fe}.status-rejected{color:#dc2626;background:#fef2f2}.status-hired,.status-active{color:#059669;background:#d1fae5}.status-inactive{color:#64748b;background:#f1f5f9}.role-badge{background:var(--primary-light);color:var(--primary);border-radius:20px;padding:4px 10px;font-size:12px}.skills-tags{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.tag{background:var(--primary-light);color:var(--primary);border-radius:20px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.tag button{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.skills-input{gap:8px;margin-bottom:12px;display:flex}.skills-input input{flex:1}.pagination{justify-content:center;gap:4px;margin-top:24px;display:flex}.pagination button{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;padding:8px 14px;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{padding:8px 4px}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{font-size:18px}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:24px}.modal-body{padding:24px}.loading-spinner{justify-content:center;padding:40px;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state h3{color:var(--text);margin-bottom:12px}.empty-state .btn{margin-top:16px}.empty-text{color:var(--text-muted);padding:20px 0;font-size:14px}.filter-bar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.filter-bar input,.filter-bar select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:10px 14px;font-size:14px}.filter-bar input{flex:1;min-width:200px}.applicants-list{flex-direction:column;gap:16px;display:flex}.applicant-card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:20px}.applicant-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.applicant-header h3{font-size:16px}.applicant-header p{color:var(--text-muted);font-size:13px}.headline{color:var(--text);font-weight:500}.cover-letter{background:var(--bg);border-radius:var(--radius);margin:12px 0;padding:12px;font-size:14px}.applicant-meta{color:var(--text-muted);align-items:center;gap:16px;margin:12px 0;font-size:13px;display:flex}.applicant-actions{align-items:center;gap:12px;display:flex}.applicant-actions select{border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;font-size:13px}.chat-page{height:calc(100vh - 124px)}.chat-layout{height:100%;display:flex}.chat-sidebar{border-right:1px solid var(--border);background:#fff;width:300px;overflow-y:auto}.chat-sidebar h3{border-bottom:1px solid var(--border);padding:16px;font-size:16px}.chat-item{border-bottom:1px solid var(--border);cursor:pointer;padding:14px 16px;transition:background .2s}.chat-item:hover{background:var(--bg)}.chat-item.active{background:var(--primary-light)}.chat-item-name{justify-content:space-between;font-size:14px;font-weight:600;display:flex}.chat-item-job{color:var(--primary);margin-top:2px;font-size:12px}.chat-item-preview{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;overflow:hidden}.chat-item-time{color:var(--text-light);margin-top:2px;font-size:11px}.badge{background:var(--danger);color:#fff;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:600}.chat-main{background:var(--bg);flex-direction:column;flex:1;display:flex}.chat-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:16px;display:flex}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.message{display:flex}.message.sent{justify-content:flex-end}.message-bubble{border-radius:16px;max-width:70%;padding:10px 16px;font-size:14px}.message.received .message-bubble{border:1px solid var(--border);background:#fff}.message.sent .message-bubble{background:var(--primary);color:#fff}.message-sender{margin-bottom:2px;font-size:11px;font-weight:600;display:block}.message.sent .message-sender{color:#fffc}.message.received .message-sender{color:var(--primary)}.message-time{margin-top:4px;font-size:10px;display:block}.message.sent .message-time{color:#ffffffb3}.message.received .message-time{color:var(--text-light)}.chat-input{border-top:1px solid var(--border);background:#fff;gap:12px;padding:16px;display:flex}.chat-input input{border:1px solid var(--border);border-radius:24px;outline:none;flex:1;padding:12px 16px;font-size:14px}.chat-input input:focus{border-color:var(--primary)}@media (width<=768px){.chat-sidebar{width:100%}.chat-layout{flex-direction:column}}.upload-area{border:2px dashed var(--border);border-radius:var(--radius-lg);text-align:center;background:#fff;padding:40px}.resume-info{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:24px}.resume-actions{gap:12px;margin-top:16px;display:flex}.chart-bar{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:20px}.bar-item{align-items:center;gap:12px;margin-bottom:12px;display:flex}.bar-label{text-transform:capitalize;width:100px;font-size:13px;font-weight:500}.bar-track{background:var(--bg);border-radius:12px;flex:1;height:24px;overflow:hidden}.bar-fill{background:var(--primary);border-radius:12px;min-width:4px;height:100%;transition:width .5s}.bar-count{text-align:right;width:40px;font-size:14px;font-weight:600}.trends-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.trend-card{border-radius:var(--radius);border:1px solid var(--border);background:#fff;padding:20px}.trend-card h3{margin-bottom:12px;font-size:16px}.trend-item{border-bottom:1px solid var(--bg);justify-content:space-between;padding:6px 0;font-size:14px;display:flex}.settings-form{border-radius:var(--radius);border:1px solid var(--border);background:#fff;margin-bottom:20px;padding:24px}.saved-jobs-list{flex-direction:column;gap:16px;display:flex}.saved-job-item{align-items:center;gap:12px;display:flex}.saved-job-item .job-card{flex:1}.section{margin:24px 0}.section h2{margin-bottom:16px;font-size:20px}.company-logo-small{border-radius:var(--radius);object-fit:cover;width:40px;height:40px}
