@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --hr-navy: #0d162b;
  --hr-navy-soft: #172036;
  --hr-navy-deep: #090f20;
  --hr-coral: #ff4f5e;
  --hr-orange: #ff7a45;
  --hr-primary-gradient: linear-gradient(135deg, #ff4f5e 0%, #ff7a45 100%);
  --hr-surface: #ffffff;
  --hr-surface-soft: #f7f8fc;
  --hr-coral-soft: #fff0f1;
  --hr-border: #e5e9f0;
  --hr-text: #111827;
  --hr-text-muted: #64748b;
  --hr-success: #16855b;
  --hr-warning: #a96800;
  --hr-danger: #b42318;
  --hr-radius: 12px;
  --hr-shadow: 0 12px 30px rgba(13, 22, 43, .12);
  --hr-focus: 0 0 0 3px rgba(255, 79, 94, .2);
  /* aliases retained for established operational views */
  --field-ink: var(--hr-text);
  --field-muted: var(--hr-text-muted);
  --field-canvas: #f3f5fa;
  --field-paper: var(--hr-surface);
  --field-line: var(--hr-border);
  --field-moss: var(--hr-coral);
  --field-moss-deep: #d93649;
  --field-sun: var(--hr-orange);
  --field-sun-deep: #a94a23;
  --field-alert: var(--hr-danger);
  --field-alert-deep: #8d1b14;
  --field-slate: #495777;
  --field-slate-deep: #26324e;
  --field-success-soft: #e9f7ef;
  --field-warning-soft: #fff5df;
  --field-danger-soft: #fff0ef;
  --field-info-soft: #edf2ff;
}

