.card-base{background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);padding:24px}.stat-card{border-radius:var(--radius);color:#fff;border:none;padding:20px 22px;transition:transform .2s,box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.bg-purple{background:linear-gradient(135deg,#818cf8,#6366f1)}.bg-green{background:linear-gradient(135deg,#34d399,#10b981)}.bg-orange{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.bg-red{background:linear-gradient(135deg,#fb7185,#ef4444)}.stat-icon{background:#ffffff2e;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;font-size:1.1rem;display:flex}.stat-num{letter-spacing:-.02em;margin-bottom:4px;font-size:1.75rem;font-weight:800;line-height:1}.stat-label{opacity:.9;font-size:.78rem;font-weight:500}.stat-sub{opacity:.6;margin-top:6px;font-size:.7rem}.dash-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:600}.dash-num{color:var(--text-main);letter-spacing:-.02em;margin-top:2px;font-size:1.5rem;font-weight:800}.dash-sub{color:var(--text-muted);margin-top:6px;font-size:.7rem}.dash-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.9rem;display:flex}.dash-card-title{color:var(--text-main);margin:0;font-size:.85rem;font-weight:700}.dash-pipeline-box{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:14px 8px;display:flex}.dash-pipeline-num{font-size:1.25rem;font-weight:800;line-height:1}.dash-pipeline-label{color:var(--text-muted);margin-top:4px;font-size:.68rem;font-weight:600}.dash-table{border-collapse:collapse;width:100%;font-size:.8rem}.dash-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.7rem;font-weight:600}.dash-table td{border-bottom:1px solid var(--border-light);padding:11px 14px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header-left h5{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.page-header-left p{color:var(--text-muted);margin:3px 0 0;font-size:.8rem}.excel-table-wrapper{border:1px solid var(--border-light);border-radius:var(--radius);max-height:520px;overflow:auto}.excel-table{border-collapse:collapse;width:100%;min-width:1200px;font-size:.78rem}.excel-table thead{z-index:10;position:sticky;top:0}.excel-table thead th{color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;padding:11px 14px;font-size:.7rem;font-weight:600;position:sticky;top:0}.excel-table tbody tr{transition:background .1s}.excel-table tbody tr:hover{background:#f1f5f9}.excel-table tbody tr:nth-child(2n){background:#fafbfd}.excel-table tbody tr:nth-child(2n):hover{background:#f1f5f9}.excel-table td{border-bottom:1px solid var(--border-light);white-space:nowrap;vertical-align:middle;padding:10px 14px}.cell-traindate{color:#854d0e;font-weight:600;background:#fefce8!important}.cell-traindays{color:#1d4ed8;text-align:center;font-weight:600;background:#eff6ff!important}.cell-bootcamp{color:#065f46;text-align:center;font-weight:600;background:#ecfdf5!important}.cell-salary{color:#9d174d;font-weight:600;background:#fdf2f8!important}.cell-sal-offered{color:#4338ca;font-weight:600;background:#eef2ff!important}.editable-cell{cursor:text;width:100%;min-width:80px;color:inherit;background:0 0;border:none;border-radius:6px;outline:none;padding:5px 8px;font-family:inherit;font-size:.78rem;transition:all .15s}.editable-cell:hover{background:#6366f10f}.editable-cell:focus{box-shadow:0 0 0 2px var(--primary);background:#fff;border-radius:6px}.badge-pill{border-radius:20px;padding:4px 10px;font-size:.68rem;font-weight:600;display:inline-block}.badge-selected{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.badge-rejected{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.badge-pending{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.badge-decide{color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe}.badge-employed{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.badge-resigned{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.badge-training{color:#6366f1;background:#eef2ff;border:1px solid #c7d2fe}.badge-bootcamp{color:#059669;background:#ecfdf5;border:1px solid #6ee7b7}.btn-primary-custom{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-family:inherit;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary-custom:hover{background:var(--primary-dark);box-shadow:0 4px 12px #6366f140}.btn-outline-custom{color:var(--primary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:7px;padding:8px 16px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-outline-custom:hover{background:var(--primary-light);border-color:var(--primary)}.filter-bar{background:var(--card-bg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:10px 16px;display:flex}.filter-btn-group{gap:4px;display:flex}.filter-btn{background:var(--card-bg);border:1px solid var(--border);cursor:pointer;color:var(--text-muted);border-radius:6px;padding:5px 14px;font-family:inherit;font-size:.75rem;font-weight:600;transition:all .15s}.filter-btn:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-select{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-family:inherit;font-size:.78rem}.filter-select:focus{border-color:var(--primary);outline:none}.training-stat{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);align-items:center;gap:16px;padding:18px 22px;display:flex}.training-stat-icon{border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.progress-slim{background:var(--border-light);border-radius:4px;height:6px}.progress-slim .progress-bar{border-radius:4px}.target-pass{color:#059669;font-weight:700;background:#ecfdf5!important}.target-fail{color:#dc2626;font-weight:700;background:#fef2f2!important}.target-pending{color:#d97706;font-weight:600;background:#fffbeb!important}.doc-upload-area{border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--border-light);padding:40px 20px;transition:all .2s}.doc-upload-area:hover{border-color:var(--primary);background:var(--primary-light)}.doc-upload-area i{color:#a5b4fc;margin-bottom:12px;font-size:2.5rem}.doc-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius);cursor:pointer;align-items:center;gap:14px;padding:16px;transition:all .15s;display:flex}.doc-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.doc-icon-wrap{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.form-label-bold{color:var(--text-main);margin-bottom:6px;font-size:.78rem;font-weight:600}.form-input-styled{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.85rem;transition:all .15s}.form-input-styled:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f11a}.modal-overlay{z-index:2000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border:none;border-radius:16px;flex-direction:column;width:100%;max-width:900px;max-height:90vh;display:flex;box-shadow:0 25px 60px #0000004d}.modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h5{align-items:center;gap:8px;margin:0;font-size:1rem;font-weight:700;display:flex}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.4rem;line-height:1;transition:all .15s}.modal-close:hover{color:var(--text-main);background:#f1f5f9}.modal-title{font-size:.95rem;font-weight:700}.modal-body{flex:1;padding:24px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.modal-section-title{letter-spacing:1px;text-transform:uppercase;color:var(--primary);border-bottom:1px solid var(--primary-light);margin:20px 0 12px;padding-bottom:8px;font-size:.68rem;font-weight:700}.modal-section-title:first-child{margin-top:0}.modal-label{color:var(--text-muted);margin-bottom:5px;font-size:.75rem;font-weight:600;display:block}.modal-input{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:9px 12px;font-family:inherit;font-size:.82rem;transition:all .15s;display:block}.modal-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #6366f114}select.modal-input{appearance:auto;cursor:pointer}.btn-cancel{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:#fff;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .15s}.btn-cancel:hover{background:#f1f5f9}.source-select{border:1px solid var(--border);color:var(--text-main);cursor:pointer;background:#fff;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.75rem}.applications-table{font-size:.82rem}.applications-table th{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:#f8fafc;padding:11px 14px;font-size:.7rem;font-weight:600}.applications-table td{vertical-align:middle;padding:10px 14px}.chart-container{width:100%;height:220px;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}
