:root{--bg:#f7f7f6;--surface:#fff;--border:#e4e3e0;--border-subtle:#eeede9;--text-primary:#1a1917;--text-secondary:#6b6863;--text-muted:#9c9894;--text-on-accent:#fff;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-subtle:#eff6ff;--accent-border:#bfdbfe;--danger:#dc2626;--danger-hover:#b91c1c;--danger-subtle:#fef2f2;--success:#16a34a;--success-subtle:#f0fdf4;--warning:#d97706;--warning-subtle:#fffbeb;--status-saved:#6b6863;--status-saved-bg:#f3f2ef;--status-applied:#2563eb;--status-applied-bg:#eff6ff;--status-screening:#7c3aed;--status-screening-bg:#f5f3ff;--status-interview:#0891b2;--status-interview-bg:#ecfeff;--status-offer:#16a34a;--status-offer-bg:#f0fdf4;--status-hired:#15803d;--status-hired-bg:#dcfce7;--status-rejected:#dc2626;--status-rejected-bg:#fef2f2;--status-withdrawn:#9c9894;--status-withdrawn-bg:#f7f7f6;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Menlo", "Consolas", monospace;--radius-sm:4px;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 2px #0000000f;--shadow:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -1px #0000000a;--sidebar-width:224px;--topbar-height:56px}*,:before,:after{box-sizing:border-box}html{height:100%}body{min-height:100%;font-family:var(--font);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0;font-weight:600;line-height:1.25}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:var(--font);cursor:pointer}input,select,textarea{font-family:var(--font)}img{display:block}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn{align-items:center;gap:var(--sp-2);border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:7px 14px;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text-primary);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg)}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text-primary)}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-danger-ghost{color:var(--danger);background:0 0;border-color:#0000}.btn-danger-ghost:hover:not(:disabled){background:var(--danger-subtle)}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:10px 20px;font-size:15px}.btn-icon{padding:7px}.form-group{gap:var(--sp-1);flex-direction:column;display:flex}.form-label{color:var(--text-primary);font-size:13px;font-weight:500}.form-label .required{color:var(--danger);margin-left:2px}.form-input,.form-select,.form-textarea{width:100%;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);outline:none;padding:8px 12px;font-size:14px;line-height:1.5;transition:border-color .12s,box-shadow .12s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:80px}.form-select{cursor:pointer}.form-error{color:var(--danger);align-items:center;gap:4px;font-size:12px;display:flex}.form-hint{color:var(--text-muted);font-size:12px}.badge{white-space:nowrap;text-transform:capitalize;letter-spacing:.01em;border-radius:20px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-saved{background:var(--status-saved-bg);color:var(--status-saved)}.badge-applied{background:var(--status-applied-bg);color:var(--status-applied)}.badge-screening{background:var(--status-screening-bg);color:var(--status-screening)}.badge-interview{background:var(--status-interview-bg);color:var(--status-interview)}.badge-offer{background:var(--status-offer-bg);color:var(--status-offer)}.badge-hired{background:var(--status-hired-bg);color:var(--status-hired)}.badge-rejected{background:var(--status-rejected-bg);color:var(--status-rejected)}.badge-withdrawn{background:var(--status-withdrawn-bg);color:var(--status-withdrawn)}.badge-scheduled{background:var(--status-applied-bg);color:var(--status-applied)}.badge-completed{background:var(--status-offer-bg);color:var(--status-offer)}.badge-cancelled{background:var(--status-rejected-bg);color:var(--status-rejected)}.badge-rescheduled{background:var(--status-screening-bg);color:var(--status-screening)}.badge-no_show{background:var(--status-withdrawn-bg);color:var(--status-withdrawn)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-6)}.card-sm{padding:var(--sp-4)}.table-wrapper{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:13px}.table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--bg);padding:10px 12px;font-size:11px;font-weight:600}.table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:11px 12px}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg)}.page-header{margin-bottom:var(--sp-6);justify-content:space-between;align-items:center;gap:var(--sp-4);flex-wrap:wrap;display:flex}.page-title{font-size:20px;font-weight:600}.page-subtitle{color:var(--text-secondary);margin-top:2px;font-size:13px}.divider{border:none;border-top:1px solid var(--border);margin:var(--sp-6) 0}.alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--radius);border:1px solid;font-size:13px}.alert-error{background:var(--danger-subtle);color:var(--danger);border-color:#fecaca}.alert-success{background:var(--success-subtle);color:var(--success);border-color:#bbf7d0}.alert-warning{background:var(--warning-subtle);color:var(--warning);border-color:#fde68a}.empty-state{padding:var(--sp-12) var(--sp-6);text-align:center;justify-content:center;align-items:center;gap:var(--sp-3);color:var(--text-secondary);flex-direction:column;display:flex}.empty-state-icon{color:var(--text-muted)}.empty-state h3{color:var(--text-primary);font-size:15px}.empty-state p{max-width:320px;font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}.spinner-lg{border-width:3px;width:32px;height:32px}.loading-center{padding:var(--sp-12);justify-content:center;align-items:center;display:flex}.modal-overlay{z-index:200;padding:var(--sp-4);background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);width:100%;max-width:520px;max-height:90vh;overflow-y:auto}.modal-lg{max-width:680px}.modal-header{padding:var(--sp-5) var(--sp-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-body{padding:var(--sp-6)}.modal-footer{justify-content:flex-end;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);border-top:1px solid var(--border);background:var(--bg);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.confirm-body{padding:var(--sp-6)}.confirm-body p{color:var(--text-secondary);margin-top:var(--sp-2);font-size:14px}.grid-2{gap:var(--sp-4);grid-template-columns:1fr 1fr;display:grid}.grid-3{gap:var(--sp-4);grid-template-columns:1fr 1fr 1fr;display:grid}@media (width<=640px){.grid-2,.grid-3{grid-template-columns:1fr}}.pagination{padding:var(--sp-4) 0;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:13px;display:flex}.pagination-controls{align-items:center;gap:var(--sp-2);display:flex}.filters-bar{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.filters-bar .form-input,.filters-bar .form-select{flex:160px;width:auto;min-width:0;max-width:220px}.detail-section{margin-bottom:var(--sp-8)}.detail-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border-subtle);font-size:12px;font-weight:600}.detail-grid{gap:var(--sp-5) var(--sp-8);grid-template-columns:1fr 1fr;display:grid}@media (width<=600px){.detail-grid{grid-template-columns:1fr}}.detail-field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:11px;font-weight:500}.detail-field-value{color:var(--text-primary);font-size:14px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5) var(--sp-6)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.stat-value{color:var(--text-primary);margin-top:4px;font-size:28px;font-weight:700;line-height:1}.stat-sub{color:var(--text-secondary);margin-top:4px;font-size:12px}.timeline{margin:0;padding:0;list-style:none}.timeline-item{gap:var(--sp-3);padding-bottom:var(--sp-4);display:flex;position:relative}.timeline-item:before{content:"";background:var(--border);width:1px;height:calc(100% - 8px);position:absolute;top:16px;left:7px}.timeline-item:last-child:before{display:none}.timeline-dot{border:2px solid var(--border);background:var(--surface);z-index:1;border-radius:50%;flex-shrink:0;width:15px;height:15px;margin-top:2px}.timeline-content{flex:1}.timeline-meta{color:var(--text-muted);font-size:12px}@media (width<=768px){.hide-mobile{display:none!important}.modal{max-width:100%;margin:var(--sp-4)}.modal-overlay{align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:95vh}}@media (width>=769px){.hide-desktop{display:none!important}}
