/*
 * RecruMax visual layer — mockup-inspired UI
 * 2026-10-06
 *
 * Scope: visual presentation only. No workflow, permission, form, route,
 * calculation, database or backend behaviour is changed by this stylesheet.
 */

body.recrumax-mockup-theme{
  --rm-navy:#0b1f3a;
  --rm-navy-2:#102845;
  --rm-navy-3:#173453;
  --rm-blue:#126df5;
  --rm-blue-2:#0b5de0;
  --rm-blue-soft:#eaf3ff;
  --rm-orange:#ff7a1a;
  --rm-orange-soft:#fff1e7;
  --rm-green:#18a957;
  --rm-green-soft:#eaf9f0;
  --rm-yellow:#d8890c;
  --rm-yellow-soft:#fff7df;
  --rm-red:#e1493f;
  --rm-red-soft:#fff0ee;
  --rm-purple:#7057d9;
  --rm-purple-soft:#f1edff;
  --rm-text:#10213d;
  --rm-muted:#697b94;
  --rm-line:#e3eaf3;
  --rm-surface:#ffffff;
  --rm-page:#f5f8fc;
  --rm-shadow:0 8px 28px rgba(22,48,86,.07),0 1px 3px rgba(15,35,64,.06);
  --rm-shadow-soft:0 2px 12px rgba(21,49,88,.06);
  --brand-primary:var(--rm-blue);
  --brand-secondary:var(--rm-page);
  --primary:var(--rm-blue);
  --dark:var(--rm-navy);
  --bg:var(--rm-page);
  --panel:var(--rm-surface);
  --soft:#f8fbff;
  --soft-2:var(--rm-blue-soft);
  --border:var(--rm-line);
  --text:var(--rm-text);
  --muted:var(--rm-muted);
  --shadow:var(--rm-shadow);
  background:var(--rm-page);
  color:var(--rm-text);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
}

