@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-app:#f5f5f5;--bg-page:#f9fafb;--bg-surface:#fff;--bg-subtle:#f3f4f6;--bg-muted:#e5e7eb;--brand:#7c3aed;--brand-hover:#6d28d9;--brand-light:#7c3aed14;--brand-border:#7c3aed33;--success:#059669;--success-bg:#05966914;--success-border:#05966933;--warning:#d97706;--warning-bg:#d9770614;--warning-border:#d9770633;--danger:#dc2626;--danger-bg:#dc262614;--danger-border:#dc262633;--info:#2563eb;--info-bg:#2563eb14;--info-border:#2563eb33;--text-primary:#111827;--text-secondary:#374151;--text-muted:#6b7280;--text-disabled:#9ca3af;--text-inverse:#fff;--border:#e5e7eb;--border-focus:#7c3aed;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #00000012, 0 2px 4px #0000000a;--shadow-lg:0 10px 15px #00000012, 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--transition-fast:.1s ease;--transition:.15s ease;--transition-slow:.25s cubic-bezier(.4, 0, .2, 1);--sidebar-width:240px;--header-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}a{color:var(--brand);transition:color var(--transition);text-decoration:none}a:hover{color:var(--brand-hover)}h1,h2,h3,h4,h5,h6{letter-spacing:-.01em;color:var(--text-primary);font-weight:600;line-height:1.3}.app-container{background:var(--bg-app);height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;height:100vh;display:flex;overflow:visible}.sidebar-header{height:var(--header-height);padding:0 var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;display:flex}.sidebar-logo{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.sidebar-logo-icon{border-radius:var(--radius-md);background:var(--brand);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.sidebar-logo-text{font-size:var(--text-sm);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}.sidebar-logo-sub{color:var(--text-muted);letter-spacing:0;font-size:10px;font-weight:400}.sidebar-nav{padding:var(--space-3) var(--space-2);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-nav-section{margin-top:var(--space-4);margin-bottom:var(--space-1);padding:0 var(--space-2);text-transform:uppercase;letter-spacing:.08em;color:var(--text-disabled);font-size:10px;font-weight:600}.nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-muted);transition:background var(--transition), color var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;font-weight:450;text-decoration:none;display:flex}.nav-item:hover{background:var(--bg-subtle);color:var(--text-secondary)}.nav-item.active{background:var(--brand-light);color:var(--brand);font-weight:500}.nav-item .nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.sidebar-footer{border-top:1px solid var(--border);padding:var(--space-3) var(--space-3);flex-shrink:0}.sidebar-status{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--success-bg);border:1px solid var(--success-border);margin-bottom:var(--space-2);display:flex}.status-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 #05966966}50%{opacity:.8;box-shadow:0 0 0 4px #05966900}}.sidebar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:background var(--transition);display:flex}.sidebar-user:hover{background:var(--bg-subtle)}.user-avatar{background:var(--brand);width:32px;height:32px;font-size:var(--text-sm);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.main-content{background:var(--bg-page);flex-direction:column;flex:1;display:flex;overflow:hidden auto}.page-wrapper{padding:var(--space-8);flex:1;width:100%;max-width:1400px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.page-title{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.2}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.page-header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-md);height:36px;font-size:var(--text-sm);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition), transform var(--transition);white-space:nowrap;border:1px solid #0000;font-family:inherit;font-weight:500;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary);border-color:#d1d5db}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-secondary)}.btn-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.btn-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-sm{height:28px;padding:0 var(--space-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{height:44px;padding:0 var(--space-6);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:28px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.card-body{padding:var(--space-6)}.job-card{padding:var(--space-5);gap:var(--space-4);transition:box-shadow var(--transition), transform var(--transition);flex-direction:column;display:flex}.job-card:hover{transform:translateY(-1px)}.job-card-summary{color:var(--text-muted);min-height:3.5rem;padding-top:.25rem;font-size:.95rem;line-height:1.6}.job-details-meta-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.job-details-meta-item{color:var(--text-primary);flex-direction:column;gap:.35rem;display:flex}.job-details-meta-item span{color:var(--text-muted);font-size:.75rem}.job-details-meta-item strong{font-weight:700}.job-details-section{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface);padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.job-details-section-header{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-primary);font-weight:700;display:flex}.job-details-section-copy{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;color:var(--text-primary);min-height:7rem;line-height:1.75}.job-details-section-skills{gap:var(--space-3);flex-wrap:wrap;display:flex}.job-details-rounds{gap:var(--space-3);display:grid}.job-details-round{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--bg-subtle);border:1px solid var(--border);border-radius:14px;padding:.8rem 1rem;display:flex}.job-details-round-title{color:var(--text-primary);font-weight:700}.job-details-round-subtitle,.job-details-round-stage{color:var(--text-muted);font-size:.8rem}.stat-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-icon{border-radius:var(--radius-md);width:40px;height:40px;margin-bottom:var(--space-3);justify-content:center;align-items:center;display:flex}.stat-value{font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--text-primary);font-weight:700;line-height:1}.stat-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.stat-change{font-size:var(--text-xs);margin-top:var(--space-2);align-items:center;gap:var(--space-1);display:inline-flex}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-full);font-size:var(--text-xs);padding:2px 10px;font-weight:500;line-height:20px;display:inline-flex}.badge-default{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border)}.badge-brand{background:var(--brand-light);color:var(--brand);border:1px solid var(--brand-border)}.badge-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.badge-info{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:600px}.data-table thead{background:var(--bg-subtle);border-bottom:1px solid var(--border)}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:600}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);border-bottom:1px solid var(--border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background var(--transition)}.data-table tbody tr:hover{background:var(--bg-subtle)}.form-group{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.form-input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=datetime-local],textarea,select{font-family:inherit;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);width:100%;transition:border-color var(--transition), box-shadow var(--transition);appearance:none;outline:none;line-height:1.5}.form-input:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=search]:focus,input[type=datetime-local]:focus,textarea:focus,select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #7c3aed1f}.form-input::placeholder,input::placeholder,textarea::placeholder{color:var(--text-disabled)}textarea{resize:vertical;min-height:80px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.input-icon-wrap{align-items:center;display:flex;position:relative}.input-icon-wrap .input-icon{left:var(--space-3);color:var(--text-muted);pointer-events:none;display:flex;position:absolute}.input-icon-wrap input{padding-left:calc(var(--space-3) + 16px + var(--space-2))}.form-hint{font-size:var(--text-xs);color:var(--text-muted)}.form-error{font-size:var(--text-xs);color:var(--danger)}.alert{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid;display:flex}.alert-error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-border)}.alert-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.alert-warning{background:var(--warning-bg);color:var(--warning);border-color:var(--warning-border)}.alert-info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.modal-overlay{z-index:1000;padding:var(--space-4);background:#00000073;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-height:90vh;animation:.2s cubic-bezier(.34,1.56,.64,1) slideUp;overflow-y:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);display:flex}.modal-title{font-size:var(--text-lg);font-weight:600}.modal-body{padding:var(--space-6);gap:var(--space-4);flex-direction:column;display:flex}.modal-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border);background:var(--bg-subtle);border-radius:0 0 var(--radius-xl) var(--radius-xl);display:flex}.empty-state{text-align:center;padding:var(--space-12) var(--space-8);justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-icon{border-radius:var(--radius-lg);background:var(--bg-subtle);width:48px;height:48px;color:var(--text-muted);margin-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.empty-title{font-size:var(--text-base);color:var(--text-secondary);font-weight:600}.empty-subtitle{font-size:var(--text-sm);color:var(--text-muted);max-width:300px}.spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.spinner-sm{width:14px;height:14px}.spinner-lg{width:32px;height:32px}.loading-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-8);color:var(--text-muted);font-size:var(--text-sm);display:flex}.toast-container{bottom:var(--space-6);right:var(--space-6);gap:var(--space-2);z-index:2000;flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--text-primary);color:#fff;border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);min-width:260px;max-width:360px;animation:.2s slideInRight;display:flex}.toast-success{border-left:3px solid var(--success);background:#064e3b}.toast-error{border-left:3px solid var(--danger);background:#7f1d1d}.toast-warning{border-left:3px solid var(--warning);background:#78350f}.toast-info{border-left:3px solid var(--info);background:#1e3a5f}.score-bar{align-items:center;gap:var(--space-2);display:flex}.score-bar-track{background:var(--bg-muted);border-radius:var(--radius-full);flex:1;min-width:48px;height:4px;overflow:hidden}.score-bar-fill{border-radius:var(--radius-full);height:100%;transition:width .5s}.score-bar-value{font-size:var(--text-xs);color:var(--text-secondary);text-align:right;min-width:32px;font-weight:600}.avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-md{width:36px;height:36px;font-size:var(--text-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--text-base)}.avatar-xl{width:64px;height:64px;font-size:var(--text-xl)}.divider{background:var(--border);height:1px;margin:0}.divider-text{align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);display:flex}.divider-text:before,.divider-text:after{content:"";background:var(--border);flex:1;height:1px}.search-bar{align-items:center;gap:var(--space-2);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:0 var(--space-3);height:36px;transition:border-color var(--transition), box-shadow var(--transition);display:flex}.search-bar:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px #7c3aed1f}.search-bar input{font-size:var(--text-sm);color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding:0}.filter-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{align-items:center;gap:var(--space-1);background:var(--brand-light);color:var(--brand);border:1px solid var(--brand-border);border-radius:var(--radius-sm);font-size:var(--text-xs);padding:2px 8px;font-weight:500;display:inline-flex}.tag-remove{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;margin-left:2px;padding:0;display:flex}.tag-remove:hover{opacity:1}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;transition:border-color var(--transition), background var(--transition)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--brand);background:var(--brand-light)}.drop-zone.file-selected{border-color:var(--success);background:var(--success-bg)}.pipeline-bar{gap:var(--space-1);align-items:flex-end;height:80px;display:flex}.pipeline-col{align-items:center;gap:var(--space-1);flex-direction:column;flex:1;display:flex}.pipeline-col-bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;min-height:4px;transition:height .4s}.service-row{padding:var(--space-3) var(--space-4);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:space-between;align-items:center;display:flex}.notif-popover{bottom:calc(100% + var(--space-2));background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:9999;position:absolute;left:0;right:0;overflow:hidden}.notif-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--transition)}.notif-item:hover{background:var(--bg-subtle)}.notif-item:last-child{border-bottom:none}.notif-item.unread{background:var(--brand-light)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.3s fadeIn}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-brand{color:var(--brand)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.grid-2{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.grid-auto{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.w-full{width:100%}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.btn-primary.btn-outline,.btn-outline{background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.btn-outline:hover:not(:disabled){background:var(--bg-subtle);color:var(--text-primary);border-color:#d1d5db}@media (width<=768px){.page-wrapper{padding:var(--space-4)}.page-header{flex-direction:column;align-items:stretch}.page-header-actions{justify-content:flex-end}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}:root{--sidebar-width:0px}.sidebar{display:none}}