* { box-sizing: border-box; }
html { font-size: 15px; }
body, .wrapper { font-family: Inter, Arial, sans-serif; color: var(--hr-text); background: var(--field-canvas); }
body { min-height: 100dvh; }
a { color: var(--hr-coral); }
a:hover { color: #dc3b4a; }

.content-wrapper { background: var(--field-canvas) !important; min-height: calc(100dvh - 57px); }
.content-header { padding: 22px 0 10px; }
.content-header h1, .content-header .m-0 { color: var(--hr-text); font-weight: 800; letter-spacing: -.035em; }
.content { padding-bottom: 28px; }

/* Shared surfaces */
.card, .small-box, .info-box, .modal-content {
  border: 1px solid var(--hr-border);
  border-radius: var(--hr-radius);
  box-shadow: 0 5px 18px rgba(13, 22, 43, .055);
  overflow: hidden;
}
.card { background: var(--hr-surface); margin-bottom: 1.35rem; }
.card-header { padding: .95rem 1.2rem; background: var(--hr-surface); border-bottom: 1px solid var(--hr-border); }
.card-title { font-weight: 700; color: var(--hr-text); }
.card-body { padding: 1.2rem; }
.card-footer { background: var(--hr-surface-soft); border-top: 1px solid var(--hr-border); }

/* Buttons and legacy semantics */
.btn { min-height: 40px; border-radius: 9px; font-size: .86rem; font-weight: 700; letter-spacing: .005em; padding: .5rem .95rem; transition: transform .16s ease, box-shadow .16s ease, background .16s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary, .ops-submit {
  color: #fff !important; border: 0 !important; background: var(--hr-primary-gradient) !important;
  box-shadow: 0 5px 12px rgba(255, 79, 94, .22);
}
.btn-primary:hover, .ops-submit:hover { box-shadow: 0 8px 16px rgba(255, 79, 94, .3); filter: saturate(1.06); }
.btn-success { color:#fff !important; background:var(--hr-success) !important; border-color:var(--hr-success) !important; }
.btn-success:hover { color:#fff !important; background:#116d49 !important; border-color:#116d49 !important; }
.btn-secondary, .btn-info { color: var(--hr-navy) !important; background: #eef1f7 !important; border-color: #d8deea !important; }
.btn-secondary:hover, .btn-info:hover { background: #e1e6f0 !important; }
.btn-outline-primary { color: var(--hr-coral); border-color: #ffabb3; background: #fff; }
.btn-outline-primary:hover { color: #fff; border-color: var(--hr-coral); background: var(--hr-coral); }
.btn-danger { background: var(--hr-danger); border-color: var(--hr-danger); }
.btn-warning { color: #58320d; background: #ffdca3; border-color: #ffdca3; }
.btn:focus, .form-control:focus, .custom-select:focus, .form-check-input:focus, .select2-container--default .select2-selection--single:focus { box-shadow: var(--hr-focus) !important; outline: 0; }
.btn:disabled, .btn.disabled { opacity: .55; transform: none; box-shadow: none; }
.bg-primary, .badge-primary { color:#fff !important; background:var(--hr-primary-gradient) !important; }
.bg-success, .badge-success { color:#fff !important; background:var(--hr-success) !important; }
.bg-info, .badge-info { background: #e8edff !important; color: #334a92 !important; }
.bg-secondary, .badge-secondary { background: #edf0f5 !important; color: #526078 !important; }
.bg-danger, .badge-danger { background: var(--hr-danger) !important; color:#fff !important; }
.bg-warning, .badge-warning { background: #ffdf9c !important; color:#714207 !important; }
.text-primary { color:var(--hr-navy) !important; }
.text-success { color:var(--hr-success) !important; }
.text-info, .text-secondary { color: var(--hr-text-muted) !important; }
.text-danger { color: var(--hr-danger) !important; }
.text-warning { color: var(--hr-warning) !important; }

/* Form controls */
label, .col-form-label, .ops-form-label { color: #34415b; font-weight: 700; font-size: .82rem; }
.form-control, .custom-select, .select2-container--default .select2-selection--single {
  min-height: 42px; color: var(--hr-text); border: 1px solid #dce2ec; border-radius: 9px; background: #fff;
}
.form-control::placeholder { color: #99a5b8; }
.form-control:focus, .custom-select:focus { border-color: var(--hr-coral); }
.input-group-text { color: var(--hr-text-muted); background: var(--hr-surface-soft); border-color: #dce2ec; }
.custom-control-input:checked ~ .custom-control-label::before { border-color: var(--hr-coral); background-color: var(--hr-coral); }

/* Tables and data tables */
.table { color: #253149; }
.table thead th { border-top: 0; border-bottom: 1px solid var(--hr-border); color: #526078; font-size: .7rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; background: #f7f8fc; vertical-align: middle; }
.table td, .table th { border-color: var(--hr-border); padding: .78rem .85rem; vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { background: #fafbfe; }
.table-hover tbody tr:hover { background: #fff4f4; }
.badge { border-radius: 999px; padding: .42em .7em; font-size: .7rem; font-weight: 700; }
.dataTables_wrapper { color: var(--hr-text-muted); font-size: .84rem; }
.dataTables_wrapper input, .dataTables_wrapper select { border: 1px solid #dce2ec !important; border-radius: 8px !important; min-height: 34px; background: #fff !important; color: var(--hr-text) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { color: #fff !important; border: 0 !important; border-radius: 7px; background: var(--hr-primary-gradient) !important; }
.dataTables_wrapper .dt-button { border: 1px solid #ffc0c5 !important; border-radius: 8px !important; color: var(--hr-coral) !important; background: #fff !important; font-weight: 700 !important; }

/* Feedback and modals */
.alert { border: 1px solid; border-radius: 10px; font-size: .88rem; }
.alert-success { color: #11623f; background: var(--field-success-soft); border-color: #b9e5ce; }
.alert-info { color: #334a92; background: var(--field-info-soft); border-color: #cdd8ff; }
.alert-warning { color: #744500; background: var(--field-warning-soft); border-color: #f4d48c; }
.alert-danger { color: #8d1b14; background: var(--field-danger-soft); border-color: #fac3bf; }
.modal-header { background: var(--hr-navy); color: #fff; border: 0; padding: 1rem 1.25rem; }
.modal-title { font-weight: 700; }
.modal-header .close { color:#fff; opacity:.9; }
.modal-footer { border-color: var(--hr-border); background: var(--hr-surface-soft); }

/* Application navigation */
.main-header { margin-left: 0 !important; }
.reclutron-topbar, .reclutron-rolebar {
  min-height: 58px; padding: .45rem 1rem; border: 0 !important; border-bottom: 1px solid rgba(255,255,255,.11) !important;
  background: linear-gradient(105deg, #0d162b 0%, #172036 68%, #3a1b33 100%) !important; box-shadow: 0 3px 14px rgba(9,15,32,.18);
}
.reclutron-topbar__brand, .reclutron-rolebar__brand { display:flex; align-items:center; gap:.65rem; margin-right:1rem; }
.reclutron-logo { width: 38px; height: 38px; object-fit: contain; border-radius: 7px; }
.reclutron-topbar .nav-link, .reclutron-rolebar .nav-link { color: rgba(255,255,255,.82) !important; border-radius: 8px; font-weight: 600; }
.reclutron-topbar .nav-link:hover, .reclutron-rolebar .nav-link:hover { background: rgba(255,255,255,.09); color:#fff !important; }
.reclutron-topbar__logout { color:#fff !important; background: rgba(255,79,94,.18); border:1px solid rgba(255,132,142,.38); }
.reclutron-topbar__logout:hover { background: var(--hr-coral) !important; }
.main-sidebar { background: var(--hr-navy) !important; box-shadow: 2px 0 16px rgba(9,15,32,.12); }
.main-sidebar .brand-link { height: 69px; border-bottom: 1px solid rgba(255,255,255,.1); padding: .8rem .9rem; display:flex; align-items:center; gap:.7rem; }
.brand-image { width:39px; height:39px; object-fit:contain; border-radius:8px; margin:0 !important; }
.brand-text { color:#fff !important; font-size:1rem; font-weight:800 !important; letter-spacing:-.02em; }
.brand-caption { color:#ffb0a9; font-size:.63rem; display:block; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.nav-sidebar>.nav-item>.nav-link { color: #c6cede; border-radius: 8px; margin: 2px 8px; padding: .68rem .78rem; font-size: .86rem; }
.nav-sidebar>.nav-item>.nav-link:hover { background: rgba(255,255,255,.07); color:#fff; }
.nav-sidebar>.nav-item>.nav-link.active, .nav-sidebar>.nav-item>.nav-link.parent-active, .nav-sidebar .nav-treeview>.nav-item>.nav-link.active { color:#fff !important; background: var(--hr-primary-gradient) !important; box-shadow: 0 5px 12px rgba(255,79,94,.2); }
.nav-sidebar .nav-icon { font-size:.95rem !important; }
.nav-sidebar .nav-treeview>.nav-item>.nav-link { color:#aeb9d0; margin-left:14px; }
.nav-sidebar .nav-header { color:#8d9bb5; font-size:.62rem; letter-spacing:.11em; font-weight:800; }
body.no-sidebar-mode .main-sidebar { display:none !important; }
body.no-sidebar-mode .content-wrapper, body.no-sidebar-mode .main-header, body.no-sidebar-mode .main-footer { margin-left:0 !important; }
.content-wrapper.no-sidebar { margin-left:0 !important; }

/* Existing operational modules */
.ops-page .container-fluid { max-width: 1680px; }
.ops-kicker { color:var(--hr-text-muted); font-size:.68rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.ops-heading { color:var(--hr-text); font-weight:800; letter-spacing:-.035em; }
.ops-heading i { color:var(--hr-coral); }
.ops-card, .ops-meta-panel, .import-summary { background:var(--hr-surface); border:1px solid var(--hr-border); border-radius:var(--hr-radius); box-shadow:0 5px 18px rgba(13,22,43,.055); overflow:hidden; }
.ops-card>.card-header, .ops-upload-card>.card-header { background:var(--hr-navy); color:#fff; border:0; }
.ops-card>.card-header .card-title { color:#fff; }
.ops-card>.card-header i, .ops-upload-card>.card-header i { color:var(--hr-orange); }
.ops-table, .mz-table { color:var(--hr-text); }
.ops-table thead th, .mz-table thead th { background:#f7f8fc !important; border-color:var(--hr-border) !important; color:#526078 !important; }
.ops-table tbody td, .mz-table tbody td { border-color:var(--hr-border) !important; }
.ops-table tbody tr:hover, .mz-table tbody tr:hover { background:#f7f8fc !important; }
.ops-table > tbody > tr:not(.manzana-details) > td:first-child,
.mz-table > tbody > tr:not(.manzana-details) > td:first-child { color:var(--hr-text); }
.manzana-details > td {
  color:var(--hr-text) !important;
  background:#f8fafc !important;
}
.manzana-details table th {
  color:#475569 !important;
  background:#f1f5f9 !important;
}
.manzana-details table td {
  color:var(--hr-text) !important;
  background:#fff !important;
}
.manzana-details h1,
.manzana-details h2,
.manzana-details h3,
.manzana-details h4,
.manzana-details h5,
.manzana-details h6 { color:var(--hr-navy) !important; }
.ops-select { border-color:#dce2ec; min-height:42px; }
.file-dropzone { background:#fafbfe; border:1.5px dashed #c3cad9; border-radius:10px; }
.file-dropzone:hover, .file-dropzone:focus-within, .file-dropzone.is-selected { background:#fff5f5; border-color:var(--hr-coral); }
.file-dropzone__icon { background:#ffe4e6; color:var(--hr-coral); }
.ops-modal .modal-header { background:var(--hr-navy); color:#fff; }

@media (max-width: 575.98px) {
  .modal-dialog { max-width:calc(100vw - 1rem); margin:.5rem auto; }
  .modal-content { max-height:calc(100dvh - 1rem); }
  .modal-body { overflow-y:auto; }
  .modal-footer { flex-wrap:wrap; gap:.5rem; }
  .modal-footer .btn { flex:1 1 auto; margin:0; }
}

/* Legacy operational components: preserve every established view pattern */
.kpi-green { background-color:var(--field-success-soft) !important; color:#11623f; font-weight:700; }
.kpi-yellow { background-color:var(--field-warning-soft) !important; color:#744500; font-weight:700; }
.kpi-red { background-color:var(--field-danger-soft) !important; color:#8d1b14; font-weight:700; }
.border-primary { border-color:var(--hr-coral) !important; }
.border-success { border-color:var(--hr-success) !important; }
.border-info, .border-secondary { border-color:#8795b3 !important; }
.border-danger { border-color:var(--hr-danger) !important; }
.border-warning { border-color:var(--hr-warning) !important; }
.table-title { color:var(--hr-text); font-size:1.35rem; font-weight:800; letter-spacing:-.025em; text-align:center; }
td.text-center, th.text-center { text-align:center !important; }
.table .form-check-input { display:block; width:1rem; height:1rem; margin:0 auto; cursor:pointer; }
.reclutron-topbar__control, .reclutron-topbar__home { transition:background-color .16s ease, color .16s ease; }

.ops-table-wrap, .legacy-table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.legacy-table-scroll > .table { min-width:640px; }
.loading-overlay { position:fixed; inset:0; z-index:2000; align-items:center; justify-content:center; flex-direction:column; background:rgba(255,255,255,.82); }
.required-marker, .dashboard-accent-icon { color:var(--hr-coral); }
.dashboard-alert-icon { color:var(--hr-danger); }
.survey-fill-warning { background:var(--hr-warning) !important; }
.hr-attention-panel { border:1px solid #f4d48c; background:var(--field-warning-soft); }
.hr-attention-title { color:var(--hr-navy); }
.cfg-page .sticky-actions { position:sticky; bottom:0; z-index:5; margin-top:10px; padding:10px 0 0; border-top:1px solid var(--hr-border); background:var(--hr-surface); }
.cfg-grid-page .table td, .cfg-grid-page .table th { padding:.35rem .5rem !important; vertical-align:middle !important; }
.cfg-grid-page .form-control { height:1.8rem !important; min-height:1.8rem; padding:.15rem .35rem !important; font-size:.85rem !important; }
.cfg-grid-page .card-header { padding:.4rem .75rem !important; }
.cfg-grid-page .card-title { font-size:.95rem !important; }
.cfg-grid-page .sticky-actions { margin-top:0; padding:.4rem .75rem; }
.cfg-grid { display:grid; grid-template-columns:1fr; gap:8px; }
.cfg-valor-col { width:140px; }
.cfg-ideal-input { width:100%; max-width:140px; text-align:center; }
@media (min-width: 992px) { .cfg-grid { grid-template-columns:1fr 1fr; } }
.ops-meta-panel { border-left:4px solid var(--hr-orange); }
.ops-meta-panel .card-body { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.95rem 1.2rem; }
.ops-operator, .ops-user-name { color:var(--hr-text); font-weight:750; }
.ops-operator { margin:0; font-size:1.08rem; }
.ops-time { margin:0; color:var(--hr-text-muted); font-size:.8rem; }
.ops-card>.card-body { padding:.65rem .8rem .8rem; }
.ops-table, .mz-table { margin-bottom:0; border-collapse:separate; border-spacing:0; font-size:.82rem; }
.ops-table .badge, .mz-table .badge { border-radius:999px; font-size:.7rem; font-weight:700; letter-spacing:.02em; padding:.4em .65em; }
.ops-table .btn, .mz-table .btn, .ops-action { min-height:31px; padding:.35rem .62rem; border-radius:7px; font-size:.75rem; font-weight:700; white-space:nowrap; }
.ops-table .btn:hover, .mz-table .btn:hover, .ops-action:hover { transform:translateY(-1px); }
.ops-table .btn-primary, .mz-table .btn-primary, .ops-action.btn-primary { background:var(--hr-primary-gradient) !important; border:0 !important; }
.ops-table .btn-info, .mz-table .btn-info { background:#eef1f7 !important; border-color:#d8deea !important; color:var(--hr-navy) !important; }
.ops-table .btn-outline-primary, .mz-table .btn-outline-primary { color:var(--hr-coral); border-color:#ffabb3; }
.ops-empty { color:var(--hr-text-muted); font-weight:600; padding:2.5rem !important; }
.ops-back { color:var(--hr-navy); background:#edf0f5; border-color:#d8deea; font-weight:700; }
.ops-back:hover { color:var(--hr-navy); background:#e1e6f0; }
.ops-status-label { display:inline-block; margin-right:.38rem; color:var(--hr-text-muted); font-size:.68rem; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.toggle-details { color:var(--hr-coral) !important; }

.dataTables_wrapper { padding-top:.3rem; }
.dataTables_wrapper .dataTables_filter input { margin-left:.45rem; padding:.25rem .5rem; }
.dataTables_wrapper .dataTables_length select { padding:.25rem .45rem; }
.dataTables_wrapper .dt-buttons { margin-bottom:.65rem; }
.dataTables_wrapper .dataTables_paginate .paginate_button:hover { border-color:transparent !important; color:#fff !important; background:var(--hr-coral) !important; }

.ops-upload-card { border-color:var(--hr-border); }
.ops-upload-card>.card-header h4, .ops-upload-card>.card-header h5, .ops-upload-card>.card-header h6 { font-weight:750; letter-spacing:.01em; }
.ops-alert { border:0; border-left:4px solid; border-radius:9px; box-shadow:0 4px 12px rgba(13,22,43,.05); font-weight:600; }
.ops-alert.alert-danger { background:var(--field-danger-soft); border-color:var(--hr-danger); color:#8d1b14; }
.ops-alert.alert-success { background:var(--field-success-soft); border-color:var(--hr-success); color:#11623f; }

.import-summary { padding:1.15rem 1.25rem; border-left:4px solid var(--hr-coral); background:linear-gradient(120deg, #fff 0%, #fff7f7 100%); }
.import-summary__heading { display:flex; align-items:center; gap:.8rem; margin-bottom:1rem; }
.import-summary__icon { display:flex; flex:0 0 38px; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; color:#fff; background:var(--hr-primary-gradient); }
.import-summary__eyebrow { margin:0 0 .1rem; color:var(--hr-text-muted); font-size:.66rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.import-summary h2 { margin:0; color:var(--hr-text); font-size:1.15rem; font-weight:780; }
.import-summary__metrics { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:1px; overflow:hidden; background:var(--hr-border); border:1px solid var(--hr-border); border-radius:9px; }
.import-summary__metric { min-height:78px; padding:.8rem .9rem; background:rgba(255,255,255,.97); }
.import-summary__metric span { display:block; margin-bottom:.3rem; color:var(--hr-text-muted); font-size:.68rem; font-weight:750; letter-spacing:.045em; text-transform:uppercase; }
.import-summary__metric strong { display:block; color:var(--hr-text); font-size:1.35rem; line-height:1.15; }
.import-summary__metric .import-summary__name { font-size:.95rem; line-height:1.3; }
.import-summary__detail { margin:.9rem 0 0; color:var(--hr-text-muted); font-size:.8rem; }
.import-summary__detail i { margin-right:.35rem; color:var(--hr-coral); }

.assignment-overview { display:flex; gap:1.6rem; margin-left:auto; }
.assignment-overview span { color:var(--hr-text-muted); font-size:.67rem; font-weight:750; letter-spacing:.05em; text-align:center; text-transform:uppercase; }
.assignment-overview strong { display:block; margin-bottom:.12rem; color:var(--hr-text); font-size:1.15rem; line-height:1; }
.assignment-toolbar { margin-bottom:1rem; }
.assignment-toolbar>.card-body { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; padding:1rem 1.1rem; }
.assignment-toolbar__copy { display:flex; align-items:center; gap:.75rem; min-width:250px; }
.assignment-toolbar__icon { display:flex; flex:0 0 40px; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; color:var(--hr-coral); background:var(--hr-coral-soft); }
.assignment-toolbar__copy h2 { margin:0 0 .15rem; color:var(--hr-text); font-size:1rem; font-weight:780; }
.assignment-toolbar__copy p { margin:0; color:var(--hr-text-muted); font-size:.77rem; }
.assignment-toolbar__controls { display:grid; grid-template-columns:minmax(260px, 390px) auto; align-items:end; gap:.7rem; flex:1; justify-content:end; }
.assignment-toolbar__controls .ops-submit { color:#fff; white-space:nowrap; }
.assignment-selection { margin-left:auto; color:#ffe3e5; font-size:.72rem; font-weight:700; }
.assignment-status { display:inline-flex; align-items:center; gap:.4rem; font-size:.76rem; font-weight:700; white-space:nowrap; }
.assignment-status i { font-size:.48rem; }
.assignment-status.is-assigned { color:var(--hr-success); }
.assignment-status.is-pending { color:var(--hr-danger); }

.file-dropzone { position:relative; display:block; min-height:154px; margin:0; padding:1.25rem 1.25rem 1rem; overflow:hidden; color:var(--hr-text); cursor:pointer; transition:border-color .16s ease, background-color .16s ease, transform .16s ease; }
.file-dropzone.is-dragover { background:#fff0f1; border-color:#d93649; transform:translateY(-1px); }
.file-dropzone.is-invalid { border-color:var(--hr-danger); background:#fff0ef; }
.file-dropzone__input { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.file-dropzone__content { display:flex; align-items:center; gap:1rem; pointer-events:none; }
.file-dropzone__title { display:block; font-size:.95rem; font-weight:750; }
.file-dropzone__hint, .file-dropzone__meta { display:block; margin-top:.2rem; color:var(--hr-text-muted); font-size:.78rem; line-height:1.4; }
.file-dropzone__meta { color:#d93649; font-weight:700; }
.file-dropzone__remove { position:absolute; top:.75rem; right:.75rem; z-index:2; display:none; padding:.15rem .35rem; border:0; color:#d93649; background:transparent; font-size:.74rem; font-weight:800; }
.file-dropzone.is-selected .file-dropzone__remove { display:block; }
.file-dropzone__remove:hover, .file-dropzone__remove:focus { color:var(--hr-danger); text-decoration:underline; outline:0; }
.file-upload-feedback { min-height:1.1rem; margin:.45rem 0 0; color:var(--hr-danger); font-size:.76rem; font-weight:700; }
.upload-processing { color:#d93649; font-size:.82rem; font-weight:700; }
.upload-processing .spinner-border { color:var(--hr-coral); }

/* Login — editorial split layout */
.login-page { position:relative; overflow:hidden; background: radial-gradient(circle at 83% 15%, #50233e 0%, transparent 28%), linear-gradient(135deg, #0b1328, #17203a 64%, #2d1732) !important; min-height:100dvh; }
.login-page::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.24; background-image:linear-gradient(120deg, transparent 48%, rgba(255,122,69,.16) 48.1%, transparent 48.4%); }
.login-box { width:min(420px, calc(100% - 32px)); margin:6vh auto; }
.login-logo-custom { text-align:center; margin-bottom:22px; position:relative; z-index:1; }
.login-logo-hr { display:block; width:78px; height:78px; object-fit:contain; border-radius:14px; margin:0 auto 15px; box-shadow:0 10px 24px rgba(0,0,0,.24); }
.login-logo-title { margin:0; color:#fff; font-size:2rem; font-weight:800; letter-spacing:-.045em; }
.login-logo-subtitle { margin:5px 0 0; color:#c9d1e1; font-size:.8rem; letter-spacing:.055em; text-transform:uppercase; }
.login-card-body { padding:30px 32px !important; border-radius:var(--hr-radius) !important; }
.login-box-msg { color:var(--hr-text-muted); font-size:.9rem; padding:0 0 17px; }
.login-card-body .form-control { border-radius:9px 0 0 9px; }
.login-card-body .input-group-text { border-radius:0 9px 9px 0; }
.login-card-body .btn-primary { min-height:42px; }

@media (max-width: 768px) {
  html { font-size:14px; }
  .content-header { padding:16px 0 8px; }
  .content-header h1 { font-size:1.5rem; }
  .card-body { padding:1rem; }
  .main-sidebar .brand-link { height:62px; }
  .reclutron-topbar, .reclutron-rolebar { padding:.35rem .45rem; min-height:54px; }
  .reclutron-rolebar__brand { margin-right:.25rem; }
  .reclutron-logo { width:33px; height:33px; }
  .table-responsive { border:0; }
  .login-box { margin:4vh auto; }
  .login-card-body { padding:24px !important; }
  .responsive-stack thead { display:none; }
  .responsive-stack tbody tr { display:block; margin-bottom:1rem; border:1px solid var(--hr-border); border-radius:10px; background:#fff; padding:.35rem .65rem; }
  .responsive-stack td { display:flex; justify-content:space-between; gap:1rem; border:0; border-bottom:1px solid var(--hr-border); padding:.65rem .1rem; }
  .responsive-stack td::before { content:attr(data-label); color:var(--hr-text-muted); font-weight:700; }
  .responsive-stack td:last-child { border-bottom:0; }
}