body.recrumax-mockup-theme *{scrollbar-color:#b9c7d9 transparent;scrollbar-width:thin}
body.recrumax-mockup-theme ::selection{background:#cfe2ff;color:#09234a}
body.recrumax-mockup-theme .app{background:var(--rm-page)}

/* --- App shell --------------------------------------------------------- */
body.recrumax-mockup-theme .sidebar{
  width:244px;
  flex:0 0 244px;
  min-height:100vh;
  position:sticky;
  top:0;
  align-self:flex-start;
  height:100vh;
  padding:20px 14px 18px;
  gap:14px;
  background:linear-gradient(180deg,#0b1f3a 0%,#0a1b32 58%,#07172a 100%);
  border-right:1px solid rgba(255,255,255,.06);
  box-shadow:12px 0 36px rgba(7,23,42,.08);
}
body.recrumax-mockup-theme .sidebar-brand{
  padding:2px 8px 16px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
body.recrumax-mockup-theme .sidebar-brand small,
body.recrumax-mockup-theme .sidebar-brand p{display:none}
body.recrumax-mockup-theme .sidebar-brand-logo-wrap{
  float:left;
  width:34px;
  height:34px;
  margin:0 10px 0 0;
  border-radius:10px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
}
body.recrumax-mockup-theme .sidebar-brand-logo{
  width:34px;
  height:34px;
  max-height:none;
  object-fit:cover;
}
body.recrumax-mockup-theme .sidebar-brand h1{
  margin:0;
  min-height:34px;
  display:flex;
  align-items:center;
  font-size:20px;
  line-height:1;
  letter-spacing:-.4px;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.recrumax-mockup-theme .sidebar-brand h1::after{
  content:'';
  display:block;
  width:32px;
  height:3px;
  margin-left:8px;
  border-radius:999px;
  background:var(--rm-orange);
  opacity:.95;
}
body.recrumax-mockup-theme .sidebar-brand .install-app-btn{clear:both;margin-top:12px}
body.recrumax-mockup-theme .nav{gap:10px;margin-top:0;padding:0 0 20px}
body.recrumax-mockup-theme .nav-section-label{
  padding:14px 10px 5px;
  color:#7286a2;
  font-size:9px;
  letter-spacing:.16em;
  font-weight:800;
}
body.recrumax-mockup-theme .nav-group{
  border:none;
  border-radius:12px;
  background:transparent;
  overflow:visible;
}
body.recrumax-mockup-theme .nav-group-toggle{
  min-height:38px;
  padding:9px 10px;
  border-radius:10px;
  color:#aebcd0;
  font-size:11px;
  letter-spacing:.02em;
}
body.recrumax-mockup-theme .nav-group[open] .nav-group-toggle{background:rgba(255,255,255,.035)}
body.recrumax-mockup-theme .nav-group-badge,
body.recrumax-mockup-theme .nav-group-current{background:rgba(255,255,255,.08);color:#b9c8db;border:0}
body.recrumax-mockup-theme .nav-group .nav-submenu{padding:4px 0 0;gap:4px}
body.recrumax-mockup-theme .nav-submenu{gap:4px}
body.recrumax-mockup-theme .nav-link{
  position:relative;
  min-height:42px;
  justify-content:flex-start;
  padding:10px 12px 10px 42px;
  border-radius:9px;
  color:#c7d2e0;
  font-size:13px;
  font-weight:600;
  letter-spacing:0;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
body.recrumax-mockup-theme .nav-link::before{
  content:'•';
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  text-align:center;
  color:#8fa5c1;
  font-size:17px;
  font-weight:700;
  line-height:1;
}
body.recrumax-mockup-theme .nav-link[href*="page=dashboard"]::before{content:'⌂';font-size:16px}
body.recrumax-mockup-theme .nav-link[href*="page=recruitment"]::before{content:'♟';font-size:15px}
body.recrumax-mockup-theme .nav-link[href*="page=workers"]::before{content:'♙';font-size:16px}
body.recrumax-mockup-theme .nav-link[href*="page=planning"]::before,
body.recrumax-mockup-theme .nav-link[href*="page=bulk_schedule"]::before{content:'▦';font-size:14px}
body.recrumax-mockup-theme .nav-link[href*="page=hours"]::before{content:'◷';font-size:16px}
body.recrumax-mockup-theme .nav-link[href*="page=documents"]::before,
body.recrumax-mockup-theme .nav-link[href*="page=document_signing"]::before{content:'▤';font-size:15px}
body.recrumax-mockup-theme .nav-link[href*="page=tasks"]::before{content:'✓';font-size:15px}
body.recrumax-mockup-theme .nav-link[href*="page=hous"]::before,
body.recrumax-mockup-theme .nav-link[href*="page=snf_housing"]::before{content:'⌂';font-size:15px}
body.recrumax-mockup-theme .nav-link[href*="page=companies"]::before{content:'▥';font-size:14px}
body.recrumax-mockup-theme .nav-link[href*="page=reports"]::before,
body.recrumax-mockup-theme .nav-link[href*="page=exports"]::before{content:'▥';font-size:14px}
body.recrumax-mockup-theme .nav-link[href*="page=settings"]::before{content:'⚙';font-size:15px}
body.recrumax-mockup-theme .nav-link[href*="page=notifications"]::before,
body.recrumax-mockup-theme .nav-link[href*="page=reminders"]::before{content:'◉';font-size:13px}
body.recrumax-mockup-theme .nav-link[href*="page=help"]::before{content:'?';font-size:14px}
body.recrumax-mockup-theme .nav-link-logout::before{content:'↪';font-size:15px}
body.recrumax-mockup-theme .nav-link:hover{background:rgba(255,255,255,.07);color:#fff;transform:translateX(1px)}
body.recrumax-mockup-theme .nav-link.active{
  background:linear-gradient(135deg,#1678ff 0%,#0f67ef 100%);
  color:#fff;
  box-shadow:0 8px 20px rgba(18,109,245,.28);
}
body.recrumax-mockup-theme .nav-link.active::before{color:#fff}
body.recrumax-mockup-theme .nav-active-dot{display:none}
body.recrumax-mockup-theme .nav-link-logout{margin-top:8px;border-top:1px solid rgba(255,255,255,.06);border-radius:9px}

body.recrumax-mockup-theme .main{background:var(--rm-page);min-height:100vh}
body.recrumax-mockup-theme .topbar{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rm-line);
  box-shadow:0 1px 0 rgba(16,33,61,.02);
}
body.recrumax-mockup-theme .topbar-inner{
  min-height:82px;
  padding:16px 24px;
  align-items:center;
  gap:20px;
  flex-wrap:nowrap;
}
body.recrumax-mockup-theme .topbar h2{
  margin:0;
  color:var(--rm-text);
  font-size:25px;
  font-weight:800;
  letter-spacing:-.45px;
  line-height:1.12;
}
body.recrumax-mockup-theme .eyebrow{
  color:#8493a9;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:800;
  margin-bottom:4px;
}
body.recrumax-mockup-theme .page-description{margin:4px 0 0;max-width:680px;font-size:12px;color:#7788a0;line-height:1.35}
body.recrumax-mockup-theme .topbar-right{
  margin-left:auto;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  min-width:0;
}
body.recrumax-mockup-theme .topbar-search{order:-3;flex-wrap:nowrap;gap:6px}
body.recrumax-mockup-theme .topbar-search input{
  width:min(320px,24vw);
  min-width:210px;
  height:38px;
  padding:8px 12px 8px 34px;
  border-radius:9px;
  border-color:#dce5f0;
  background:#f9fbfe;
  box-shadow:none;
}
body.recrumax-mockup-theme .topbar-search::before{
  content:'⌕';
  margin-right:-31px;
  z-index:1;
  color:#8798ae;
  font-size:18px;
  pointer-events:none;
}
body.recrumax-mockup-theme .topbar-search .btn{display:none}
body.recrumax-mockup-theme .topbar-actions{order:-2}
body.recrumax-mockup-theme .page-help-link,
body.recrumax-mockup-theme .live-task-badge{
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  border-radius:10px;
  background:#fff;
  border:1px solid #dfe7f1;
  color:#60738d;
  box-shadow:0 2px 8px rgba(25,52,89,.04);
}
body.recrumax-mockup-theme .live-task-badge.has-items{border-color:#cfe0ff;background:#f7faff}
body.recrumax-mockup-theme .live-task-count{background:var(--rm-orange);color:#fff;border:2px solid #fff}
body.recrumax-mockup-theme .topbar-user{
  min-height:38px;
  padding:7px 10px;
  border:1px solid #dfe7f1;
  border-radius:10px;
  background:#fff;
  color:#4d617c;
  font-size:12px;
  white-space:nowrap;
}
body.recrumax-mockup-theme .role-badge{
  padding:3px 7px;
  border:0;
  background:#edf4ff;
  color:#2364c4;
  font-size:10px;
}
body.recrumax-mockup-theme .content{
  padding:20px 24px 26px;
  gap:16px;
  max-width:1680px;
  width:100%;
  margin:0 auto;
}
body.recrumax-mockup-theme main > footer.content{display:none}

/* --- Surfaces --------------------------------------------------------- */
body.recrumax-mockup-theme .card,
body.recrumax-mockup-theme .stat-tile,
body.recrumax-mockup-theme .nested-panel,
body.recrumax-mockup-theme .entity-watch-tile,
body.recrumax-mockup-theme .logistics-subpanel,
body.recrumax-mockup-theme .house-card-tile,
body.recrumax-mockup-theme .settings-recovery-subpanel,
body.recrumax-mockup-theme .settings-module-card{
  border:1px solid var(--rm-line);
  border-radius:13px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .card.pad{padding:16px}
body.recrumax-mockup-theme .section-head{
  min-height:52px;
  padding:13px 16px;
  border-bottom:1px solid #e8eef6;
}
body.recrumax-mockup-theme .section-head h3{font-size:15px;font-weight:800;letter-spacing:-.12px;color:#162844}
body.recrumax-mockup-theme .section-note{padding:0 16px 14px;font-size:11px;color:#7d8da3}
body.recrumax-mockup-theme .grid-2{gap:14px}
body.recrumax-mockup-theme .grid-3,
body.recrumax-mockup-theme .grid-4,
body.recrumax-mockup-theme .stats{gap:12px}

body.recrumax-mockup-theme .stat,
body.recrumax-mockup-theme .stat-tile.stat{
  min-height:92px;
  position:relative;
  padding:15px 15px 13px;
  border-radius:12px;
  overflow:hidden;
}
body.recrumax-mockup-theme .stat::before,
body.recrumax-mockup-theme .stat-tile.stat::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--rm-blue);
}
body.recrumax-mockup-theme .stats > :nth-child(2)::before{background:var(--rm-orange)}
body.recrumax-mockup-theme .stats > :nth-child(3)::before{background:#26b66f}
body.recrumax-mockup-theme .stats > :nth-child(4)::before{background:#e65b50}
body.recrumax-mockup-theme .stat .label{font-size:11px;color:#76879e;font-weight:700}
body.recrumax-mockup-theme .stat .value{margin-top:7px;font-size:26px;font-weight:800;color:#102544;letter-spacing:-.4px}
body.recrumax-mockup-theme .stat .value.small-value{font-size:22px}
body.recrumax-mockup-theme .small{color:#7789a1;font-size:11px;line-height:1.42}

body.recrumax-mockup-theme .summary-strip{
  gap:10px;
  padding:12px;
  background:#fff;
  border:1px solid var(--rm-line);
  border-radius:13px;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .summary-mini{
  position:relative;
  min-height:78px;
  padding:12px 13px;
  border:1px solid #e4ebf4;
  border-radius:10px;
  background:#fbfdff;
  overflow:hidden;
}
body.recrumax-mockup-theme .summary-mini::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  background:#d9e5f4;
}
body.recrumax-mockup-theme .summary-mini strong{font-size:18px;line-height:1.15;color:#132843;letter-spacing:-.2px}
body.recrumax-mockup-theme .summary-mini.info{background:#f5f9ff;border-color:#dbe9ff}
body.recrumax-mockup-theme .summary-mini.info::after{background:var(--rm-blue)}
body.recrumax-mockup-theme .summary-mini.success{background:#f7fcf9;border-color:#d6f0df}
body.recrumax-mockup-theme .summary-mini.success::after{background:var(--rm-green)}
body.recrumax-mockup-theme .summary-mini.warning{background:#fffaf1;border-color:#f5e7bd}
body.recrumax-mockup-theme .summary-mini.warning::after{background:var(--rm-orange)}
body.recrumax-mockup-theme .summary-mini.danger{background:#fff7f6;border-color:#f5d7d3}
body.recrumax-mockup-theme .summary-mini.danger::after{background:var(--rm-red)}
body.recrumax-mockup-theme a.summary-mini:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(19,52,94,.08);transition:.15s ease}

/* --- Controls --------------------------------------------------------- */
body.recrumax-mockup-theme button,
body.recrumax-mockup-theme .btn{
  min-height:36px;
  padding:8px 13px;
  border-radius:8px;
  border-color:#d9e3ef;
  background:#fff;
  color:#304862;
  font-size:12px;
  font-weight:700;
  box-shadow:none;
}
body.recrumax-mockup-theme button:hover,
body.recrumax-mockup-theme .btn:hover{background:#f7faff;border-color:#bed0e5}
body.recrumax-mockup-theme .btn-primary{
  background:linear-gradient(180deg,#1979ff,#0e68ec);
  color:#fff;
  border-color:#0f6cef;
  box-shadow:0 5px 12px rgba(18,109,245,.16);
}
body.recrumax-mockup-theme .btn-primary:hover{background:#0b61dd;border-color:#0b61dd;color:#fff}
body.recrumax-mockup-theme .btn-soft{background:#edf5ff;border-color:#d6e7ff;color:#1760bd}
body.recrumax-mockup-theme .btn-ghost{background:#f7f9fc;border-color:#e1e8f1;color:#52677f}
body.recrumax-mockup-theme input,
body.recrumax-mockup-theme select,
body.recrumax-mockup-theme textarea{
  padding:9px 10px;
  border:1px solid #d9e3ef;
  border-radius:8px;
  background:#fff;
  color:#233952;
  font-size:12px;
  box-shadow:inset 0 1px 1px rgba(23,49,84,.015);
}
body.recrumax-mockup-theme input:focus,
body.recrumax-mockup-theme select:focus,
body.recrumax-mockup-theme textarea:focus{
  border-color:#72aaff;
  box-shadow:0 0 0 3px rgba(18,109,245,.10);
}
body.recrumax-mockup-theme label,
body.recrumax-mockup-theme .form-label{font-size:10px;color:#71839a;font-weight:700;margin-bottom:5px}
body.recrumax-mockup-theme form.grid-form{gap:11px;padding:14px}
body.recrumax-mockup-theme .form-actions{gap:7px}
body.recrumax-mockup-theme .toolbar{padding:11px 14px;border-bottom:1px solid #e8eef6}
body.recrumax-mockup-theme .filter-meta{padding:0 14px 12px;gap:9px}
body.recrumax-mockup-theme .workflow-note,
body.recrumax-mockup-theme .inline-note,
body.recrumax-mockup-theme .empty-state{border-radius:9px;background:#f8fbff;border-color:#dfe8f3;color:#667a94}

body.recrumax-mockup-theme .badge,
body.recrumax-mockup-theme .pill{
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:750;
  line-height:1.35;
}
body.recrumax-mockup-theme .pill{border-color:#dfe7f1;background:#f7f9fc;color:#5b6e86}
body.recrumax-mockup-theme .pill-active,
body.recrumax-mockup-theme .worker-tab-active{background:#eaf3ff;color:#1263cc;border-color:#cfe1ff}
body.recrumax-mockup-theme .badge.approved,
body.recrumax-mockup-theme .badge.done{background:var(--rm-green-soft);color:#168248}
body.recrumax-mockup-theme .badge.pending,
body.recrumax-mockup-theme .badge.warning,
body.recrumax-mockup-theme .badge.open{background:var(--rm-yellow-soft);color:#b26c00}
body.recrumax-mockup-theme .badge.info,
body.recrumax-mockup-theme .badge.submitted,
body.recrumax-mockup-theme .badge.in_progress{background:var(--rm-blue-soft);color:#1460bf}
body.recrumax-mockup-theme .badge.rejected,
body.recrumax-mockup-theme .badge.danger,
body.recrumax-mockup-theme .badge.cancelled{background:var(--rm-red-soft);color:#c83e35}
body.recrumax-mockup-theme .badge.draft{background:#eef2f7;color:#5d6d81}

/* --- Tables ----------------------------------------------------------- */
body.recrumax-mockup-theme .table-wrap{border-radius:0 0 12px 12px}
body.recrumax-mockup-theme table{font-size:11px;min-width:720px}
body.recrumax-mockup-theme th,
body.recrumax-mockup-theme td{padding:10px 12px;border-bottom:1px solid #edf1f6}
body.recrumax-mockup-theme thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:#f7f9fc;
  color:#63758c;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:800;
}
body.recrumax-mockup-theme tbody tr:nth-child(even){background:#fcfdff}
body.recrumax-mockup-theme tbody tr:hover td{background:#f3f8ff}
body.recrumax-mockup-theme .item-row{
  padding:11px 12px;
  border-radius:9px;
  border-color:#e4eaf2;
  background:#fff;
  box-shadow:0 1px 2px rgba(14,35,65,.02);
}
body.recrumax-mockup-theme .list-compact{gap:8px;padding:12px}
body.recrumax-mockup-theme .occupancy-bar{height:6px;background:#e9eef5}
body.recrumax-mockup-theme .occupancy-bar > span{background:var(--rm-green)}

/* --- Dashboard -------------------------------------------------------- */
body.recrumax-mockup-theme.page-dashboard .dashboard-layout{gap:14px}
body.recrumax-mockup-theme.page-dashboard .dashboard-card-shell,
body.recrumax-mockup-theme.page-dashboard .dashboard-command-card{border-radius:13px}
body.recrumax-mockup-theme.page-dashboard .dashboard-summary-band,
body.recrumax-mockup-theme.page-dashboard .dashboard-summary-band-wide,
body.recrumax-mockup-theme.page-dashboard .dashboard-summary-band-inset{background:#fff}
body.recrumax-mockup-theme.page-dashboard .dashboard-command-grid{gap:10px}
body.recrumax-mockup-theme.page-dashboard .dashboard-focus-strip{border-radius:12px}
body.recrumax-mockup-theme.page-dashboard .dashboard-fold-card{border-color:#e2e9f2;border-radius:12px}

/* --- Recruitment ------------------------------------------------------ */
body.recrumax-mockup-theme.page-recruitment_jobs .recruitment-workspace-header,
body.recrumax-mockup-theme.page-recruitment_home .recruitment-workspace-header,
body.recrumax-mockup-theme .recruitment-admin-card,
body.recrumax-mockup-theme .recruitment-candidate-workspace{
  border:1px solid var(--rm-line);
  border-radius:13px;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .recruitment-workspace-header{background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}
body.recrumax-mockup-theme .pipeline-board,
body.recrumax-mockup-theme .recruitment-pipeline-board{gap:10px}
body.recrumax-mockup-theme .pipeline-column,
body.recrumax-mockup-theme .recruitment-pipeline-column{
  border-radius:10px;
  border-color:#e2e9f2;
  background:#f8faff;
}
body.recrumax-mockup-theme .recruitment-row-active{box-shadow:inset 3px 0 0 var(--rm-blue);background:#f4f8ff !important}
body.recrumax-mockup-theme .recruitment-row-hot{box-shadow:inset 3px 0 0 var(--rm-orange)}
body.recrumax-mockup-theme .recruitment-action-card{border-radius:10px;border-color:#e3eaf2;background:#fff}
body.recrumax-mockup-theme .recruitment-action-card:hover{border-color:#c7d9f3;box-shadow:0 6px 18px rgba(20,51,91,.06)}

/* --- Planning --------------------------------------------------------- */
body.recrumax-mockup-theme.page-planning .planning-page-flow{gap:14px}
body.recrumax-mockup-theme.page-planning .planning-summary-primary{padding:10px}
body.recrumax-mockup-theme.page-planning .planning-worker-board{overflow:hidden}
body.recrumax-mockup-theme.page-planning .planning-worker-board table{font-size:10.5px}
body.recrumax-mockup-theme.page-planning .planning-row-focus td{background:#eef6ff !important}
body.recrumax-mockup-theme.page-planning .row-conflict td{background:#fff5f4 !important}
body.recrumax-mockup-theme.page-planning .row-imminent td{background:#fffaf0 !important}
body.recrumax-mockup-theme.page-planning .planning-action-strip{border-radius:11px;background:#f8fbff;border-color:#e1e9f3}
body.recrumax-mockup-theme.page-planning .planning-filter-panel{box-shadow:none;background:#fbfcfe}

/* --- Hours / documents / tasks / housing ----------------------------- */
body.recrumax-mockup-theme.page-hours .hours-mode-strip,
body.recrumax-mockup-theme.page-documents .summary-strip,
body.recrumax-mockup-theme.page-tasks .stats{border-radius:12px}
body.recrumax-mockup-theme.page-hours .admin-hours-day-row{border-color:#e6edf5;background:#fcfdff}
body.recrumax-mockup-theme.page-documents .item-row{align-items:center}
body.recrumax-mockup-theme.page-tasks .ownership-card{border-radius:11px}
body.recrumax-mockup-theme.page-housing_overview .house-card-tile{background:#fff}
body.recrumax-mockup-theme.page-housing_overview .operations-editor-panel{border-radius:13px}

/* --- Notifications / overlays --------------------------------------- */
body.recrumax-mockup-theme .app-toast{border-radius:11px;box-shadow:0 16px 42px rgba(18,42,75,.16)}
body.recrumax-mockup-theme .app-loading-overlay{background:rgba(9,29,53,.28);backdrop-filter:blur(3px)}
body.recrumax-mockup-theme .app-loading-card{border-radius:14px}
body.recrumax-mockup-theme .app-loading-bar span{background:var(--rm-blue)}
body.recrumax-mockup-theme .task-sticky-stack{border-radius:14px;border-color:#dce5f0;box-shadow:0 20px 60px rgba(11,31,58,.18)}
body.recrumax-mockup-theme .task-sticky-popup{border-radius:10px}

/* --- Mobile ----------------------------------------------------------- */
@media (max-width:1200px){
  body.recrumax-mockup-theme .topbar-search input{width:220px;min-width:180px}
  body.recrumax-mockup-theme .page-description{display:none}
  body.recrumax-mockup-theme .topbar-user{display:none}
}
@media (max-width:1100px){
  body.recrumax-mockup-theme .sidebar{
    display:flex;
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    z-index:1100;
    transform:translateX(-105%);
    transition:transform .2s ease;
  }
  body.recrumax-mockup-theme.mobile-nav-open .sidebar{transform:translateX(0)}
  body.recrumax-mockup-theme .topbar-inner{padding:12px 16px;min-height:70px}
  body.recrumax-mockup-theme .topbar h2{font-size:21px}
  body.recrumax-mockup-theme .content{padding:14px 14px 22px}
  body.recrumax-mockup-theme .topbar-search{display:none}
  body.recrumax-mockup-theme .mobile-nav-fab{background:var(--rm-blue);color:#fff;border:0;box-shadow:0 8px 22px rgba(18,109,245,.28)}
  body.recrumax-mockup-theme .mobile-nav-toggle{background:#eff5ff;color:#185db7;border-color:#d6e6ff}
}
@media (max-width:720px){
  body.recrumax-mockup-theme{font-size:13px}
  body.recrumax-mockup-theme .content{gap:12px;padding:12px}
  body.recrumax-mockup-theme .topbar-right{gap:6px}
  body.recrumax-mockup-theme .page-help-link{display:none}
  body.recrumax-mockup-theme .topbar-actions .btn{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.recrumax-mockup-theme .card.pad{padding:13px}
  body.recrumax-mockup-theme .section-head{padding:11px 13px}
  body.recrumax-mockup-theme .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.recrumax-mockup-theme .summary-mini{min-height:72px}
  body.recrumax-mockup-theme .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.recrumax-mockup-theme table{font-size:10px}
  body.recrumax-mockup-theme th,body.recrumax-mockup-theme td{padding:9px 10px}
}
@media (max-width:480px){
  body.recrumax-mockup-theme .summary-strip,
  body.recrumax-mockup-theme .stats{grid-template-columns:1fr}
  body.recrumax-mockup-theme .topbar-actions{display:none}
  body.recrumax-mockup-theme .live-task-badge{margin-left:auto}
}

/* accessibility: preserve clear focus rings */
body.recrumax-mockup-theme a:focus-visible,
body.recrumax-mockup-theme button:focus-visible,
body.recrumax-mockup-theme input:focus-visible,
body.recrumax-mockup-theme select:focus-visible,
body.recrumax-mockup-theme textarea:focus-visible{
  outline:3px solid rgba(18,109,245,.28);
  outline-offset:2px;
}

/* ======================================================================
   COMPLETE APPLICATION VISUAL PASS — approved mockup language
   2026-10-06
   This section deliberately reaches every application surface while
   preserving the existing DOM, routes, fields, permissions and actions.
   ====================================================================== */

/* --- Universal workspace rhythm -------------------------------------- */
body.recrumax-mockup-theme .page-intro,
body.recrumax-mockup-theme .workspace-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid var(--rm-line);
  border-radius:13px;
  background:linear-gradient(135deg,#ffffff 0%,#f7faff 100%);
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .page-intro h2,
body.recrumax-mockup-theme .workspace-intro h2,
body.recrumax-mockup-theme .page-intro h3,
body.recrumax-mockup-theme .workspace-intro h3{
  margin:0;
  color:#112743;
  font-weight:800;
  letter-spacing:-.25px;
}
body.recrumax-mockup-theme .workspace-note{color:#6d7f97;font-size:11px;line-height:1.5}
body.recrumax-mockup-theme .card + .card{scroll-margin-top:104px}
body.recrumax-mockup-theme .card{overflow:visible}
body.recrumax-mockup-theme .card > .section-head:first-child{border-radius:13px 13px 0 0}
body.recrumax-mockup-theme .card > .toolbar:first-child{border-radius:13px 13px 0 0}
body.recrumax-mockup-theme h1,
body.recrumax-mockup-theme h2,
body.recrumax-mockup-theme h3,
body.recrumax-mockup-theme h4{color:#10213d}
body.recrumax-mockup-theme h3{letter-spacing:-.15px}
body.recrumax-mockup-theme hr{border:0;border-top:1px solid var(--rm-line)}
body.recrumax-mockup-theme code{border-radius:6px;background:#f2f6fb;color:#244566;padding:2px 5px}
body.recrumax-mockup-theme .muted{color:#7c8da3}
body.recrumax-mockup-theme .strong{color:#172d49}
body.recrumax-mockup-theme .full{min-width:0}
body.recrumax-mockup-theme .stack{gap:12px}
body.recrumax-mockup-theme .scroll-panel{scrollbar-gutter:stable}

/* --- Tabs, surface switchers and disclosure panels ------------------- */
body.recrumax-mockup-theme .surface-switch-card,
body.recrumax-mockup-theme .compact-surface-card{
  padding:10px 12px !important;
  background:#fff;
  border-color:#e2e9f3;
}
body.recrumax-mockup-theme .surface-switch,
body.recrumax-mockup-theme .surface-switch-wrap,
body.recrumax-mockup-theme .worker-portal-tabs,
body.recrumax-mockup-theme .adjustments-nav,
body.recrumax-mockup-theme .portal-section-pills{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-items:center;
}
body.recrumax-mockup-theme .surface-switch .pill,
body.recrumax-mockup-theme .surface-switch-card .pill,
body.recrumax-mockup-theme .worker-portal-tabs .pill,
body.recrumax-mockup-theme .adjustments-nav .pill,
body.recrumax-mockup-theme .portal-section-pills .pill{
  background:#f8fafc;
  border-color:#e2e9f2;
  color:#667a91;
}
body.recrumax-mockup-theme .surface-switch .pill-active,
body.recrumax-mockup-theme .surface-switch-card .pill-active,
body.recrumax-mockup-theme .worker-portal-tabs .worker-tab-active,
body.recrumax-mockup-theme .adjustments-nav .pill-active,
body.recrumax-mockup-theme .portal-section-pills .pill-active{
  background:#eaf3ff;
  border-color:#c8dcfb;
  color:#125dbd;
  box-shadow:inset 0 0 0 1px rgba(18,109,245,.03);
}
body.recrumax-mockup-theme details{
  border-radius:10px;
  border-color:#e3eaf3;
}
body.recrumax-mockup-theme details > summary{
  color:#2b425f;
  font-weight:750;
}
body.recrumax-mockup-theme details[open] > summary{color:#125dbd}
body.recrumax-mockup-theme .workspace-disclosure,
body.recrumax-mockup-theme .recruitment-disclosure,
body.recrumax-mockup-theme .recruitment-disclosure-card,
body.recrumax-mockup-theme .reminders-fold-card,
body.recrumax-mockup-theme .workflow-fold-card,
body.recrumax-mockup-theme .dashboard-fold-card{
  border:1px solid #e2e9f2;
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 10px rgba(20,46,80,.035);
}

/* --- Forms: mockup compact controls across every module -------------- */
body.recrumax-mockup-theme fieldset{
  border:1px solid #e2e9f3;
  border-radius:11px;
  background:#fbfdff;
}
body.recrumax-mockup-theme legend{
  padding:0 6px;
  color:#51677f;
  font-size:11px;
  font-weight:800;
}
body.recrumax-mockup-theme input[type="checkbox"],
body.recrumax-mockup-theme input[type="radio"]{
  accent-color:var(--rm-blue);
}
body.recrumax-mockup-theme input[disabled],
body.recrumax-mockup-theme select[disabled],
body.recrumax-mockup-theme textarea[disabled]{
  background:#f1f4f8;
  color:#8391a3;
}
body.recrumax-mockup-theme .grid-form.compact{gap:9px}
body.recrumax-mockup-theme .form-title-friendly{font-size:14px;font-weight:800;color:#19304d}
body.recrumax-mockup-theme .filter-meta,
body.recrumax-mockup-theme .filters-grid,
body.recrumax-mockup-theme .operations-filter-form,
body.recrumax-mockup-theme .recruitment-filter-grid,
body.recrumax-mockup-theme .recruitment-primary-filters,
body.recrumax-mockup-theme .recruitment-advanced-filters,
body.recrumax-mockup-theme .planning-advanced-filters{
  gap:9px;
}
body.recrumax-mockup-theme .filter-meta input,
body.recrumax-mockup-theme .filter-meta select,
body.recrumax-mockup-theme .filters-grid input,
body.recrumax-mockup-theme .filters-grid select{background:#fbfcfe}
body.recrumax-mockup-theme .btn-danger{
  background:#fff2f0;
  border-color:#ffd5d0;
  color:#c43e34;
}
body.recrumax-mockup-theme .btn-danger:hover{background:#ffe8e4;border-color:#ffc4bd}
body.recrumax-mockup-theme .btn[disabled],
body.recrumax-mockup-theme button[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}

/* --- Modal/dialog system --------------------------------------------- */
body.recrumax-mockup-theme dialog{
  width:min(760px,calc(100vw - 28px));
  max-height:88vh;
  padding:0;
  border:1px solid #dce5f0;
  border-radius:16px;
  background:#fff;
  color:#172d49;
  box-shadow:0 28px 80px rgba(10,33,61,.28);
}
body.recrumax-mockup-theme dialog::backdrop{background:rgba(8,27,50,.48);backdrop-filter:blur(3px)}
body.recrumax-mockup-theme .portal-hour-approval-dialog-card,
body.recrumax-mockup-theme .recruitment-talent-pool-modal-card{border-radius:16px;background:#fff}

/* --- Workflow, entity and operational components --------------------- */
body.recrumax-mockup-theme .workflow-handoff-card,
body.recrumax-mockup-theme .workflow-start-card,
body.recrumax-mockup-theme .workflow-card,
body.recrumax-mockup-theme .helper-card,
body.recrumax-mockup-theme .friendly-card,
body.recrumax-mockup-theme .entity-workbench,
body.recrumax-mockup-theme .entity-next-step-strip,
body.recrumax-mockup-theme .entity-watch-panel,
body.recrumax-mockup-theme .operations-editor-panel,
body.recrumax-mockup-theme .log-secondary-panel{
  border-color:#e1e9f3;
  background:#fff;
  border-radius:13px;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .workflow-guidance-strip,
body.recrumax-mockup-theme .route-handoff-grid,
body.recrumax-mockup-theme .entity-next-step-grid,
body.recrumax-mockup-theme .entity-workbench-grid,
body.recrumax-mockup-theme .entity-watch-grid{
  gap:10px;
}
body.recrumax-mockup-theme .workflow-step,
body.recrumax-mockup-theme .route-handoff-item,
body.recrumax-mockup-theme .quick-route-card,
body.recrumax-mockup-theme .entity-watch-tile,
body.recrumax-mockup-theme .friendly-card-info,
body.recrumax-mockup-theme .friendly-card-warning,
body.recrumax-mockup-theme .logistics-subpanel,
body.recrumax-mockup-theme .logistics-subcard{
  border:1px solid #e4ebf4;
  border-radius:10px;
  background:#fbfdff;
  box-shadow:none;
}
body.recrumax-mockup-theme .route-handoff-item:hover,
body.recrumax-mockup-theme a.quick-route-card:hover,
body.recrumax-mockup-theme a.workflow-step:hover{
  border-color:#cbdcf3;
  background:#f5f9ff;
}
body.recrumax-mockup-theme .callout,
body.recrumax-mockup-theme .notice,
body.recrumax-mockup-theme .alert{
  border-radius:10px;
  border:1px solid #dce6f2;
  background:#f7faff;
  color:#405975;
}
body.recrumax-mockup-theme .alert.warning,
body.recrumax-mockup-theme .notice.warning{background:#fff9ed;border-color:#f5dfad;color:#875d16}
body.recrumax-mockup-theme .alert.danger,
body.recrumax-mockup-theme .notice.danger{background:#fff5f4;border-color:#f4d1cc;color:#a7453e}
body.recrumax-mockup-theme .alert.success,
body.recrumax-mockup-theme .notice.success{background:#f2fbf6;border-color:#cfeada;color:#28734a}

/* --- Workers and clients --------------------------------------------- */
body.recrumax-mockup-theme.page-workers .entity-workbench,
body.recrumax-mockup-theme.page-companies .entity-workbench{overflow:hidden}
body.recrumax-mockup-theme.page-workers .entity-quick-lane,
body.recrumax-mockup-theme.page-companies .entity-quick-lane{background:linear-gradient(135deg,#fff,#f8fbff)}
body.recrumax-mockup-theme.page-workers .worker-focus-mode,
body.recrumax-mockup-theme.page-companies .company-request-editor{border-color:#dfe8f3}
body.recrumax-mockup-theme .worker-metric-card{
  border-radius:10px;
  border-color:#e3eaf3;
  background:#fbfdff;
  box-shadow:none;
}
body.recrumax-mockup-theme .company-request-row{
  border-radius:10px;
  border-color:#e3eaf2;
  background:#fbfdff;
}
body.recrumax-mockup-theme .company-request-toolbar{padding:2px 0}
body.recrumax-mockup-theme .entity-secondary-panel,
body.recrumax-mockup-theme .entity-secondary-body{border-color:#e5ebf3;background:#fbfdff}

/* --- Hours and payroll-adjacent operational pages -------------------- */
body.recrumax-mockup-theme.page-hours .hours-mode-strip{background:linear-gradient(135deg,#fff,#f7faff)}
body.recrumax-mockup-theme.page-hours .timesheet-thumb,
body.recrumax-mockup-theme.page-client_approvals .timesheet-thumb{
  border:1px solid #dfe7f1;
  border-radius:10px;
  box-shadow:0 4px 16px rgba(21,48,84,.08);
}
body.recrumax-mockup-theme .hours-preview-placeholder{border-radius:10px;background:#f8fbff;border-color:#dce6f2}
body.recrumax-mockup-theme .adjustments-wrap,
body.recrumax-mockup-theme .adjustments-ledger,
body.recrumax-mockup-theme .adjustments-source,
body.recrumax-mockup-theme .adjustments-evidence,
body.recrumax-mockup-theme .adjustments-worker-summary{
  border-color:#e2e9f2;
  border-radius:11px;
  background:#fff;
}
body.recrumax-mockup-theme .adjustments-table thead th{background:#f6f9fd}
body.recrumax-mockup-theme .adjustments-progress{border-radius:999px;background:#e8eef6;overflow:hidden}

/* --- Documents, signatures and compliance ---------------------------- */
body.recrumax-mockup-theme.page-documents .doc-grid,
body.recrumax-mockup-theme.page-document_signing .doc-grid{gap:14px}
body.recrumax-mockup-theme .signature-document-panel,
body.recrumax-mockup-theme .signature-signer-panel,
body.recrumax-mockup-theme .signature-queue-panel{
  border:1px solid #e1e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .signature-pad,
body.recrumax-mockup-theme .portal-hour-signature-canvas{
  border:1px dashed #b9c9dc;
  border-radius:10px;
  background:#fbfdff;
}
body.recrumax-mockup-theme .worker-document-checklist,
body.recrumax-mockup-theme .recruitment-profile-block{border-color:#e1e9f2;background:#fbfdff}

/* --- Tasks, notifications, reminders and attention ------------------- */
body.recrumax-mockup-theme.page-tasks .ownership-card,
body.recrumax-mockup-theme .task-card,
body.recrumax-mockup-theme .reminder-card,
body.recrumax-mockup-theme .attention-card{
  border:1px solid #e3eaf3;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 10px rgba(21,48,84,.04);
}
body.recrumax-mockup-theme .task-card:hover,
body.recrumax-mockup-theme .reminder-card:hover{border-color:#cbdcf3;background:#fafdff}
body.recrumax-mockup-theme.page-notifications .item-row,
body.recrumax-mockup-theme.page-reminders .item-row,
body.recrumax-mockup-theme.page-attention_queue .item-row{border-left:3px solid #dfe7f1}
body.recrumax-mockup-theme.page-notifications .item-row:has(.badge.warning),
body.recrumax-mockup-theme.page-reminders .item-row:has(.badge.warning){border-left-color:var(--rm-orange)}
body.recrumax-mockup-theme.page-notifications .item-row:has(.badge.danger),
body.recrumax-mockup-theme.page-attention_queue .item-row:has(.badge.danger){border-left-color:var(--rm-red)}

/* --- Housing, houses, logistics and fleet ---------------------------- */
body.recrumax-mockup-theme .house-card-tile,
body.recrumax-mockup-theme.page-houses .item-row,
body.recrumax-mockup-theme.page-snf_housing .item-row{
  border-color:#e1e9f2;
  border-radius:10px;
  background:#fff;
}
body.recrumax-mockup-theme .house-card-tile:hover{border-color:#c9daee;box-shadow:0 8px 22px rgba(19,47,84,.06)}
body.recrumax-mockup-theme .occupancy-bar{height:7px;border-radius:999px;background:#e7edf5}
body.recrumax-mockup-theme .occupancy-bar > span{background:linear-gradient(90deg,#20b568,#16a054)}
body.recrumax-mockup-theme .logistics-panel-fold,
body.recrumax-mockup-theme .logistics-inline-alerts{
  border-color:#e1e9f2;
  border-radius:11px;
  background:#fff;
}
body.recrumax-mockup-theme .operations-record-row{
  border:1px solid #e3eaf3;
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
body.recrumax-mockup-theme .operations-record-row:hover{border-color:#cddcef;background:#fbfdff}
body.recrumax-mockup-theme .operations-record-summary{color:#657a93}
body.recrumax-mockup-theme .operations-record-detail{background:#f8fbff;border-color:#e3ebf4}
body.recrumax-mockup-theme.page-vehicles .operations-mobile,
body.recrumax-mockup-theme.page-fuel_cards .operations-mobile,
body.recrumax-mockup-theme.page-fines .operations-mobile{background:transparent}

/* --- Fines, leave, insurance and request review ---------------------- */
body.recrumax-mockup-theme .fine-review-card,
body.recrumax-mockup-theme .insurance-review-card,
body.recrumax-mockup-theme .leave-helper-item,
body.recrumax-mockup-theme .client-request-accordion{
  border:1px solid #e2e9f2;
  border-radius:11px;
  background:#fff;
}
body.recrumax-mockup-theme .client-request-accordion-summary{background:#fbfdff;border-radius:11px}
body.recrumax-mockup-theme .client-request-accordion[open] .client-request-accordion-summary{border-radius:11px 11px 0 0;border-bottom:1px solid #e7edf5}
body.recrumax-mockup-theme .client-request-accordion-body{background:#fff}
body.recrumax-mockup-theme .fine-mobile-note{border-radius:9px;background:#fff8ed;border-color:#f5e1b9}

/* --- Reports, exports, imports, periods and audit --------------------- */
body.recrumax-mockup-theme.page-reports .stat,
body.recrumax-mockup-theme.page-exports .stat,
body.recrumax-mockup-theme.page-periods .stat,
body.recrumax-mockup-theme.page-imports .stat{background:#fff}
body.recrumax-mockup-theme .report-card,
body.recrumax-mockup-theme .export-card,
body.recrumax-mockup-theme .import-card,
body.recrumax-mockup-theme .period-card,
body.recrumax-mockup-theme .audit-card{
  border:1px solid #e2e9f2;
  border-radius:11px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .debug-pre,
body.recrumax-mockup-theme pre{
  border:1px solid #dfe7f1;
  border-radius:10px;
  background:#0d213c;
  color:#e8f1ff;
  padding:14px;
  overflow:auto;
}

/* --- Payroll center, finance and salary alignment -------------------- */
body.recrumax-mockup-theme.page-payroll_center .salary-panel,
body.recrumax-mockup-theme.page-payroll_finance .payroll-finance-card,
body.recrumax-mockup-theme .salary-plan-card,
body.recrumax-mockup-theme .salary-import-card,
body.recrumax-mockup-theme .salary-edit-section{
  border:1px solid #e1e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .salary-panel-body{background:#fff}
body.recrumax-mockup-theme .salary-toolbar{
  border-color:#e4ebf3;
  background:#f8fbff;
  border-radius:10px;
}
body.recrumax-mockup-theme .salary-tab{
  border-radius:8px;
  background:#f7f9fc;
  border:1px solid #e2e9f2;
  color:#647991;
}
body.recrumax-mockup-theme .salary-tab.is-active,
body.recrumax-mockup-theme .salary-tab.active{
  background:#eaf3ff;
  border-color:#c9ddfb;
  color:#145ebd;
}
body.recrumax-mockup-theme .salary-kpi,
body.recrumax-mockup-theme .payroll-finance-cell,
body.recrumax-mockup-theme .payroll-finance-total{
  border:1px solid #e3eaf3;
  border-radius:10px;
  background:#fbfdff;
}
body.recrumax-mockup-theme .payroll-finance-row{
  border:1px solid #e1e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:0 2px 10px rgba(21,48,84,.035);
}
body.recrumax-mockup-theme .payroll-finance-row:hover{border-color:#cbdcf3}
body.recrumax-mockup-theme .payroll-finance-person h4{margin:5px 0;color:#172e4b}
body.recrumax-mockup-theme .payroll-finance-issue{border-radius:9px;background:#fff5f4;border-color:#f1cec9;color:#9f4740}
body.recrumax-mockup-theme .salary-context-info{background:#f2f7ff;border-color:#d6e6fb}
body.recrumax-mockup-theme .salary-context-warning{background:#fff9ed;border-color:#f3dfb2}

/* --- Settings and administration ------------------------------------ */
body.recrumax-mockup-theme.page-settings .settings-modern-shell{gap:16px !important}
body.recrumax-mockup-theme .settings-modern-nav .card,
body.recrumax-mockup-theme .settings-modern-panel > .card,
body.recrumax-mockup-theme .settings-modern-summary,
body.recrumax-mockup-theme .settings-modern-callout,
body.recrumax-mockup-theme .settings-users-table-card,
body.recrumax-mockup-theme .settings-user-bulk-panel,
body.recrumax-mockup-theme .settings-overview-secondary{
  border-color:#e1e9f2 !important;
  border-radius:12px !important;
  background:#fff !important;
  box-shadow:var(--rm-shadow-soft) !important;
}
body.recrumax-mockup-theme .settings-modern-nav .pill,
body.recrumax-mockup-theme .settings-modern-anchor{
  border-radius:8px;
}
body.recrumax-mockup-theme .settings-modern-anchor:hover{background:#eef5ff;color:#145ebd}
body.recrumax-mockup-theme .settings-modern-anchor.is-active,
body.recrumax-mockup-theme .settings-modern-anchor.active{
  background:#eaf3ff !important;
  color:#125dbd !important;
  border-color:#cadefb !important;
}
body.recrumax-mockup-theme .settings-modern-toolbar,
body.recrumax-mockup-theme .settings-section-head-plain{border-color:#e5ebf3;background:#fbfdff}
body.recrumax-mockup-theme .settings-display-option,
body.recrumax-mockup-theme .settings-user-advanced,
body.recrumax-mockup-theme .settings-row-more-menu{
  border-color:#e2e9f2;
  border-radius:10px;
  background:#fff;
}
body.recrumax-mockup-theme .settings-warning-note{border-radius:9px;background:#fff9ed;border-color:#f3dfb2;color:#8c651f}
body.recrumax-mockup-theme .settings-modern-kpis{gap:10px}
body.recrumax-mockup-theme .settings-users-category-tab{border-radius:8px;background:#f7f9fc;border-color:#e3eaf2}
body.recrumax-mockup-theme .settings-users-category-tab.is-active{background:#eaf3ff;border-color:#c9ddfb;color:#145ebd}

/* --- Recruitment: full admin surface -------------------------------- */
body.recrumax-mockup-theme .recruitment-kpi-grid,
body.recrumax-mockup-theme .recruitment-kpi-grid-tight,
body.recrumax-mockup-theme .recruitment-action-grid,
body.recrumax-mockup-theme .recruitment-two-col,
body.recrumax-mockup-theme .recruitment-followup-workspace-grid,
body.recrumax-mockup-theme .recruitment-job-desk-grid,
body.recrumax-mockup-theme .recruitment-workspace-guide-grid{gap:10px}
body.recrumax-mockup-theme .recruitment-kpi-card,
body.recrumax-mockup-theme .recruitment-insight-card,
body.recrumax-mockup-theme .recruitment-admin-subcard,
body.recrumax-mockup-theme .recruitment-followup-workspace-card,
body.recrumax-mockup-theme .recruitment-followup-compose-card,
body.recrumax-mockup-theme .recruitment-job-desk-card,
body.recrumax-mockup-theme .recruitment-job-desk-panel,
body.recrumax-mockup-theme .recruitment-workspace-guide-card,
body.recrumax-mockup-theme .recruitment-stage-guide-card{
  border:1px solid #e2e9f2;
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 10px rgba(21,48,84,.035);
}
body.recrumax-mockup-theme .recruitment-kpi-card{background:linear-gradient(145deg,#fff,#f8fbff)}
body.recrumax-mockup-theme .recruitment-section-title,
body.recrumax-mockup-theme .recruitment-panel-label{color:#172e4b;font-weight:800}
body.recrumax-mockup-theme .recruitment-tag,
body.recrumax-mockup-theme .recruitment-number-pill,
body.recrumax-mockup-theme .recruitment-choice-pill,
body.recrumax-mockup-theme .recruitment-hiring-stage-pill{
  border-radius:999px;
  border-color:#dfe7f1;
  background:#f7f9fc;
  color:#5e728a;
}
body.recrumax-mockup-theme .recruitment-tag-focus,
body.recrumax-mockup-theme .recruitment-tag-focus-info,
body.recrumax-mockup-theme .recruitment-hiring-stage-pill.is-active{
  background:#eaf3ff;
  border-color:#cbdffc;
  color:#145ebd;
}
body.recrumax-mockup-theme .recruitment-pipeline-column,
body.recrumax-mockup-theme .pipeline-column{
  border:1px solid #e2e9f2 !important;
  border-radius:11px !important;
  background:#f8faff !important;
  box-shadow:none !important;
}
body.recrumax-mockup-theme .recruitment-pipeline-head,
body.recrumax-mockup-theme .recruitment-pipeline-col-top{border-color:#e4ebf3}
body.recrumax-mockup-theme .recruitment-pipeline-card{
  border:1px solid #e0e8f2;
  border-radius:10px;
  background:#fff;
  box-shadow:0 2px 8px rgba(20,48,84,.045);
}
body.recrumax-mockup-theme .recruitment-pipeline-card:hover{border-color:#bfcfee;box-shadow:0 8px 20px rgba(20,48,84,.07)}
body.recrumax-mockup-theme .recruitment-pipeline-card-summary{color:#253d5a}
body.recrumax-mockup-theme .recruitment-pipeline-meta-grid,
body.recrumax-mockup-theme .recruitment-profile-grid-clean{gap:8px}
body.recrumax-mockup-theme .recruitment-pipeline-inline-creator,
body.recrumax-mockup-theme .recruitment-pipeline-inline-create-form,
body.recrumax-mockup-theme .recruitment-database-intake,
body.recrumax-mockup-theme .recruitment-database-launch,
body.recrumax-mockup-theme .recruitment-talent-pool-drawer{
  border-color:#dfe8f2;
  border-radius:11px;
  background:#fbfdff;
}
body.recrumax-mockup-theme .recruitment-icon-button{border-radius:8px;background:#f7f9fc;border-color:#dfe7f1;color:#5e728a}
body.recrumax-mockup-theme .recruitment-pipeline-add-button{background:#edf5ff;border-color:#d3e5ff;color:#1661c1}
body.recrumax-mockup-theme .recruitment-talent-pool-table-wrap,
body.recrumax-mockup-theme .recruitment-admin-table-responsive{border-color:#e2e9f2;border-radius:11px}
body.recrumax-mockup-theme .recruitment-talent-pool-person,
body.recrumax-mockup-theme .recruitment-talent-pool-ats{color:#203955}
body.recrumax-mockup-theme .recruitment-job-desk-hero{
  border-radius:13px;
  background:linear-gradient(135deg,#0b1f3a 0%,#123357 60%,#126df5 160%);
  color:#fff;
  box-shadow:0 18px 42px rgba(11,31,58,.16);
}
body.recrumax-mockup-theme .recruitment-job-desk-hero h2,
body.recrumax-mockup-theme .recruitment-job-desk-hero h3,
body.recrumax-mockup-theme .recruitment-job-desk-hero .small{color:#fff}

/* --- Public recruitment / candidate / offer pages -------------------- */
body.recrumax-mockup-theme .recruitment-reference,
body.recrumax-mockup-theme .recruitment-reference-apply-page,
body.recrumax-mockup-theme .recruitment-reference-offer-page{
  color:#10213d;
}
body.recrumax-mockup-theme .recruitment-reference-hero,
body.recrumax-mockup-theme .recruitment-reference-apply-hero,
body.recrumax-mockup-theme .recruitment-offer-hero{
  border-radius:18px;
  border:1px solid #dfe8f3;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 58%,#eef5ff 100%);
  box-shadow:0 16px 44px rgba(17,47,86,.09);
}
body.recrumax-mockup-theme .recruitment-reference-section,
body.recrumax-mockup-theme .recruitment-reference-apply-section,
body.recrumax-mockup-theme .recruitment-reference-section-soft,
body.recrumax-mockup-theme .recruitment-reference-section-ivory{
  border-radius:16px;
}
body.recrumax-mockup-theme .recruitment-reference-support-card,
body.recrumax-mockup-theme .recruitment-reference-branch-card,
body.recrumax-mockup-theme .recruitment-reference-package-card,
body.recrumax-mockup-theme .recruitment-reference-contact-card,
body.recrumax-mockup-theme .recruitment-reference-apply-mini-card,
body.recrumax-mockup-theme .recruitment-reference-candidate-brief-card,
body.recrumax-mockup-theme .recruitment-offer-workflow-card,
body.recrumax-mockup-theme .recruitment-offer-proof-panel{
  border-color:#dfe7f1;
  border-radius:13px;
  box-shadow:0 4px 18px rgba(20,48,84,.045);
}
body.recrumax-mockup-theme .recruitment-reference-btn{border-radius:9px}
body.recrumax-mockup-theme .recruitment-reference-btn.is-primary{background:var(--rm-blue);border-color:var(--rm-blue);color:#fff}
body.recrumax-mockup-theme .recruitment-reference-btn.is-primary:hover{background:var(--rm-blue-2)}
body.recrumax-mockup-theme .recruitment-reference-inline-badge,
body.recrumax-mockup-theme .recruitment-reference-page-chip{border-radius:999px}
body.recrumax-mockup-theme .recruitment-reference-page-chip.is-active{background:#eaf3ff;border-color:#c9ddfb;color:#145ebd}

/* --- Worker and client portals --------------------------------------- */
body.recrumax-mockup-theme.page-worker_portal,
body.recrumax-mockup-theme.page-company_portal,
body.recrumax-mockup-theme.page-worker_signup,
body.recrumax-mockup-theme.page-document_signing{
  background:
    radial-gradient(circle at 85% 6%,rgba(18,109,245,.08),transparent 34%),
    linear-gradient(180deg,#f7faff 0%,#f3f7fc 100%);
}
body.recrumax-mockup-theme .worker-portal-shell,
body.recrumax-mockup-theme .company-portal-shell{padding:18px 0}
body.recrumax-mockup-theme .worker-portal-head,
body.recrumax-mockup-theme .portal-hero{
  border:1px solid #dfe7f1;
  border-radius:16px;
  background:linear-gradient(135deg,#fff 0%,#f5f9ff 100%);
  box-shadow:0 18px 48px rgba(20,48,84,.10);
}
body.recrumax-mockup-theme .portal-hero-head,
body.recrumax-mockup-theme .worker-portal-head{border-color:#e3eaf3}
body.recrumax-mockup-theme .portal-kpi-grid,
body.recrumax-mockup-theme .worker-overview-grid{gap:10px}
body.recrumax-mockup-theme .portal-command-card,
body.recrumax-mockup-theme .portal-friendly-grid > *,
body.recrumax-mockup-theme .portal-item-row,
body.recrumax-mockup-theme .worker-full-card,
body.recrumax-mockup-theme .worker-entry-card,
body.recrumax-mockup-theme .worker-review-box{
  border-color:#e1e9f2;
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 10px rgba(20,48,84,.035);
}
body.recrumax-mockup-theme .worker-day-row{border-color:#e5ebf3;background:#fbfdff;border-radius:9px}
body.recrumax-mockup-theme .worker-day-weekend{background:#f7f8fb}
body.recrumax-mockup-theme .worker-day-worked{background:#f6fbf8;border-color:#d8ecdf}
body.recrumax-mockup-theme .worker-photo-warning{border-radius:9px;background:#fff9ed;border-color:#f4dfb4;color:#8a641f}
body.recrumax-mockup-theme .portal-request-status,
body.recrumax-mockup-theme .portal-request-fallback{border-radius:10px;border-color:#e2e9f2;background:#fbfdff}

/* --- Login, activation and MFA --------------------------------------- */
body.recrumax-mockup-theme.page-login,
body.recrumax-mockup-theme.page-worker_signup,
body.recrumax-mockup-theme.page-mfa_setup,
body.recrumax-mockup-theme.page-mfa_challenge,
body.recrumax-mockup-theme.page-mfa_recovery_codes,
body.recrumax-mockup-theme.page-setup{
  min-height:100vh;
  background:
    radial-gradient(circle at 78% 10%,rgba(18,109,245,.14),transparent 30%),
    radial-gradient(circle at 12% 90%,rgba(255,122,26,.08),transparent 28%),
    linear-gradient(135deg,#f8fbff 0%,#eef4fb 100%);
}
body.recrumax-mockup-theme .login-wrap{padding:32px 20px}
body.recrumax-mockup-theme .login-card{
  max-width:480px;
  padding:28px;
  border:1px solid #dce6f1;
  border-radius:18px;
  background:rgba(255,255,255,.98);
  box-shadow:0 28px 80px rgba(11,31,58,.14);
}
body.recrumax-mockup-theme .login-logo{max-height:84px}
body.recrumax-mockup-theme .login-title{font-size:26px;letter-spacing:-.4px;color:#0e2340}
body.recrumax-mockup-theme .login-card .btn-primary{min-height:42px}
body.recrumax-mockup-theme .login-mfa-qr-card{background:#f8fbff;border-color:#dfe7f1}
body.recrumax-mockup-theme .login-mfa-qr-box{border-color:#e1e8f1;border-radius:12px}

/* --- Help ------------------------------------------------------------- */
body.recrumax-mockup-theme .help-shell,
body.recrumax-mockup-theme .help-guide-card,
body.recrumax-mockup-theme .help-nav-card{
  border-color:#e1e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .help-step,
body.recrumax-mockup-theme .help-callout{border-radius:10px;border-color:#e3eaf3;background:#fbfdff}

/* --- Inline style normalization for legacy page fragments ------------ */
body.recrumax-mockup-theme .card[style*="border-color:#f59e0b"],
body.recrumax-mockup-theme .card[style*="background:#fff7ed"]{
  border-color:#f1d9a7 !important;
  background:#fffaf0 !important;
}
body.recrumax-mockup-theme [style*="background:#f8fafc"]{border-radius:10px}
body.recrumax-mockup-theme [style*="border-radius:18px"]{border-radius:11px !important}
body.recrumax-mockup-theme [style*="border-radius:20px"]{border-radius:12px !important}
body.recrumax-mockup-theme [style*="border-radius:24px"]{border-radius:14px !important}

/* --- Responsive completion ------------------------------------------- */
@media (max-width:960px){
  body.recrumax-mockup-theme .page-intro,
  body.recrumax-mockup-theme .workspace-intro{flex-direction:column}
  body.recrumax-mockup-theme .entity-workbench-grid,
  body.recrumax-mockup-theme .entity-next-step-grid,
  body.recrumax-mockup-theme .route-handoff-grid,
  body.recrumax-mockup-theme .portal-main-grid,
  body.recrumax-mockup-theme .recruitment-two-col,
  body.recrumax-mockup-theme .recruitment-followup-workspace-grid,
  body.recrumax-mockup-theme .recruitment-job-desk-grid{grid-template-columns:1fr !important}
  body.recrumax-mockup-theme .settings-modern-shell{grid-template-columns:1fr !important}
}
@media (max-width:640px){
  body.recrumax-mockup-theme .login-wrap{padding:18px 12px}
  body.recrumax-mockup-theme .login-card{padding:20px;border-radius:14px}
  body.recrumax-mockup-theme .page-intro,
  body.recrumax-mockup-theme .workspace-intro{padding:13px}
  body.recrumax-mockup-theme .worker-overview-grid,
  body.recrumax-mockup-theme .portal-kpi-grid,
  body.recrumax-mockup-theme .recruitment-kpi-grid,
  body.recrumax-mockup-theme .recruitment-kpi-grid-tight{grid-template-columns:1fr !important}
  body.recrumax-mockup-theme dialog{width:calc(100vw - 18px);border-radius:13px}
}

/* --- Standalone/public controller body-class compatibility ----------- */
body.recrumax-mockup-theme.page-worker-portal,
body.recrumax-mockup-theme.page-company-portal,
body.recrumax-mockup-theme.page-worker-signup,
body.recrumax-mockup-theme.page-document-signing{
  background:
    radial-gradient(circle at 85% 6%,rgba(18,109,245,.08),transparent 34%),
    linear-gradient(180deg,#f7faff 0%,#f3f7fc 100%);
}
body.recrumax-mockup-theme.page-login,
body.recrumax-mockup-theme.page-worker-signup,
body.recrumax-mockup-theme.page-mfa-setup,
body.recrumax-mockup-theme.page-mfa-challenge,
body.recrumax-mockup-theme.page-mfa-recovery-codes,
body.recrumax-mockup-theme.page-setup{
  min-height:100vh;
  background:
    radial-gradient(circle at 78% 10%,rgba(18,109,245,.14),transparent 30%),
    radial-gradient(circle at 12% 90%,rgba(255,122,26,.08),transparent 28%),
    linear-gradient(135deg,#f8fbff 0%,#eef4fb 100%);
}
body.recrumax-mockup-theme.page-recruitment-home,
body.recrumax-mockup-theme.page-recruitment-job,
body.recrumax-mockup-theme.page-recruitment-candidate-form,
body.recrumax-mockup-theme.page-recruitment-legal,
body.recrumax-mockup-theme.page-recruitment-offer{
  background:#f6f9fd;
  color:#10213d;
}

/* ======================================================================
   100% ROUTE COVERAGE HARDENING — 2026-10-06
   Ensures controller-rendered fallbacks, installer, recovery and errors use
   the same approved RecruMax mockup visual system as the shared app shell.
   Visual only: no actions, fields, routes or business rules are changed.
   ====================================================================== */

/* Direct controller-rendered pages normally get wrapped by PageDispatcher.
   These rules keep the same look when a renderer is opened independently
   during diagnostics, QA or migration recovery. */
body.recrumax-mockup-theme:not(.workspace-professional){
  min-height:100vh;
  background:
    radial-gradient(circle at 88% 3%,rgba(18,109,245,.07),transparent 28%),
    linear-gradient(180deg,#f7faff 0%,#f3f7fc 100%);
}
body.recrumax-mockup-theme:not(.workspace-professional) > main.content{
  width:min(100%,1480px) !important;
  max-width:1480px !important;
  margin:0 auto !important;
  padding:24px !important;
  display:grid;
  gap:16px;
}
body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child{
  position:sticky;
  top:0;
  z-index:30;
  margin:-24px -24px 0 !important;
  padding:12px 24px;
  min-height:58px;
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rm-line);
  box-shadow:0 1px 0 rgba(16,33,61,.02);
}
body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child::before{
  content:'RecruMax';
  margin-right:auto;
  color:#102544;
  font-size:17px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.3px;
}
body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child .pill{
  background:#fff1e7;
  color:#bf5c14;
  border-color:#ffd4b5;
}
body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child .btn{
  min-height:34px;
  padding:7px 10px;
}

/* Universal legacy surface normalization for modules that still use older
   markup names. This deliberately stays class-based and non-destructive. */
body.recrumax-mockup-theme .panel,
body.recrumax-mockup-theme .box,
body.recrumax-mockup-theme .module-card,
body.recrumax-mockup-theme .data-card,
body.recrumax-mockup-theme .overview-card,
body.recrumax-mockup-theme .queue-card,
body.recrumax-mockup-theme .review-card,
body.recrumax-mockup-theme .settings-card{
  border-color:#e1e9f2;
  border-radius:12px;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme .tabs,
body.recrumax-mockup-theme .tab-strip,
body.recrumax-mockup-theme .subnav,
body.recrumax-mockup-theme .filter-bar,
body.recrumax-mockup-theme .action-bar{
  gap:7px;
  border-color:#e3eaf3;
}
body.recrumax-mockup-theme .tab,
body.recrumax-mockup-theme .tab-link{
  border-radius:8px;
  color:#62768e;
}
body.recrumax-mockup-theme .tab.active,
body.recrumax-mockup-theme .tab.is-active,
body.recrumax-mockup-theme .tab-link.active,
body.recrumax-mockup-theme .tab-link.is-active{
  background:#eaf3ff;
  border-color:#c9ddfb;
  color:#145ebd;
}
body.recrumax-mockup-theme .empty,
body.recrumax-mockup-theme .empty-state,
body.recrumax-mockup-theme .no-results{
  border:1px dashed #d9e4f0;
  border-radius:10px;
  background:#f9fbfe;
  color:#74869d;
}
body.recrumax-mockup-theme .flash{
  border-radius:10px;
  border:1px solid #dce6f2;
  box-shadow:none;
}
body.recrumax-mockup-theme .flash.success{background:#f1fbf5;border-color:#cfe9d9;color:#247148}
body.recrumax-mockup-theme .flash.error{background:#fff3f1;border-color:#f1d0cb;color:#a84039}
body.recrumax-mockup-theme .flash.warning{background:#fff9ed;border-color:#f1ddb0;color:#89621b}
body.recrumax-mockup-theme .flash.info{background:#f0f6ff;border-color:#d3e4fb;color:#245f9f}

/* Route-level accents for the remaining administration/operations pages. */
body.recrumax-mockup-theme.page-audit .card,
body.recrumax-mockup-theme.page-migration_status .card,
body.recrumax-mockup-theme.page-demo_seed .card,
body.recrumax-mockup-theme.page-settings_workers .card,
body.recrumax-mockup-theme.page-search .card,
body.recrumax-mockup-theme.page-notes .card,
body.recrumax-mockup-theme.page-client_requests .card,
body.recrumax-mockup-theme.page-client_approvals .card,
body.recrumax-mockup-theme.page-bulk_assign .card,
body.recrumax-mockup-theme.page-bulk_schedule .card{
  border-color:#e1e9f2;
  background:#fff;
  box-shadow:var(--rm-shadow-soft);
}
body.recrumax-mockup-theme.page-search mark{
  padding:1px 4px;
  border-radius:4px;
  background:#fff0b8;
  color:#5e4800;
}
body.recrumax-mockup-theme.page-audit pre,
body.recrumax-mockup-theme.page-migration_status pre,
body.recrumax-mockup-theme.page-demo_seed pre{
  background:#0c203a;
  color:#eaf3ff;
}

/* Installer, recovery and error states are part of the product too. */
body.recrumax-mockup-theme.page-install .login-card,
body.recrumax-mockup-theme.page-setup .login-card{
  border-radius:18px;
  border-color:#dbe5f0;
  box-shadow:0 28px 80px rgba(11,31,58,.14);
}
body.recrumax-mockup-theme.page-recovery{
  padding:24px;
  background:
    radial-gradient(circle at 82% 4%,rgba(18,109,245,.10),transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#eef4fa 100%);
}
body.recrumax-mockup-theme.page-recovery .wrap{max-width:1180px;margin:0 auto}
body.recrumax-mockup-theme.page-recovery .card{
  border:1px solid #dfe7f1;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 28px rgba(22,48,86,.07);
}
body.recrumax-mockup-theme.page-recovery button{
  background:linear-gradient(180deg,#1979ff,#0e68ec);
  border:1px solid #0f6cef;
  color:#fff;
}
body.recrumax-mockup-theme.page-recovery button.secondary{background:#eef3f8;border-color:#dce5ef;color:#425a75}
body.recrumax-mockup-theme.page-recovery button.danger{background:#fff1ef;border-color:#f0cbc6;color:#a94139}
body.recrumax-mockup-theme.page-recovery input[type="password"]{border-color:#d8e3ef;border-radius:8px}
body.recrumax-mockup-theme.page-404{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:linear-gradient(135deg,#f8fbff 0%,#eef4fb 100%);
}
body.recrumax-mockup-theme.page-404 .auth-shell{width:min(560px,100%)}
body.recrumax-mockup-theme.page-404 .card{padding:28px;text-align:center}

@media (max-width:720px){
  body.recrumax-mockup-theme:not(.workspace-professional) > main.content{
    padding:12px !important;
  }
  body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child{
    margin:-12px -12px 0 !important;
    padding:10px 12px;
  }
  body.recrumax-mockup-theme:not(.workspace-professional) > main.content > .pills:first-child::before{
    flex-basis:100%;
    margin-bottom:4px;
  }
  body.recrumax-mockup-theme.page-recovery{padding:12px}
}
