:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--surface: #111111;--surface-2: #1a1a1a;--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .15);--text: #fafafa;--text-muted: rgba(255, 255, 255, .55);--primary: #3b82f6;--primary-hover: #2563eb;--green: #22c55e;--red: #ef4444;--yellow: #eab308;--purple: #a855f7;--orange: #f97316;--radius: .5rem;--radius-lg: .75rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10}.sidebar-brand{padding:1.25rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}.brand-icon{font-size:1.25rem}.brand-text{font-weight:700;font-size:1rem;letter-spacing:-.02em}.nav-tabs{flex:1;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.nav-tab{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;border:none;background:transparent;color:var(--text-muted);font-size:.875rem;border-radius:var(--radius);cursor:pointer;transition:all .15s;text-align:left;font-family:inherit}.nav-tab:hover{background:var(--surface-2);color:var(--text)}.nav-tab.active{background:var(--primary);color:#fff}.tab-icon{font-size:1rem;width:1.25rem;text-align:center}.sidebar-footer{padding:1rem;border-top:1px solid var(--border)}.info-badge{display:block;font-size:.75rem;color:var(--text-muted);padding:.4rem .6rem;background:var(--surface-2);border-radius:var(--radius);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-content{flex:1;margin-left:240px;padding:2rem;min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:.875rem;font-family:inherit;cursor:pointer;transition:all .15s}.btn:hover{border-color:var(--border-hover);background:var(--surface-2)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface-2);border-color:var(--border-hover)}.btn-outline{background:transparent;border-color:var(--border)}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-icon{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.25rem;padding:.25rem}.btn-icon:hover{color:var(--text)}.btn-back{margin-bottom:1.5rem}.dashboard{max-width:960px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-card.accent-blue .stat-value{color:var(--primary)}.stat-card.accent-green .stat-value{color:var(--green)}.stat-card.accent-purple .stat-value{color:var(--purple)}.stat-card.accent-red .stat-value{color:var(--red)}.stat-card.accent-yellow .stat-value{color:var(--yellow)}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h2{color:var(--text);margin-bottom:.5rem}.empty-actions{margin-top:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h2{font-size:1.25rem}.candidates-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:2rem}.table-header,.table-row{display:grid;grid-template-columns:40px 1fr 100px 100px 120px;align-items:center;padding:.75rem 1rem;gap:1rem}.table-header{background:var(--surface-2);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600}.table-row{border-top:1px solid var(--border);font-size:.9rem}.table-row:hover{background:var(--surface-2)}.rank{color:var(--text-muted);font-weight:600}.candidate-name{font-weight:500;cursor:pointer}.candidate-name:hover{color:var(--primary)}.score-badge{display:inline-block;padding:.15rem .5rem;border-radius:1rem;font-size:.8rem;font-weight:600}.score-badge.high{background:#22c55e26;color:var(--green)}.score-badge.mid{background:#eab30826;color:var(--yellow)}.score-badge.low{background:#ef444426;color:var(--red)}.status-tag{display:inline-block;padding:.15rem .5rem;border-radius:1rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-tag.pending{background:#ffffff0d;color:var(--text-muted)}.status-tag.shortlisted{background:#22c55e26;color:var(--green)}.status-tag.interview{background:#a855f726;color:var(--purple)}.status-tag.rejected{background:#ef444426;color:var(--red)}.score-distribution{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.score-distribution h3{margin-bottom:1rem;font-size:1rem}.dist-bar-row{display:grid;grid-template-columns:80px 1fr 40px;align-items:center;gap:.75rem;margin-bottom:.5rem}.dist-label{font-size:.8rem;color:var(--text-muted)}.dist-bar-track{height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.dist-bar-fill{height:100%;border-radius:4px;transition:width .3s}.dist-count{font-size:.8rem;color:var(--text-muted);text-align:right}.requirements-form{max-width:720px}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.form-section h2{font-size:1.1rem;margin-bottom:1rem}.form-section h3{font-size:.95rem;color:var(--text-muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-row .form-section{margin-bottom:0}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.4rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.6rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}.form-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem}.form-warning{font-size:.8rem;color:var(--yellow);margin-top:.5rem}.tag-input-group{display:flex;gap:.5rem;margin-bottom:.75rem}.tag-input-group input{flex:1;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;font-family:inherit}.tag-input-group input:focus{outline:none;border-color:var(--primary)}.tags-list{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .6rem;background:var(--surface-2);border:1px solid var(--border);border-radius:1rem;font-size:.8rem;cursor:pointer;transition:all .15s}.tag-chip:hover{border-color:var(--red);background:#ef44441a}.tag-chip.required{border-color:var(--primary);background:#3b82f61a}.tag-chip.preferred{border-color:var(--purple);background:#a855f71a}.tag-remove{font-size:.9rem;opacity:.6}.weight-row{display:grid;grid-template-columns:120px 1fr 50px;align-items:center;gap:.75rem;margin-bottom:.5rem}.weight-label{font-size:.85rem}.weight-value{font-size:.85rem;color:var(--text-muted);text-align:right}input[type=range]{-webkit-appearance:none;height:6px;background:var(--surface-2);border-radius:3px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--primary);border-radius:50%;cursor:pointer}.cv-uploader{max-width:720px}.upload-header{margin-bottom:1.5rem}.upload-header h2{margin-bottom:.75rem}.warning-banner{padding:.75rem 1rem;background:#eab3081a;border:1px solid rgba(234,179,8,.3);border-radius:var(--radius);font-size:.875rem;color:var(--yellow)}.method-toggle{display:flex;gap:.5rem;margin-bottom:1.5rem}.toggle-btn{padding:.6rem 1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:.9rem;cursor:pointer;font-family:inherit;transition:all .15s}.toggle-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.toggle-btn:hover:not(.active){border-color:var(--border-hover)}.paste-section,.file-section{margin-bottom:1.5rem}.paste-section textarea{width:100%;padding:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.875rem;font-family:ui-monospace,monospace;resize:vertical;line-height:1.6}.paste-section textarea:focus{outline:none;border-color:var(--primary)}.file-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:3rem;text-align:center;cursor:pointer;transition:all .15s}.file-drop-zone:hover{border-color:var(--primary);background:#3b82f60d}.drop-icon{font-size:2.5rem;margin-bottom:.75rem}.cv-preview-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.cv-preview-section h3{margin-bottom:1rem}.cv-preview-list{margin-bottom:1.25rem}.cv-preview-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.cv-preview-item:last-child{border-bottom:none}.cv-preview-name{flex:1;font-size:.9rem}.cv-preview-chars{font-size:.8rem;color:var(--text-muted)}.instructions{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.instructions h3{margin-bottom:.75rem;font-size:1rem}.instructions ul{padding-left:1.25rem}.instructions li{font-size:.875rem;color:var(--text-muted);margin-bottom:.4rem}.candidates-list{max-width:960px}.list-controls{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:.6rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit}.search-input:focus{outline:none;border-color:var(--primary)}.control-group{display:flex;align-items:center;gap:.5rem}.control-group label{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.control-group select,.status-select,.status-select-lg{padding:.5rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.85rem;font-family:inherit;cursor:pointer}.control-group select:focus,.status-select:focus,.status-select-lg:focus{outline:none;border-color:var(--primary)}.candidates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1rem}.candidate-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:all .15s}.candidate-card:hover{border-color:var(--border-hover)}.candidate-card.shortlisted{border-left:3px solid var(--green)}.candidate-card.interview{border-left:3px solid var(--purple)}.candidate-card.rejected{border-left:3px solid var(--red);opacity:.7}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.candidate-info h3{font-size:1rem;cursor:pointer;margin-bottom:.15rem}.candidate-info h3:hover{color:var(--primary)}.candidate-email{font-size:.8rem;color:var(--text-muted)}.score-circle{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.score-circle.large{width:64px;height:64px;font-size:1.1rem}.score-circle.high{background:#22c55e26;color:var(--green);border:2px solid var(--green)}.score-circle.mid{background:#eab30826;color:var(--yellow);border:2px solid var(--yellow)}.score-circle.low{background:#ef444426;color:var(--red);border:2px solid var(--red)}.card-details{display:flex;gap:1rem;margin-bottom:.75rem}.detail-item{display:flex;flex-direction:column;gap:.1rem}.detail-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.detail-item span:last-child{font-size:.85rem}.card-skills{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem}.skill-tag{padding:.15rem .5rem;background:var(--surface-2);border-radius:1rem;font-size:.75rem;color:var(--text-muted)}.skill-tag.more{color:var(--primary)}.card-actions{display:flex;justify-content:space-between;align-items:center}.list-summary{text-align:center;font-size:.8rem;color:var(--text-muted);padding:.75rem}.candidate-detail{max-width:800px}.detail-header{margin-bottom:2rem}.detail-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.detail-title h1{font-size:1.5rem}.detail-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.meta-item{font-size:.9rem;color:var(--text-muted)}.detail-status-row{display:flex;align-items:center;gap:.75rem}.detail-status-row label{font-size:.85rem;color:var(--text-muted)}.match-breakdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.match-breakdown h2{font-size:1.1rem;margin-bottom:1.25rem}.match-category{padding:1rem 0;border-bottom:1px solid var(--border)}.match-category:last-child{border-bottom:none}.match-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.match-cat-name{font-weight:600;font-size:.95rem}.match-score{font-size:.9rem;color:var(--text-muted)}.match-bar-track{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-bottom:.75rem}.match-bar-fill{height:100%;border-radius:3px;transition:width .3s}.match-bar-fill.high{background:var(--green)}.match-bar-fill.mid{background:var(--yellow)}.match-bar-fill.low{background:var(--red)}.match-items{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-bottom:.35rem}.match-label{font-size:.8rem;margin-right:.25rem}.match-label.ok{color:var(--green)}.match-label.miss{color:var(--red)}.match-tag{padding:.15rem .5rem;border-radius:1rem;font-size:.75rem}.match-tag.ok{background:#22c55e1a;color:var(--green)}.match-tag.miss{background:#ef44441a;color:var(--red)}.detail-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem}.detail-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.detail-section h3{font-size:.95rem;margin-bottom:.75rem}.muted{color:var(--text-muted);font-size:.85rem}.notes-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem}.notes-section h3{margin-bottom:.75rem}.notes-section textarea{width:100%;padding:.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit;resize:vertical}.notes-section textarea:focus{outline:none;border-color:var(--primary)}.raw-text-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.raw-text-section h3{margin-bottom:.75rem}.raw-text{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;font-size:.8rem;font-family:ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;color:var(--text-muted)}@media(max-width:768px){.sidebar{width:60px;overflow:hidden}.brand-text,.tab-label,.sidebar-footer{display:none}.nav-tab{justify-content:center;padding:.75rem}.main-content{margin-left:60px;padding:1rem}.form-row{grid-template-columns:1fr}.list-controls{flex-direction:column}}
