*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1B4F72;--primary-light: #2980B9;--primary-dark: #154360;--secondary: #27AE60;--secondary-light: #2ECC71;--accent: #F39C12;--danger: #C0392B;--danger-light: #E74C3C;--warning: #E67E22;--info: #2980B9;--bg: #F4F6F9;--surface: #FFFFFF;--border: #E0E6ED;--text: #2C3E50;--text-secondary: #7F8C8D;--text-muted: #BDC3C7;--sidebar-w: 260px;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.05);--shadow-lg: 0 10px 25px rgba(0,0,0,.1);--transition: .2s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:14px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--primary-dark);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-logo{padding:24px 20px 20px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-logo h1{color:#fff;font-size:20px;font-weight:700;letter-spacing:-.3px}.sidebar-logo span{color:var(--accent)}.sidebar-logo p{color:#ffffff80;font-size:11px;margin-top:2px}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-section{margin-bottom:24px}.nav-section-title{color:#ffffff59;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:0 8px;margin-bottom:6px}.nav-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius);color:#ffffffb3;font-size:14px;font-weight:500;transition:all var(--transition);margin-bottom:2px}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:var(--primary-light);color:#fff}.nav-link .icon{font-size:16px;width:20px;text-align:center}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08)}.user-badge{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);background:#ffffff0d}.user-badge .avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;flex-shrink:0}.user-badge .info{flex:1;min-width:0}.user-badge .name{color:#fff;font-size:13px;font-weight:600;truncate:ellipsis}.user-badge .role{color:#ffffff73;font-size:11px}.btn-logout{background:none;border:none;color:#fff6;font-size:16px;padding:4px;border-radius:4px;transition:color var(--transition)}.btn-logout:hover{color:var(--danger-light)}.main-content{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}.topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 28px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50}.topbar-title{font-size:18px;font-weight:600;color:var(--text)}.topbar-actions{display:flex;align-items:center;gap:12px}.page{padding:28px;flex:1}.page-header{margin-bottom:24px}.page-header h2{font-size:22px;font-weight:700;color:var(--text)}.page-header p{color:var(--text-secondary);margin-top:4px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.card-header h3{font-size:15px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-icon.blue{background:#ebf5fb}.stat-icon.green{background:#e9f7ef}.stat-icon.orange{background:#fef9e7}.stat-icon.red{background:#fdedec}.stat-icon.purple{background:#f4ecf7}.stat-value{font-size:28px;font-weight:700;color:var(--text);line-height:1}.stat-label{color:var(--text-secondary);font-size:12px;margin-top:4px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius);font-size:13px;font-weight:600;border:none;transition:all var(--transition);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-success{background:var(--secondary);color:#fff}.btn-success:hover:not(:disabled){background:#219a52}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#a93226}.btn-warning{background:var(--accent);color:#fff}.btn-sm{padding:5px 10px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.btn-icon{padding:8px;border-radius:var(--radius)}.btn-outline-primary{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:#fff}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}.form-label .required{color:var(--danger);margin-left:3px}.form-control{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:14px;color:var(--text);background:var(--surface);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-control:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #2980b91a}.form-control.error{border-color:var(--danger)}textarea.form-control{resize:vertical;min-height:80px}.form-hint{font-size:11px;color:var(--text-secondary);margin-top:4px}.form-error{font-size:12px;color:var(--danger);margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead th{background:var(--bg);padding:10px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:2px solid var(--border);white-space:nowrap}tbody td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:middle}tbody tr:hover{background:#fafbfc}tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.badge-excellent{background:#d5f5e3;color:#1e8449}.badge-qualified{background:#d6eaf8;color:#1a5276}.badge-waiting{background:#fef9e7;color:#b7770d}.badge-rejected{background:#fadbd8;color:#922b21}.badge-draft{background:#f2f3f4;color:#626567}.badge-active{background:#d5f5e3;color:#1e8449}.badge-closed{background:#fdebd0;color:#a04000}.badge-primary{background:#d6eaf8;color:#1a5276}.badge-success{background:#d5f5e3;color:#1e8449}.badge-info{background:#d1ecf1;color:#0c5460}.alert{padding:12px 16px;border-radius:var(--radius);margin-bottom:16px;font-size:13px}.alert-error{background:#fadbd8;color:#922b21;border:1px solid #F1948A}.alert-success{background:#d5f5e3;color:#1e8449;border:1px solid #82E0AA}.alert-info{background:#d6eaf8;color:#1a5276;border:1px solid #85C1E9}.alert-warning{background:#fef9e7;color:#b7770d;border:1px solid #F8C471}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border)}.modal-header h3{font-size:16px;font-weight:700}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border)}.btn-close{background:none;border:none;font-size:20px;color:var(--text-secondary);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all var(--transition)}.btn-close:hover{background:var(--bg);color:var(--text)}.score-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:4px}.score-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.score-bar-fill.excellent{background:var(--secondary)}.score-bar-fill.qualified{background:var(--primary-light)}.score-bar-fill.waiting{background:var(--accent)}.score-bar-fill.rejected{background:var(--danger)}.gate-funnel{display:flex;gap:16px;align-items:stretch}.gate-step{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-align:center;position:relative}.gate-step:after{content:"→";position:absolute;right:-14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:16px;z-index:1}.gate-step:last-child:after{display:none}.gate-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.gate-value{font-size:24px;font-weight:700;color:var(--primary);margin:4px 0}.gate-sub{font-size:11px;color:var(--text-secondary)}.criterion-card{border:1.5px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;background:var(--surface);display:flex;align-items:flex-start;gap:12px;transition:border-color var(--transition),box-shadow var(--transition)}.criterion-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow)}.criterion-card.eliminatory{border-left:3px solid var(--danger)}.criterion-drag{color:var(--text-muted);cursor:grab;font-size:18px;padding-top:2px}.criterion-body{flex:1}.criterion-question{font-weight:600;font-size:14px;margin-bottom:6px}.criterion-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.criterion-type-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;background:#ebf5fb;color:#1a5276}.criterion-eliminatory-badge{background:#fadbd8;color:#922b21}.criterion-weight{font-size:11px;color:var(--text-secondary)}.criterion-actions{display:flex;gap:4px}.candidate-row{cursor:pointer}.candidate-row:hover td{background:#f0f4f8}.score-cell{display:flex;align-items:center;gap:8px}.score-circle{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.score-circle.excellent{background:#d5f5e3;color:#1e8449}.score-circle.qualified{background:#d6eaf8;color:#1a5276}.score-circle.waiting{background:#fef9e7;color:#b7770d}.score-circle.rejected{background:#fadbd8;color:#922b21}.apply-shell{min-height:100vh;background:linear-gradient(135deg,#1b4f72,#154360);display:flex;flex-direction:column}.apply-header{padding:20px 32px;display:flex;align-items:center;justify-content:space-between}.apply-header .logo{color:#fff;font-size:20px;font-weight:700}.apply-header .logo span{color:var(--accent)}.apply-body{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:32px 16px}.apply-container{width:100%;max-width:720px}.progress-bar-wrap{background:#ffffff26;border-radius:4px;height:4px;margin-bottom:24px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.question-card{background:var(--surface);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px;box-shadow:var(--shadow-md)}.question-label{font-size:15px;font-weight:600;margin-bottom:12px;color:var(--text)}.question-label .eliminatory-tag{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;background:#fadbd8;color:#922b21;margin-left:8px;vertical-align:middle}.choice-options{display:flex;flex-direction:column;gap:8px}.choice-opt{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);background:var(--surface)}.choice-opt:hover{border-color:var(--primary-light);background:#ebf5fb}.choice-opt.selected{border-color:var(--primary);background:#ebf5fb}.choice-opt input{accent-color:var(--primary)}.scale-options{display:flex;gap:8px;flex-wrap:wrap}.scale-btn{width:48px;height:48px;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:16px;font-weight:600;color:var(--text);display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.scale-btn:hover{border-color:var(--primary)}.scale-btn.selected{border-color:var(--primary);background:var(--primary);color:#fff}.auth-page{min-height:100vh;background:linear-gradient(135deg,#1b4f72,#154360 60%,#0e2d45);display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:var(--surface);border-radius:var(--radius-lg);padding:40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo h1{font-size:28px;font-weight:800;color:var(--primary)}.auth-logo h1 span{color:var(--accent)}.auth-logo p{color:var(--text-secondary);font-size:13px;margin-top:4px}.auth-tabs{display:flex;border-radius:var(--radius);background:var(--bg);padding:4px;gap:4px;margin-bottom:24px}.auth-tab{flex:1;padding:8px;text-align:center;border-radius:6px;font-size:13px;font-weight:600;background:none;border:none;color:var(--text-secondary);transition:all var(--transition)}.auth-tab.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.auth-divider{text-align:center;color:var(--text-muted);font-size:12px;margin:16px 0}.status-select-wrap{position:relative;display:inline-block}.status-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:5px 24px 5px 10px;border-radius:20px;border:none;font-size:11px;font-weight:600;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23666'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:20px}.tab-btn{padding:10px 16px;border:none;background:none;font-size:13px;font-weight:600;color:var(--text-secondary);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition)}.tab-btn:hover{color:var(--primary)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state .icon{font-size:48px;margin-bottom:16px}.empty-state h3{font-size:16px;font-weight:600;color:var(--text);margin-bottom:8px}.empty-state p{font-size:13px;max-width:300px;margin:0 auto 20px}.loader{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.public-header{background:linear-gradient(135deg,#1b4f72,#154360);color:#fff;padding:40px 24px;text-align:center}.public-header h1{font-size:28px;font-weight:800;margin-bottom:8px}.public-header h1 span{color:var(--accent)}.public-header p{opacity:.8;font-size:15px}.jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;padding:24px;max-width:1100px;margin:0 auto}.job-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow);transition:box-shadow var(--transition),transform var(--transition);cursor:pointer}.job-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.job-card-title{font-size:16px;font-weight:700;margin-bottom:8px;color:var(--primary)}.job-card-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.job-card-meta span{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.job-card-desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.job-card-footer{display:flex;align-items:center;justify-content:space-between}.compare-grid{display:grid;gap:16px}.compare-grid.cols-2{grid-template-columns:auto repeat(2,1fr)}.compare-grid.cols-3{grid-template-columns:auto repeat(3,1fr)}.compare-grid.cols-4{grid-template-columns:auto repeat(4,1fr)}.compare-criterion-label{font-size:12px;font-weight:600;padding:8px 12px;color:var(--text-secondary)}.compare-header-cell{text-align:center;padding:16px 12px;font-weight:700}.compare-cell{text-align:center;padding:10px 12px;border-top:1px solid var(--border);font-size:13px}.compare-cell.best{color:var(--secondary);font-weight:700}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.form-row,.form-row-3{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.gate-funnel{flex-wrap:wrap}}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.text-sm{font-size:12px}.text-muted{color:var(--text-secondary)}.font-bold{font-weight:700}.text-center{text-align:center}.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
