/* Nexxora Dashboard design layer v2.9.2
   Presentation only: loaded after styles.css and ui-system.css, no app logic or element IDs changed.
   Fixes: mobile layout (ui-system.css re-declared a 2-column grid after styles.css collapsed it),
   orphan stat card, duplicated headings, low-contrast labels. */

:root{
  --nx-night:#0d1b2e;
  --nx-night-2:#162a43;
  --nx-night-line:rgba(255,255,255,.09);
  --nx-bg:#f2f4f7;
  --nx-surface:#fff;
  --nx-surface-soft:#f7f9fc;
  --nx-ink:#0f1c2e;
  --nx-ink-2:#2c3d56;
  --nx-muted:#5b6b82;
  --nx-border:#dce2eb;
  --nx-primary:#0b5fff;
  --nx-primary-2:#0a4fd6;
  --nx-primary-soft:#e8f0ff;
  --nx-signal:#12b5cb;
  --nx-success:#0e8a5f;
  --nx-warning:#a86400;
  --nx-danger:#b42318;
  --nx-radius-sm:8px;
  --nx-radius-md:10px;
  --nx-radius-lg:14px;
  --nx-shadow:0 1px 2px rgba(13,27,46,.05);
  --nx-shadow-hover:0 1px 2px rgba(13,27,46,.05);
  font-family:"Segoe UI Variable Text","Segoe UI",Inter,system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
html{scroll-padding-top:84px}
body{background:var(--nx-bg);color:var(--nx-ink);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.015em;color:var(--nx-ink)}
.muted,small{color:var(--nx-muted)}
:focus-visible{outline:2px solid var(--nx-primary);outline-offset:2px}

/* Decorative labels carry no information; headings already say it. */
.eyebrow,.navEyebrow,.stat .statTop,.heroOrnament{display:none!important}

/* ---------- Header ---------- */
header{position:sticky;top:0;z-index:30;height:64px;padding:0 20px;background:#fff;border-bottom:1px solid var(--nx-border);box-shadow:none;gap:16px}
.brand strong{font-size:15px;font-weight:700;color:var(--nx-ink)}
.brand small{font-size:12px;color:var(--nx-muted)}
.logo-img{height:30px;width:auto}
.globalSearchWrap{max-width:460px}
.globalSearchWrap input{height:40px;border-radius:var(--nx-radius-md);border:1px solid var(--nx-border);background:var(--nx-surface-soft);padding-left:38px;font-size:13px}
.globalSearchWrap input:focus{background:#fff;border-color:var(--nx-primary);box-shadow:0 0 0 3px rgba(11,95,255,.14);outline:0}
.notificationBell{background:var(--nx-surface-soft);color:var(--nx-ink-2);border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);font-weight:600}
.notificationBadge{background:var(--nx-primary);color:#fff}
.who{color:var(--nx-muted);font-size:12.5px}
.profilePhotoButton{background:var(--nx-night);border-radius:50%;width:38px;height:38px;padding:0;overflow:hidden}

/* ---------- Buttons & fields ---------- */
button{border-radius:var(--nx-radius-md);background:var(--nx-primary);color:#fff;font-weight:650;transition:background-color .15s ease,border-color .15s ease}
button:hover{filter:none;background:var(--nx-primary-2)}
button:disabled{background:#9db3d8;opacity:1;cursor:not-allowed}
button.secondary,button.outline,.subtleAction{background:#fff;color:var(--nx-ink-2);border:1px solid var(--nx-border)}
button.secondary:hover,button.outline:hover,.subtleAction:hover{background:var(--nx-surface-soft);border-color:#c5cedb;color:var(--nx-ink)}
button.danger,.dangerButton{background:var(--nx-danger)}
input,select,textarea{border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;color:var(--nx-ink);font:inherit;min-height:40px}
input:focus,select:focus,textarea:focus{border-color:var(--nx-primary);box-shadow:0 0 0 3px rgba(11,95,255,.14);outline:0}
label{color:var(--nx-ink-2);font-weight:600}

/* ---------- Surfaces ---------- */
.panel,.company,.overviewPanel,.executiveHero{background:var(--nx-surface);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);box-shadow:var(--nx-shadow)}

/* ---------- Sign in ---------- */
.login{max-width:420px;margin:64px auto 0;padding:32px;border-radius:var(--nx-radius-lg)}
.login h1{font-size:24px;margin:0 0 6px}
.login p{color:var(--nx-muted)}
.login form{display:grid;gap:14px;margin-top:18px}
.login button[type=submit]{width:100%;height:44px}

/* ---------- Sidebar (the one bold move) ---------- */
.sideNav{background:var(--nx-night);border:0;border-radius:var(--nx-radius-lg);box-shadow:none;padding:12px 10px}
.navItem{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border-radius:var(--nx-radius-md);background:transparent;color:#aebcd2;font-size:13.5px;font-weight:600;text-align:left;border:0;position:relative}
.navItem:hover{background:var(--nx-night-2);color:#fff}
.navItem .navIcon{flex:0 0 auto;opacity:.9}
.navItem.active{background:var(--nx-night-2);color:#fff;box-shadow:none}
.navItem.active::before{content:"";position:absolute;left:-10px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--nx-signal)}
.navItem i{margin-left:auto;min-width:20px;padding:1px 7px;border-radius:999px;background:var(--nx-primary);color:#fff;font-style:normal;font-size:11px;font-weight:700;text-align:center}
.navItem i[hidden]{display:none}
.navFoot{box-shadow:none!important;background:var(--nx-night)!important;border-top:1px solid var(--nx-night-line)!important;color:#aebcd2}
.navFootBrand{color:#e8eef8;font-weight:650;font-size:12.5px}
.navFootBrand small{color:#8c9db6}
.navSignOut{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:transparent!important;color:#d5deec!important;border:1px solid var(--nx-night-line)!important}
.navSignOut:hover{background:var(--nx-night-2)!important;color:#fff!important}

/* ---------- Page heading (one per view) ---------- */
.welcome h1{font-size:26px;font-weight:700;margin:0}
.welcome p{margin:4px 0 0;color:var(--nx-muted);font-size:14px}
#companiesSectionTitle{justify-content:flex-end;margin:0 0 12px}
#companiesSectionTitle>div{display:none}

/* ---------- Summary band (replaces 5 loose cards) ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;margin:0 0 18px;padding:0;background:var(--nx-surface);border:1px solid var(--nx-border);border-radius:var(--nx-radius-lg);box-shadow:var(--nx-shadow);overflow:hidden}
.stats:empty{display:none}
.stat{min-height:0;padding:16px 20px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none!important;border-left:1px solid var(--nx-border);gap:2px}
.stat:first-child{border-left:0}
.stat:hover{transform:none;box-shadow:none;border-color:var(--nx-border)}
.stat .statIcon{display:none}
.stat small{order:1;color:var(--nx-ink-2);font-size:13px;font-weight:650}
.stat strong{order:0;margin:0;font-size:28px;font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--nx-ink)}
.stat .statHint{order:2;margin-top:2px;color:var(--nx-muted);font-size:12px;line-height:1.4}

/* ---------- Overview ---------- */
.executiveHero{padding:16px 22px;margin-bottom:16px;background:var(--nx-surface);display:flex;align-items:center;justify-content:space-between;gap:16px;overflow:visible}
.executiveHero h2{font-size:18px;margin:0}
.executiveHero p{margin:2px 0 0;color:var(--nx-muted)}
.heroPrimary{background:var(--nx-primary);box-shadow:none;border-radius:var(--nx-radius-md)}
.workspaceHealth{background:#e7f6ef;color:var(--nx-success);border:1px solid #bfe6d3;font-weight:650}
.overviewPanel{padding:18px}
.overviewPanelHead h2{font-size:16px;margin:0}
.overviewPanelHead p{margin:2px 0 0;color:var(--nx-muted);font-size:12.5px}
.overviewCompanyCard,.overviewQuickAction{border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface-soft);box-shadow:none;transition:border-color .15s ease,background-color .15s ease}
.overviewCompanyCard:hover,.overviewQuickAction:hover{transform:none;box-shadow:none;border-color:#b9c7dc;background:#fff}
.overviewQuickAction{color:var(--nx-ink)}
.quickActionIcon{background:var(--nx-primary-soft);color:var(--nx-primary)}
.pendingBadge{background:var(--nx-primary-soft);color:var(--nx-primary-2);font-weight:700}

/* ---------- Status chips ---------- */
.tag,.chip,.status{border-radius:999px;font-weight:700}
.companyStatus,.badge{border-radius:999px;font-weight:700;letter-spacing:0;text-transform:none}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse}
th{background:var(--nx-surface-soft);color:var(--nx-muted);font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;text-align:left;border-bottom:1px solid var(--nx-border)}
td{border-bottom:1px solid #edf1f6}
.tableWrap,.reportTableWrap,.accessTableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

footer{color:var(--nx-muted);font-size:12px;text-align:center;padding:24px 0}

/* ---------- Responsive: single source of truth (this file loads last) ---------- */
@media(max-width:900px){
  header{height:auto;min-height:60px;padding:10px 14px;flex-wrap:wrap;gap:10px}
  .globalSearchWrap{order:3;flex:1 1 100%;max-width:none}
  .headerRight{margin-left:auto;gap:8px}
  .who{display:none}
  main{padding:0 14px 28px;margin-top:12px}
  .workspaceLayout{display:block!important;grid-template-columns:minmax(0,1fr)!important}
  .sideNav{position:sticky!important;left:auto!important;right:auto!important;top:62px;bottom:auto!important;width:auto!important;height:auto!important;min-height:0!important;max-height:none!important;z-index:20;display:flex!important;flex-direction:row!important;align-items:center;gap:4px;margin:0 0 14px;padding:6px;overflow-x:auto!important;overflow-y:hidden!important;border-radius:var(--nx-radius-md);scrollbar-width:none}
  .sideNav::-webkit-scrollbar{display:none}
  .navItem{width:auto;flex:0 0 auto;white-space:nowrap;padding:9px 12px}
  .navItem.active::before{left:10px;right:10px;top:auto;bottom:2px;width:auto;height:3px;border-radius:3px 3px 0 0}
  .navFoot{position:static!important;flex:0 0 auto;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  .navFootBrand{display:none}
  .navSignOut{width:auto;padding:9px 12px}
  .workspaceMain{margin-left:0!important;min-width:0}
  .welcome h1{font-size:22px}
  .executiveHero{flex-direction:column;align-items:flex-start}
  .executiveLayout{grid-template-columns:minmax(0,1fr)!important}
  .overviewRail{grid-template-columns:minmax(0,1fr)!important}
  .companies{grid-template-columns:minmax(0,1fr)!important}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{border-left:0;border-top:1px solid var(--nx-border);padding:14px 16px}
  .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(even){border-left:1px solid var(--nx-border)}
  .stat strong{font-size:24px}
  .formGrid,.settingsForm{grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:520px){
  .login{margin-top:24px;padding:22px}
  .notificationBellLabel{display:none}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}

/* refinements */
.executiveHero{min-height:0!important}
.brand{min-width:0}
@media(max-width:900px){.stat:last-child:nth-child(odd){grid-column:1/-1;border-left:0}}
@media(max-width:520px){.brand small{display:none}.brand strong{font-size:14px}.headerRight{gap:6px}}

/* profile photo menu (v2.9.2) */
.nxPhotoMenu{min-width:168px;padding:6px;border:1px solid #dce2eb;border-radius:12px;background:#fff;box-shadow:0 12px 32px rgba(13,27,46,.18);display:grid;gap:2px}
.nxPhotoMenu button{width:100%;text-align:left;padding:9px 12px;border:0;border-radius:8px;background:transparent;color:#14213b;font:600 13px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;box-shadow:none}
.nxPhotoMenu button:hover:not(:disabled),.nxPhotoMenu button:focus-visible{background:#eef3fb;outline:0}
.nxPhotoMenu button.danger{color:#b42318}
.nxPhotoMenu button:disabled{opacity:.4;cursor:not-allowed}

/* header profile photo: size + crop (image had no sizing, so only a dark centre crop of the full photo showed) */
.profilePhotoButton{position:relative;flex:0 0 42px;width:42px;height:42px;border:2px solid #dbeafe;background:linear-gradient(145deg,#e7f7ff,#dfe7ff);color:#164e9a;display:grid;place-items:center;overflow:visible;cursor:pointer}
.profilePhotoButton img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:center 30%}
.profilePhotoButton img[hidden]{display:none}
.profilePhotoButton #profileInitials{font-size:14px;font-weight:800}
.profilePhotoButton #profileInitials[hidden]{display:none}
.profilePhotoButton::after{content:"+";position:absolute;right:-3px;bottom:-3px;width:16px;height:16px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#1677ed;color:#fff;font-size:12px;line-height:1}

/* ---------- Live Board ---------- */
.liveBoard{padding:18px}
.boardTop{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;margin-bottom:12px}
.boardControls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.boardControls label{display:grid;gap:4px;font-size:12px;color:var(--nx-muted);font-weight:600}
.boardControls select,.boardControls input{min-width:170px}
.boardRefreshBox{display:flex;align-items:center;gap:10px;font-size:12.5px}
.boardBanner{margin:0 0 12px;padding:10px 14px;border-radius:var(--nx-radius-md);background:#fff4dc;border:1px solid #f1d9a0;color:#7a4b00;font-weight:600}
.boardSummary{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:6px 0 14px}
.boardTile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:var(--nx-surface-soft);color:var(--nx-ink);text-align:left;font-weight:600}
.boardTile:hover{background:#fff;border-color:#b9c7dc}
.boardTile strong{font-size:24px;line-height:1.1;letter-spacing:-.02em}
.boardTile span{font-size:12.5px;color:var(--nx-muted)}
.boardTile.active{background:var(--nx-primary-soft);border-color:var(--nx-primary)}
.boardTile.active span{color:var(--nx-primary-2)}
.boardTile.warn strong{color:var(--nx-danger)}
.boardTableWrap{overflow-x:auto;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md)}
.boardTable{width:100%;border-collapse:collapse;min-width:720px}
.boardTable th,.boardTable td{padding:10px 14px;text-align:left;white-space:nowrap}
.boardTable td{border-bottom:1px solid #edf1f6;font-variant-numeric:tabular-nums}
.boardTable tr:last-child td{border-bottom:0}
.boardWho{display:flex;align-items:center;gap:10px;min-width:220px}
.boardAvatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:0 0 32px;background:var(--nx-primary-soft);color:var(--nx-primary-2);font-weight:700;font-size:13px}
.boardName{display:grid;line-height:1.25}
.boardName small{color:var(--nx-muted);font-size:12px}
.boardNum{font-variant-numeric:tabular-nums}
.boardLate{color:var(--nx-danger);font-weight:700}
.boardEmpty{text-align:center!important;color:var(--nx-muted);padding:28px!important}
.boardChip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}
.boardChip.working{background:#e3f6ee;color:var(--nx-success)}
.boardChip.on_break{background:#fff1d6;color:var(--nx-warning)}
.boardChip.clocked_out{background:#eceff4;color:#42536b}
.boardChip.not_in{background:#fde8e6;color:var(--nx-danger)}
.boardChip.on_leave{background:var(--nx-primary-soft);color:var(--nx-primary-2)}
.boardChip.off{background:#eceff4;color:var(--nx-muted)}
@media(max-width:900px){.boardControls{width:100%}.boardControls label,.boardControls select,.boardControls input{width:100%}}

.boardControls input{flex:1 1 220px;min-width:200px;align-self:flex-end}
.boardControls{flex:1 1 560px}

/* v2.9.3 manual attendance edit + hierarchy paste */
.overrideForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;align-items:end;margin:12px 0 6px}
.overrideForm .ovWide{grid-column:1/-1}
.overrideForm label{display:grid;gap:4px;font-size:12.5px}
.overrideHint{margin:4px 0 12px;font-size:12.5px}
.overrideList{display:grid;gap:10px}
.hierarchyPaste{display:grid;gap:8px;margin:14px 0}
.hierarchyPaste label{display:grid;gap:4px}
.hierarchyPaste textarea{width:100%;min-height:110px;padding:10px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.hierarchyPaste button{justify-self:start}

/* ---------- People (v2.9.4) ---------- */
.peopleTabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--nx-border);margin:6px 0 14px}
.peopleTabs button{background:transparent;color:var(--nx-muted);border:0;border-bottom:2px solid transparent;border-radius:0;padding:10px 14px;font-weight:650}
.peopleTabs button:hover{background:transparent;color:var(--nx-ink)}
.peopleTabs button.active{color:var(--nx-primary-2);border-bottom-color:var(--nx-primary)}
.peopleFilters{margin:0 0 12px;align-items:center}
.peopleFilters input{flex:1 1 240px}
.peopleRow{cursor:pointer}
.peopleRow:hover,.peopleRow:focus-visible{background:var(--nx-surface-soft);outline:0}
.peopleTable{min-width:900px}
.peopleDates{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.peopleDateBox{border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);padding:14px;background:var(--nx-surface-soft)}
.peopleDateBox h3{margin:0 0 10px;font-size:15px}
.peopleDateList{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.peopleDateList li{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.peopleImportActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
#peoplePaste{width:100%;padding:10px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
.peopleBad{background:#fde8e6;border-color:#f3b8b2;color:#8f1d12}
.peopleOk{background:#e3f6ee;border-color:#b6e2cd;color:#0e6b4a}
.peopleProblems{margin:8px 0 0;padding-left:18px;display:grid;gap:4px}
.orgTree{overflow-x:auto}
.orgList{list-style:none;margin:0;padding-left:22px;border-left:1px dashed var(--nx-border)}
.orgRoot{padding-left:0;border-left:0}
.orgNode{margin:6px 0}
.orgNode summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}
.orgNode summary::-webkit-details-marker{display:none}
.orgCard{display:inline-grid;line-height:1.25;padding:8px 12px;border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff}
.orgCard small{color:var(--nx-muted)}
.orgCount{min-width:22px;text-align:center;padding:1px 7px;border-radius:999px;background:var(--nx-primary-soft);color:var(--nx-primary-2);font-size:12px;font-weight:700}
.peopleDialog{width:min(760px,94vw);max-height:92vh;border:0;border-radius:var(--nx-radius-lg);padding:22px;box-shadow:0 24px 60px rgba(13,27,46,.3)}
.peopleDialog::backdrop{background:rgba(9,20,40,.5)}
.peopleDialog h2{margin:0 0 2px}
.peopleGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}
.peopleGrid label{display:grid;gap:4px;font-size:12.5px}
.peopleDialogActions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
@media(max-width:900px){.peopleTabs button{padding:8px 10px;font-size:13px}.peopleDialog{padding:16px}}

/* v2.9.5 shifts and rules */
.checkRow{display:flex!important;align-items:center;gap:8px;grid-auto-flow:column}
.checkRow input{width:auto;min-height:0}
.hierarchyPasteBox{width:100%;padding:10px;font:13px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical}
[data-shifts-card] h4{margin:16px 0 6px}

/* ===== v2.9.6 module navigation, per-module Settings, company switch ===== */
.navItem .navLabel{width:auto;display:inline;flex:1;font-size:inherit;color:inherit;text-align:left}
.navItem.navHidden{display:none!important}
.navGroup{font-size:10px;letter-spacing:1.4px;font-weight:800;text-transform:uppercase;color:#8290a6;padding:16px 12px 6px}
.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.welcomeCopy{min-width:0;flex:1 1 320px}
.moduleActions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.companySwitchWrap{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;letter-spacing:.9px;text-transform:uppercase;color:#6b7a92}
.companySwitchWrap select{min-width:210px;padding:10px 12px;border:1px solid #d9e0ee;border-radius:12px;background:#fff;color:#1c2940;font-size:13px;font-weight:650;letter-spacing:0;text-transform:none}
.moduleSettingsBtn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:12px;background:#fff;border:1px solid #d9e0ee;color:#243753;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px #1c294012;transition:border-color .15s,color .15s,background .15s}
.moduleSettingsBtn:hover{border-color:#aab6ff;color:#3d4be8}
.moduleSettingsBtn.isBack{background:#eef1ff;border-color:#c9d0ff;color:#3d4be8}
.moduleSettingsBtn[hidden],.companySwitchWrap[hidden]{display:none!important}
#companies .company[hidden]{display:none!important}
/* One company is shown at a time inside a module, so the repeated company header is not needed */
#companies:not([data-view="overview"]):not([data-view="companies"]) .company{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
#companies:not([data-view="overview"]):not([data-view="companies"]) .companyHead{display:none}
/* Clean, consistent panels inside every module */
#companies:not([data-view="overview"]):not([data-view="companies"]) .categoryBlock{background:#fff;border:1px solid #e6eaf2;border-radius:16px;padding:22px 24px;margin:0 0 18px;box-shadow:0 1px 2px #1c294010}
#companies .categoryBlock .workspacePanelHeading,#companies .categoryBlock .calendarPanelHeading{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #eef1f6}
#companies .categoryBlock .workspacePanelHeading h3,#companies .categoryBlock .calendarPanelHeading h3{margin:0 0 3px;font-size:18px;letter-spacing:-.2px;color:#16233a}
#companies .categoryBlock h4{margin:18px 0 8px;font-size:14px;color:#243753}
@media (max-width:760px){
  .navItem .navLabel{display:inline!important}
  .navGroup{display:none}
  .welcome{align-items:stretch}
  .moduleActions{width:100%}
  .companySwitchWrap,.companySwitchWrap select{width:100%}
  #companies:not([data-view="overview"]):not([data-view="companies"]) .categoryBlock{padding:16px}
}

/* ===== v3.0 Access types ===== */
.navItem[hidden],.navGroup[hidden]{display:none!important}
.typesWrap{overflow-x:auto;border:1px solid #e6eaf2;border-radius:14px}
.typesMatrix{width:100%;min-width:640px;border-collapse:collapse;font-size:13px}
.typesMatrix th,.typesMatrix td{padding:10px 12px;border-bottom:1px solid #eef1f6;text-align:left;vertical-align:middle}
.typesMatrix thead th{background:#f8faff;color:#243753;vertical-align:bottom}
.typesMatrix tbody th{font-weight:650;color:#34445f;white-space:nowrap}
.typesMatrix tr:last-child th,.typesMatrix tr:last-child td{border-bottom:0}
.typeHead{display:grid;gap:2px}.typeHead strong{font-size:14px}.typeHead small{font-weight:500;color:#6b7a92}
.typesMatrix select{width:100%;min-width:92px;padding:7px 9px;border:1px solid #d9e0ee;border-radius:9px;background:#fff;font-size:12.5px}
.typesMatrix select:disabled{background:#f3f5f9;color:#8a97ad}
.permPill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eef0f5;color:#5d6b85}
.permPill.view{background:#e9f1ff;color:#2f55c4}.permPill.manage{background:#e5f7ec;color:#1b7a47}
.typeActions{display:flex;gap:6px;flex-wrap:wrap}
.typesNote{margin:10px 2px 0;font-size:12.5px;color:#6b7a92;line-height:1.5}
.typeCreate{margin-top:14px;padding-top:6px}
.typeCreateRow{display:grid;grid-template-columns:1.2fr 1.2fr 1.6fr auto;gap:10px;align-items:center}
.typeCreateRow input,.typeCreateRow select{padding:10px 12px;border:1px solid #d9e0ee;border-radius:10px;font-size:13px;background:#fff}
@media (max-width:900px){.typeCreateRow{grid-template-columns:1fr}}

/* v3.1 attendance requests */
.rqEditBox{margin-top:10px;border:1px solid #e1e4ff;border-radius:12px;background:#fafaff;padding:8px 12px}
.rqEditBox summary{cursor:pointer;font-weight:700;font-size:13px;color:#3d4be8}
.rqEditBox[open] summary{margin-bottom:8px}

/* v3.2 leave policy groups */
.checkGrid{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:4px 0}
.checkGrid>span{font-size:12px;font-weight:700;color:#4b5a74;width:100%}

/* v3.4 employee records */
.recordsDialog{width:min(860px,96vw)}
.recordsHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.recordsDialog .wide{display:block;margin:10px 0}.recordsDialog .wide textarea{width:100%;box-sizing:border-box}
.exitChecklist{display:grid;gap:6px;margin:14px 0}.exitItem{display:flex;gap:8px;align-items:center}
#people_alerts h4{margin:16px 0 8px}

/* v3.5a leave year-end */
.yeRules{display:grid;gap:10px;margin:10px 0}.yeRule{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;padding:10px;border:1px solid var(--nx-border);border-radius:10px}
.yeRule strong{min-width:90px}.yeRule input[type=number]{width:90px}.yeRule .chk{display:flex;gap:6px;align-items:center}
.yeRun{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0}.hrCoForm{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}

/* v3.7 leave rules */
.lvRules{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:8px 0 14px}.lvRules .chk,.lvApplyForm .checkRow{display:flex;gap:6px;align-items:center}
.lvApplyForm{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-top:8px}
/* v3.7.1 employee central */
.linkBtn{background:none;border:0;padding:0;color:var(--nx-accent,#2563eb);text-decoration:underline;cursor:pointer;font:inherit}
.checkGrid{display:flex;flex-wrap:wrap;gap:8px 18px;margin:8px 0}

.boardPager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;flex-wrap:wrap}
.boardPager button{min-width:88px}

/* Attendance settings (v3.8.1): grouped, readable blocks */
.attBlock{border:1px solid var(--nx-border);border-radius:var(--nx-radius-md);background:#fff;padding:20px 22px;margin:16px 0}
.attBlockHead h4{margin:0 0 4px;font-size:16px}.attBlockHead p{margin:0 0 14px;color:var(--nx-muted);font-size:13.5px}
.attForm{display:block!important}
.attGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:10px}
.attField{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13.5px}
.attField input,.attField select{width:100%}.attField small{font-weight:400;color:var(--nx-muted);font-size:12px;line-height:1.4}
.attLabel{font-weight:600;font-size:13.5px}
.attSwitchRow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--nx-border);cursor:pointer}
.attSwitchRow:first-of-type{border-top:0}
.attSwitchRow span{display:flex;flex-direction:column;gap:2px}.attSwitchRow strong{font-size:14px}.attSwitchRow small{color:var(--nx-muted);font-size:12.5px;font-weight:400}
.attSwitch{appearance:none;-webkit-appearance:none;flex:none;width:42px!important;height:24px;border-radius:999px;background:#cbd5e1;position:relative;cursor:pointer;transition:background .15s;border:0;padding:0}
.attSwitch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.25)}
.attSwitch:checked{background:var(--nx-primary)}.attSwitch:checked::after{transform:translateX(18px)}
.attSwitch:focus-visible{outline:2px solid var(--nx-primary);outline-offset:2px}
.attActions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}
.attSub{margin:18px 0 8px;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--nx-muted)}
.dayChips{display:flex;flex-wrap:wrap;gap:8px}
.dayChip{position:relative;cursor:pointer}.dayChip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.dayChip span{display:inline-block;min-width:52px;text-align:center;padding:8px 12px;border:1px solid var(--nx-border);border-radius:999px;background:#fff;font-weight:600;font-size:13px;color:var(--nx-ink)}
.dayChip input:checked+span{background:var(--nx-primary);border-color:var(--nx-primary);color:#fff}
.dayChip input:focus-visible+span{outline:2px solid var(--nx-primary);outline-offset:2px}
.attSwitchRow{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:16px}
.attSwitchRow>span{flex:1;min-width:0}
input.attSwitch{width:44px!important;min-width:44px!important;height:24px!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:999px!important;flex:none}
input.attSwitch::after{top:3px;left:3px;width:18px;height:18px}
input.attSwitch:checked::after{transform:translateX(20px)}
.attBlock .hierarchyRow>span{display:flex;flex-direction:column;gap:2px}
.attBlock .hierarchyRow small{color:var(--nx-muted)}
.attBlockHead{margin-bottom:4px}

/* ---- Workflow & Approvals (v3.9) ---- */
.approvalsHub{padding:18px 20px}
.aprTop{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.aprTabs{display:inline-flex;gap:4px;background:#eef1f6;border-radius:10px;padding:3px}
.aprTabs button{border:0;background:transparent;padding:7px 14px;border-radius:8px;font-weight:600;color:#475467;cursor:pointer}
.aprTabs button.active{background:#fff;color:#1d2939;box-shadow:0 1px 2px rgba(16,24,40,.12)}
.aprControls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.aprControls select,.aprControls input{min-height:36px}
.aprCounts{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin-bottom:12px}
.aprTotal{display:flex;align-items:baseline;gap:8px;padding:8px 14px;font-size:14px;color:#475467}
.aprTotal strong{font-size:26px;color:#1d2939}
.aprBulk{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:#f2f6ff;border:1px solid #c7d7fe;border-radius:10px;padding:10px 14px;margin-bottom:12px}
.aprBulk input[type=text]{flex:1;min-width:200px}
.aprTable .aprCheck{width:36px;text-align:center}
.aprWhat small{display:block;color:#667085;margin-top:2px}
.aprDetail{max-width:340px;white-space:normal}
.aprEsc{margin-left:8px;font-size:11px}
.aprActions{white-space:nowrap}
.aprActions button{margin-right:6px;padding:6px 12px;min-height:0}
@media (max-width:760px){.aprTop{flex-direction:column;align-items:stretch}.aprActions{white-space:normal}}
.aprBulk[hidden]{display:none}
.aprControls{flex:1;justify-content:flex-end;flex-wrap:nowrap}
.aprControls select{width:auto!important;min-width:170px}
.aprControls input[type=search]{width:220px!important}
.aprControls button{width:auto!important;white-space:nowrap}
.aprTabs button{width:auto}
@media (max-width:900px){.aprControls{flex-wrap:wrap;justify-content:flex-start}}
.aprChain{color:#175cd3!important;font-weight:600}
.aprDialog{border:0;border-radius:14px;padding:22px;max-width:460px;width:92%;box-shadow:0 20px 60px rgba(16,24,40,.3)}
.aprDialog::backdrop{background:rgba(16,24,40,.45)}
.aprDialog label{display:block;margin:10px 0;font-weight:600}
.aprDialog select,.aprDialog input{width:100%;margin-top:4px}
.aprAttTimes{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aprAttActions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.wfList{display:grid;gap:10px;margin:10px 0}
.wfCard{border:1px solid #e4e7ec;border-radius:12px;padding:12px 14px;background:#fff}
.wfCard.off{opacity:.65}
.wfHead{display:flex;gap:10px;align-items:center;justify-content:space-between}
.wfChain{margin:8px 0 8px 18px;padding:0;color:#344054}
.wfActions{display:flex;gap:8px}
.wfForm{margin-top:14px;border-top:1px solid #e4e7ec;padding-top:14px}
.wfLevels{display:grid;gap:10px;margin:12px 0}
.wfLevel{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#f9fafb;border:1px solid #e4e7ec;border-radius:10px;padding:10px}
.wfLevel strong{min-width:64px}
.wfLevel select,.wfLevel input{width:auto!important;min-width:140px}
.wfLevel input[hidden]{display:none}

/* ---------- Self-Service (v4.0) ---------- */
.selfService{padding:18px 20px}
.essFlash{padding:10px 14px;border-radius:10px;margin-bottom:12px;font-weight:600}
.essFlash.ok{background:#e8f6ee;color:#146c3b}.essFlash.bad{background:#fdecea;color:#a12622}
.essGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start}
.essGrid.two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.essCard{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:16px 18px}
.essCard.wide{grid-column:1/-1}
.essCard h3{margin:0 0 10px;font-size:15px}.essCard h4{margin:14px 0 6px;font-size:13px;color:#475467}
.essHero{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px;align-items:center;background:linear-gradient(120deg,#f4f7ff,#fff)}
.essHeroMain{flex:1;min-width:220px}.essHeroMain h2{margin:0 0 2px;font-size:20px}.essHeroMain p{margin:2px 0}
.essToday{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.essHeroActions{display:flex;flex-wrap:wrap;gap:8px}
.essBadgeBtn{background:#b54708}
.essAvatar{width:56px;height:56px;border-radius:50%;background:#3b5bdb;color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.essAvatar.sm{width:36px;height:36px;font-size:13px}
.essPill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef1f6;color:#475467}
.essPill.ok{background:#e8f6ee;color:#146c3b}.essPill.warn{background:#fff4e0;color:#9a5b00}.essPill.bad{background:#fdecea;color:#a12622}.essPill.info{background:#e8f0fe;color:#1a47a3}
.essBals{display:flex;flex-wrap:wrap;gap:10px}
.essBal{min-width:130px;flex:1;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.essBal b{font-size:24px}.essBal small{color:#667085}
.essList{list-style:none;margin:0;padding:0}
.essList li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #f0f2f5}
.essList li:last-child{border-bottom:0}.essList li em{font-style:normal;color:#667085;white-space:nowrap}
.essList small{display:block;color:#667085}
.essList .mute,.mute{color:#667085}
.essAnn{display:block!important;cursor:pointer}.essAnn.unread b::before{content:"● ";color:#3b5bdb}
.essAnn p{margin:4px 0;color:#475467}
.essTag{font-size:11px;padding:1px 8px;border-radius:999px;background:#eef1f6;color:#475467;margin-left:6px}
.essTag.urgent{background:#fdecea;color:#a12622}.essTag.policy{background:#e8f0fe;color:#1a47a3}.essTag.event{background:#e8f6ee;color:#146c3b}
.essRow{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f0f2f5}.essRow:last-child{border-bottom:0}.essRow span{color:#667085}.essRow b{text-align:right;word-break:break-word}
.essBar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.essBar h2{margin:0}
.essMonthNav{display:flex;align-items:center;gap:12px}
.essTiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:14px}
.essTile{background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column}
.essTile b{font-size:20px}.essTile span{font-size:12px;color:#667085}
.essTile.ok b{color:#146c3b}.essTile.bad b{color:#a12622}.essTile.warn b{color:#9a5b00}.essTile.info b{color:#1a47a3}
.essCal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.essDow{text-align:center;font-size:12px;color:#667085;font-weight:600}
.essDay{min-height:64px;border-radius:10px;padding:6px 8px;background:#f8f9fb;display:flex;flex-direction:column;gap:2px;border:1px solid transparent}
.essDay.blank{background:transparent}.essDay small{font-size:11px;color:#475467}.essDay i{font-style:normal;font-size:11px;color:#146c3b}
.essDay.ok{background:#e8f6ee}.essDay.warn{background:#fff4e0}.essDay.bad{background:#fdecea}.essDay.info{background:#e8f0fe}.essDay.mute{background:#f3f4f6}
.essDay.today{border-color:#3b5bdb}
.essForm{display:flex;flex-direction:column;gap:10px}.essForm label,.essFormGrid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.essTwo{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.essFormGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0}
.essTableWrap{overflow-x:auto}.essTable{width:100%;border-collapse:collapse}
.essTable th{text-align:left;font-size:12px;color:#667085;padding:8px;border-bottom:1px solid #e4e7ec}.essTable td{padding:9px 8px;border-bottom:1px solid #f0f2f5;vertical-align:top}
.essTable small{display:block;color:#667085}.essClick{cursor:pointer}.essClick:hover{background:#f8f9fb}
.essPager{display:flex;gap:12px;align-items:center;justify-content:center;margin-top:12px}
.essFilters{display:flex;flex-wrap:wrap;gap:8px}
.essSplit{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:start}
@media(max-width:900px){.essSplit{grid-template-columns:1fr}.essTwo{grid-template-columns:1fr}}
.essPerson{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:transparent;color:inherit;border:0;border-bottom:1px solid #f0f2f5;padding:10px 4px;border-radius:0;cursor:pointer}
.essPerson:hover{background:#f8f9fb}.essPerson small{display:block;color:#667085;font-weight:400}
.essOrgTree{display:flex;flex-direction:column;align-items:center;gap:0}
.essOrgRow{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.essLine{width:2px;height:16px;background:#d0d5dd}
.essNode{background:#fff;color:inherit;border:1px solid #d0d5dd;border-radius:10px;padding:8px 12px;text-align:center;cursor:pointer;display:flex;flex-direction:column;min-width:120px}
.essNode.self{background:#3b5bdb;color:#fff;border-color:#3b5bdb}.essNode.self small{color:#dbe4ff}.essNode small{color:#667085;font-weight:400}
.essEmpty{padding:24px;text-align:center;color:#667085}.essEmpty.error{color:#a12622}
.essAdmin{margin-top:14px}
.essDialog{border:0;border-radius:16px;padding:20px 22px;max-width:560px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(16,24,40,.25)}
.essDialog::backdrop{background:rgba(16,24,40,.45)}
.essAnnBody{white-space:pre-wrap}

/* ---------- Reports & Analytics (v4.1) ---------- */
.reportsCenter{padding:18px 20px}
.rcTop{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.rcScope{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:#e8f0fe;color:#1a47a3}.rcScope.team{background:#fff4e0;color:#9a5b00}
.rcLayout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:900px){.rcLayout{grid-template-columns:1fr}}
.rcCatalog{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:10px;position:sticky;top:8px}
.rcCat h4{margin:10px 8px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#667085}
.rcCat button{display:block;width:100%;text-align:left;background:transparent;color:#344054;border:0;border-radius:8px;padding:7px 10px;font-weight:500;cursor:pointer}
.rcCat button:hover{background:#f2f4f7}.rcCat button.active{background:#e8f0fe;color:#1a47a3;font-weight:700}
.rcHead{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.rcHead h2{margin:0 0 2px}.rcHead p{margin:0}
.rcExports{display:flex;gap:8px}
.rcFilters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;background:#f8f9fb;border:1px solid #e4e7ec;border-radius:12px;padding:12px;margin-bottom:12px}
.rcFilters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467}
.rcFilters select,.rcFilters input{min-width:130px}
.rcActions{display:flex;align-items:flex-end}
.rcViews{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;flex-basis:100%;border-top:1px dashed #d0d5dd;padding-top:10px}.rcViews input{min-width:220px;width:220px}
.rcBarRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.rcSize{display:flex;gap:6px;align-items:center;font-size:12px;color:#667085}
.rcResult{padding:0;overflow:hidden}.rcTableWrap{max-height:68vh;overflow:auto}
.rcTable thead th{position:sticky;top:0;background:#f8f9fb;white-space:nowrap;z-index:1}
.rcTable td{white-space:nowrap}.rcTable td.t-num,.rcTable th.t-num,.rcTable td.t-int,.rcTable th.t-int{text-align:right}
.rcTable.matrix td.t-code,.rcTable.matrix th.t-code{text-align:center;padding:6px 4px;min-width:34px}
.rcCode{display:inline-block;min-width:24px;padding:1px 4px;border-radius:5px;font-size:11px;font-weight:700;background:#f2f4f7;color:#475467}
.rcCode.c-p,.rcCode.c-wfh{background:#e8f6ee;color:#146c3b}.rcCode.c-a{background:#fdecea;color:#a12622}.rcCode.c-l,.rcCode.c-h{background:#e8f0fe;color:#1a47a3}.rcCode.c-hd{background:#fff4e0;color:#9a5b00}
.rcTiles .rcTile{text-align:left;cursor:pointer;color:inherit;font:inherit}.rcTiles button.rcTile:hover{border-color:#3b5bdb}
.rcBars{display:flex;flex-direction:column;gap:7px}
.rcBar{display:grid;grid-template-columns:minmax(80px,1.1fr) 3fr 44px;gap:8px;align-items:center;font-size:13px}
.rcBar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#475467}.rcBar div{background:#eef1f6;border-radius:6px;height:12px;overflow:hidden}.rcBar i{display:block;height:100%;background:#3b5bdb;border-radius:6px}.rcBar b{text-align:right}
.rcSvg{width:100%;height:auto;display:block}
.rcGrid{stroke:#e4e7ec;stroke-width:1}.rcAxis{font-size:10px;fill:#667085}
.rcJoin{fill:#12b886;background:#12b886}.rcLeave{fill:#e03131;background:#e03131}
.rcLine{stroke-width:2.2}.rcL1{stroke:#3b5bdb;fill:none;background:#3b5bdb}.rcL2{stroke:#f59f00;background:#f59f00}.rcL3{stroke:#12b886;background:#12b886}.rcL4{stroke:#e03131;background:#e03131}
.rcDot{stroke:none}.rcDot.rcL1{fill:#3b5bdb}.rcDot.rcL2{fill:#f59f00}.rcDot.rcL3{fill:#12b886}.rcDot.rcL4{fill:#e03131}
.rcLegend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#475467;margin-top:6px}
.rcSw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}
.rcNote{font-size:12px;margin:8px 0 0}

/* ---- Module 6: Roles & access + security ---- */
.accessCenter{padding:0}
#companies[data-view="access"] .accessTypesSection{display:none}
.rxLayout{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}
.rxList{display:flex;flex-direction:column;gap:6px}
.rxRole{text-align:left;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px;cursor:pointer;color:#1d2939}
.rxRole strong{display:block;font-size:14px}.rxRole small{color:#667085}
.rxRole.active{border-color:#0b5fff;box-shadow:0 0 0 2px #e8f0ff}
.rxRole.rxNew{border-style:dashed;color:#0b5fff;font-weight:700}
.rxEditor h3{display:flex;gap:8px;align-items:center}
.rxFields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rxFields label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467}.rxFields .wide{grid-column:1/-1}
.rxPerm{border-collapse:collapse;width:100%;max-width:520px}.rxPerm th{text-align:left;font-weight:600;padding:6px 8px;border-bottom:1px solid #f0f2f5}.rxPerm td{padding:6px 8px;border-bottom:1px solid #f0f2f5}
.rxScope{display:flex;flex-direction:column;gap:4px;max-width:360px;font-size:13px;font-weight:600;color:#475467}
.rxClone{display:inline-flex;gap:6px}
.rxBulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#f0f6ff;border:1px solid #cfe0ff;border-radius:12px;padding:10px 12px;margin-bottom:12px}
.rxChips{white-space:normal}.rxChip{display:inline-block;margin:1px 3px 1px 0;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;background:#eef1f6;color:#475467}
.rxChip.manage{background:#e8f6ee;color:#146c3b}.rxChip.view{background:#e8f0fe;color:#1a47a3}
.rxScopeCell{display:flex;flex-direction:column;gap:4px;min-width:150px}.rxScopeCell input{width:100%}
.rxTable td small{display:block;color:#667085}.rxLegend{margin-top:10px;font-size:12px}
.rxWarn{background:#fff4e0;color:#7a4a00;border-radius:10px;padding:10px 12px;font-size:13px}
.rxNotes{margin:0;padding-left:18px;color:#475467}.rxNotes li{margin:6px 0}
.mfaQr{display:block;width:200px;height:200px;margin:8px auto;background:#fff;border:1px solid #e4e7ec;border-radius:8px}
#mfaDialog label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467;margin-top:8px}
#mfaDialog code,#secDialog code{word-break:break-all}
.secRow{display:flex;gap:8px}.secLog{margin:0;padding-left:18px}.secLog li{margin:4px 0}
#secDialog h4{margin:14px 0 6px}
@media(max-width:820px){.rxLayout{grid-template-columns:1fr}.rxFields{grid-template-columns:1fr}}
#companies[data-view="access"] .accessTypesSection,#companies[data-view="access"] [data-types-card]{display:none!important}
.navFoot{display:flex;flex-wrap:wrap;gap:6px}.navFoot .navFootBrand{flex:0 0 100%}
.navFoot #navSecurity,.navFoot #logout{flex:1 1 0;min-width:0;width:auto;padding-left:8px;padding-right:8px;justify-content:center}

/* ---- Notification center (v4.3) ---- */
.ncTabsRow{margin:6px 0 12px}
.ncTabBadge{font-style:normal;font-size:11px;font-weight:700;background:#4b4cbb;color:#fff;border-radius:999px;padding:1px 7px;margin-left:6px}
.ncFilters{margin-bottom:12px}
.ncChip{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;background:#eef1f6;color:#475467}
.ncChip.c-leave{background:#e8f7ee;color:#067647}.ncChip.c-approval{background:#fff4e5;color:#b54708}.ncChip.c-attendance{background:#e8f1ff;color:#1849a9}
.ncChip.c-announcement{background:#f4ebff;color:#6941c6}.ncChip.c-reminder{background:#fef0c7;color:#93370d}.ncChip.c-report{background:#e0f2fe;color:#075985}.ncChip.c-profile{background:#fce7f3;color:#9e165f}
#nc_prefs .essCard,#nc_sched .essCard,#nc_admin .essCard{margin-bottom:16px}
.ncPrefTable td:nth-child(n+2),.ncPrefTable th:nth-child(n+2){text-align:center;width:110px}
.ncPrefTable input[type=checkbox],#nc_admin .essTable input[type=checkbox]{width:18px;height:18px}
#nc_admin .essTable td:nth-child(n+2):nth-last-child(-n+2){text-align:center}
.ncForm form,form.ncForm,.ncForm form#ncSchedForm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.ncForm label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467}
.ncForm .wide,.ncForm .ncActions{grid-column:1/-1}
.ncCheck{flex-direction:row!important;align-items:center;gap:8px!important;font-size:14px!important;color:#1d2939!important}
.ncActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.ncRowBtns{white-space:nowrap}.ncRowBtns button{margin:0 4px 4px 0;padding:5px 10px;font-size:12px}
.ncStats{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){.ncTabsRow{overflow-x:auto}.ncRowBtns{white-space:normal}}
.ncForm label[hidden]{display:none!important}
.ncSub{margin-bottom:14px;flex-wrap:wrap}
.ncRuleBox{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:flex-end;background:#f8f9fb;border:1px solid #e4e7ec;border-radius:12px;padding:12px 14px}
.ncRuleBox input[type=number]{width:100px}
.ncInline{display:inline-flex;gap:8px;align-items:center;font-weight:400}
.ncPreview{background:#f8f9fb;border:1px dashed #d0d5dd;border-radius:10px;padding:12px;white-space:pre-wrap;font:13px/1.5 inherit;margin:6px 0 0}
.ncHint{margin:14px 0 0}
.ncSnooze{width:auto;min-width:110px;padding:6px 8px;font-size:12px}
.ncTopics{display:flex;flex-wrap:wrap;gap:8px 22px}
.ncForm textarea{width:100%;font:inherit;border:1px solid #d0d5dd;border-radius:10px;padding:10px;resize:vertical}
.notificationItem .actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ncForm .ncCheck input[type=checkbox],.ncRuleBox .ncCheck input[type=checkbox],.ncTopics .ncCheck input[type=checkbox],#nc_prefs input[type=checkbox],#nc_admin input[type=checkbox]{width:18px!important;height:18px!important;min-width:18px;padding:0!important;margin:0;flex:none;accent-color:#1d4ed8}
.ncRuleBox .ncCheck{flex-direction:row!important;align-items:center;gap:8px!important;min-width:260px}
.ncTopics .ncCheck{min-width:0}

/* v4.5 onboarding & offboarding */
.lcView .ncTabsRow{margin:6px 0 10px}
.lcCard{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:16px;margin:0 0 14px}
.lcCard h3{margin:0 0 4px}.lcCard h4,.lcSub h4{margin:12px 0 6px}
.lcCardHead,.lcDlgHead{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.lcCardSide{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lcBar{display:inline-block;width:90px;height:7px;background:#e4e7ec;border-radius:99px;overflow:hidden;vertical-align:middle;margin-right:6px}
.lcBar i{display:block;height:100%;background:#12b76a}
.lcBadge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;font-weight:600;background:#eef1f6;color:#344054;white-space:nowrap}
.lc-done,.lc-completed,.lc-paid,.lc-approved{background:#d1fadf;color:#05603a}.lc-submitted,.lc-pending_approval{background:#fef0c7;color:#93370d}
.lc-rejected,.lc-cancelled,.lc-withdrawn{background:#fee4e2;color:#b42318}.lc-in_progress,.lc-pending{background:#e0eaff;color:#1d4ed8}.lc-skipped{background:#f2f4f7;color:#667085}
.lcLate{color:#b42318;font-weight:600}
.lcTasks{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.lcTask{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px;background:#fcfcfd}
.lcTask.lcT-done,.lcTask.lcT-skipped{opacity:.72}
.lcTaskMain{display:flex;flex-direction:column;gap:2px;min-width:0}.lcTaskMain small{display:block;overflow-wrap:anywhere}
.lcTaskSide{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.lcTaskBtns{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.lcMini{padding:5px 10px;font-size:12px;border-radius:8px}
.lcPrimary{background:var(--nx-primary,#1d4ed8);color:#fff;border:0}
.lcDanger,.lcDangerBtn{color:#b42318}.lcDanger{background:#b42318;color:#fff}
.lcActions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end;flex-wrap:wrap}.lcActions.wide{grid-column:1/-1}.lcWrap{justify-content:flex-start}
.lcFormGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;align-items:end}
.lcFormGrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467}
.lcFormGrid .wide,.lcFormGrid label.wide{grid-column:1/-1}
.lcFormGrid input:not([type=checkbox]),.lcFormGrid select,.lcFormGrid textarea,.lcToolbar input,.lcToolbar select,.lcFnfRow input,.lcFnfRow select,.lcTplRow input:not([type=checkbox]),.lcTplRow select,#lcQForm textarea{font:inherit;border:1px solid #d0d5dd;border-radius:10px;padding:8px 10px;width:100%;box-sizing:border-box}
.lcCheck{flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500!important}.lcCheck input[type=checkbox]{width:18px!important;height:18px!important}
.lcToolbar{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:10px}.lcToolbar label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#475467}.lcGrow{flex:1}
.lcTableWrap{overflow-x:auto}.lcTable{width:100%;border-collapse:collapse}.lcTable th,.lcTable td{text-align:left;padding:9px 8px;border-bottom:1px solid #eef1f6;vertical-align:top}.lcTable td small{display:block}
.lcTiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
.lcTile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:12px;text-align:left;cursor:pointer;font:inherit}
.lcTile b{font-size:26px;line-height:1.1;color:#101828}.lcTile span{font-size:12px;color:#667085}.lcTilesSm .lcTile b{font-size:20px}
.lcTwo{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.lcLine{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f2f4f7;flex-wrap:wrap}
.lcChips{display:flex;gap:8px;flex-wrap:wrap}.lcChip{background:#eef1f6;border-radius:99px;padding:4px 12px;font-size:13px}
.lcInfo{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0;padding:12px;background:#f9fafb;border-radius:12px}.lcInfo div{display:flex;flex-direction:column}
.lcDecide{border:1px solid #fedf89;background:#fffaeb;border-radius:12px;padding:10px 12px;margin:10px 0}
.lcSub{border-top:1px solid #eef1f6;margin-top:14px;padding-top:4px}.lcQA p{margin:2px 0 8px;white-space:pre-wrap}
.lcFnfRow{display:grid;grid-template-columns:110px 1.4fr 120px 1fr auto;gap:8px;margin-bottom:6px}
.lcTplRow{display:grid;grid-template-columns:2fr 110px 130px 150px 1.3fr 70px 90px 1.4fr auto;gap:6px;margin-bottom:6px;align-items:center}
.lcAskDialog{width:min(560px,94vw)}.lcAskDialog .lcWide,.lcAskForm.lcWide{min-width:0}.lcAskDialog:has(.lcWide){width:min(1180px,96vw)}
.lcDialog{width:min(900px,96vw)}.lcWelcome{background:#eff8ff;border-radius:10px;padding:8px 12px}.lcEmpty{padding:18px 4px}
@media (max-width:760px){.lcFnfRow,.lcTplRow{grid-template-columns:1fr}.lcTask{flex-direction:column}.lcTaskSide{align-items:flex-start}}

.lcTplHead{font-size:11px;color:#667085;margin-bottom:2px}.lcTplHead b{font-weight:600}
@media (max-width:760px){.lcTplHead{display:none}}

/* v4.6 performance */
.pfDist{display:inline-flex;align-items:center;gap:8px;min-width:140px}.pfDist i{display:block;height:8px;background:#7a5af8;border-radius:99px;min-width:2px}.pfComp{margin-bottom:4px}
/* v4.6.1 performance: 9-box, letter */
.pfNineWrap{display:flex;gap:8px;align-items:stretch}.pfAxisY{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;color:#667085;font-size:12px;font-weight:600}.pfAxisX{text-align:center;color:#667085;font-size:12px;font-weight:600;margin-top:6px}
.pfNine{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pfCell{border:1px solid #e4e7ec;border-radius:12px;padding:8px 10px;min-height:96px;background:#f9fafb;display:flex;flex-direction:column;gap:4px}
.pfCell33,.pfCell32,.pfCell23{background:#ecfdf3;border-color:#abefc6}.pfCell31,.pfCell22,.pfCell13{background:#eff8ff;border-color:#b2ddff}.pfCell21,.pfCell12,.pfCell11{background:#fffaeb;border-color:#fedf89}
.pfCellHead{display:flex;justify-content:space-between;gap:6px;font-size:12px}.pfCellHead span{font-weight:700;font-size:15px}
.pfChip{border:1px solid #d0d5dd;background:#fff;border-radius:99px;padding:2px 10px;font-size:12px;cursor:pointer;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#pfPrintArea{display:none}.pfLetter{max-width:720px;margin:0 auto;font-family:Georgia,serif;color:#101828}.pfLetter h2{margin:0}.pfLetterTable{width:100%;border-collapse:collapse;margin:12px 0}.pfLetterTable th,.pfLetterTable td{border:1px solid #98a2b3;padding:6px 8px;text-align:left}.pfLetterRate{font-size:18px}.pfSign{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:64px}.pfSign div{border-top:1px solid #101828;padding-top:6px;font-size:12px;text-align:center}
@media print{body.pfPrinting>*:not(#pfPrintArea){display:none!important}body.pfPrinting #pfPrintArea{display:block!important;padding:24px;background:#fff}}
@media (max-width:760px){.pfNine{grid-template-columns:1fr}.pfNineWrap{flex-direction:column}.pfAxisY{writing-mode:horizontal-tb;transform:none}}
/* Recruitment v4.7 */
.lcToolSpacer{flex:1}.lcEmpty{padding:16px 0}
.hxBoard{display:grid;grid-template-columns:repeat(6,minmax(220px,1fr));gap:10px;overflow-x:auto;padding-bottom:8px}
.hxCol{background:#f2f4f7;border-radius:10px;padding:8px;min-height:140px}.hxCol h4{margin:2px 4px 8px;display:flex;justify-content:space-between;font-size:13px}.hxCol h4 i{font-style:normal;background:#fff;border-radius:10px;padding:0 8px;font-size:12px}
.hxCol.hxDrop{outline:2px dashed #2e90fa;background:#eff8ff}.hxColBody{display:flex;flex-direction:column;gap:8px}.hxEmptyCol{text-align:center;font-size:12px;margin:12px 0}
.hxCard{background:#fff;border:1px solid #eaecf0;border-radius:8px;padding:8px 10px;display:flex;flex-direction:column;gap:3px;cursor:grab}.hxCard.hxDrag{opacity:.5}
.hxCardName{all:unset;cursor:pointer;font-weight:600;color:#175cd3}.hxCardName:focus-visible{outline:2px solid #2e90fa}.hxCardFoot{display:flex;justify-content:space-between;align-items:center;gap:6px}.hxSrc{font-size:11px;color:#667085}
.hxMove{margin-top:4px;font-size:12px;padding:3px}.hxStars{color:#f79009;letter-spacing:1px;margin-right:6px}
.hxChips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.hxChip{background:#f2f4f7;border-radius:12px;padding:2px 9px;font-size:12px}
.hxTable{width:100%;border-collapse:collapse}.hxTable th,.hxTable td{text-align:left;padding:7px 8px;border-bottom:1px solid #eaecf0;font-size:13px}.hxTable th{color:#667085;font-weight:600}
.hxFun{display:grid;grid-template-columns:150px 1fr 40px;gap:8px;align-items:center;margin:6px 0;font-size:13px}.hxFunBar{background:#f2f4f7;border-radius:6px;height:12px}.hxFunBar i{display:block;height:100%;background:#2e90fa;border-radius:6px}
.hxScore{background:#f9fafb;border-radius:8px;padding:6px 10px;margin:6px 0;font-size:13px}.hxIv{border:1px solid #eaecf0;border-radius:10px;padding:8px 10px;margin:8px 0}
.lcTile{cursor:pointer;font:inherit;text-align:left}
@media(max-width:700px){.hxBoard{grid-template-columns:repeat(6,80vw)}.hxFun{grid-template-columns:100px 1fr 32px}}
/* Expense v4.8 */
.xpNum{text-align:right!important;white-space:nowrap}.xpTable tfoot th,.xpTable tfoot td{border-top:2px solid #eaecf0}
/* Travel v4.9 */
.tvFlags{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0}.tvFlag{display:inline-block;padding:1px 8px;border-radius:10px;background:#fff4e5;color:#9a5b00;font-size:12px;font-weight:600}
/* Learning v5.0 */
.lcLine{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--line,#e5e7eb)}
/* Payroll v5.1 */
.prActs{flex-wrap:wrap;gap:8px}
#prDialog .lcFormGrid label.wide,#prDialog .lcFormGrid .wide{grid-column:1/-1}
.prTiles .lcTile b{font-size:1.1rem;word-break:break-word}

/* ---- Workflow & Approvals v5.3 ---- */
.aprViewTabs{margin-bottom:12px}
.aprDialog textarea{width:100%;margin-top:4px;font:inherit;border:1px solid #d0d5dd;border-radius:8px;padding:8px}
.aprTlDialog{max-width:620px}
.aprTl{display:grid;gap:8px;margin:10px 0}
.aprTl h4{margin:10px 0 2px;font-size:13px;color:#475467;text-transform:uppercase;letter-spacing:.04em}
.aprTlRow{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #e4e7ec;border-radius:10px;padding:8px 12px;background:#fff}
.aprTlRow small{display:block;color:#667085}
.aprTlDot{width:10px;height:10px;border-radius:50%;margin-top:5px;background:#98a2b3}
.aprTlDot.approved{background:#12b76a}.aprTlDot.declined,.aprTlDot.cancelled{background:#f04438}.aprTlDot.returned,.aprTlDot.pending{background:#f79009}.aprTlDot.skipped{background:#98a2b3}.aprTlDot.submitted{background:#2e90fa}
.aprActions .aprMini{background:transparent;color:#175cd3;border:0;padding:6px 8px;text-decoration:underline;cursor:pointer}
.aprLogAct{font-weight:700;text-transform:capitalize}
.aprLogAct.approved{color:#067647}.aprLogAct.declined,.aprLogAct.cancelled{color:#b42318}.aprLogAct.returned{color:#b54708}

.aprTable .aprActions{white-space:normal;min-width:230px}
.aprTable .aprActions button{margin-bottom:4px}
.attField[hidden]{display:none!important}

/* roles v5.4: role table, templates, explain, temporary roles */
.rxTpl{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;background:#f5f8ff;border-radius:10px}
.rxTpl label{flex:1;min-width:200px;margin:0}
.rxMatrix th small{display:block;font-weight:400;color:#667085}.rxMatrix thead th{vertical-align:bottom;min-width:120px}
.rxMatrix .rxGroup th,.rxFacts+.essTableWrap .rxGroup th,.rxDialog .rxGroup th{background:#f2f4f7;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#475467;text-align:left}
.linkBtn{background:none;border:0;padding:0;color:#0b5fff;font-weight:700;cursor:pointer;text-align:left}
.rxUntil{display:block;color:#b54708;font-size:12px}
.rxRowAct{white-space:nowrap}
.rxDialog{max-width:760px}
.rxFacts{list-style:none;margin:8px 0 12px;padding:0}.rxFacts li{margin:4px 0}
.rxHist{list-style:none;margin:8px 0;padding:0}.rxHist li{padding:8px 0;border-bottom:1px solid #eef0f4}
.rxDiff{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.rxDiff span{background:#f2f4f7;border-radius:8px;padding:2px 8px;font-size:13px}

.rxRolesList{display:grid;gap:6px;margin:10px 0;max-height:320px;overflow:auto}.rxRolesNote{display:block;color:#475467}

/* v5.5 notifications */
.ncPrio{margin-left:6px;vertical-align:middle}.ncPrio.p-high{background:#fff4e5;color:#b54708}.ncPrio.p-urgent{background:#fee4e2;color:#b42318}
.ncStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}
.ncStat{border:1px solid #e4e7ec;border-radius:12px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:2px}
.ncStat span{font-size:12px;color:#667085;font-weight:600}.ncStat strong{font-size:22px;color:#101828}.ncStat small{color:#667085}
.ncNote{background:#fff7e6;border:1px solid #fedf89;color:#7a4b00;border-radius:10px;padding:8px 12px;margin:8px 0;font-size:13px}
.ncGroupRow th{background:#f4f6fb;color:#344054;font-size:12px;text-transform:uppercase;letter-spacing:.04em;text-align:left}
.ncChCell{text-align:center}.ncAdminTypes select{max-width:140px}
.linkBtn{background:none;border:0;color:#3b5bdb;cursor:pointer;padding:0 0 0 6px;font-size:12px;text-decoration:underline}
.ncOld{margin:14px 0}.ncOld>summary{cursor:pointer;color:#475467;font-weight:600;padding:6px 0}
.ncWhy{margin:8px 0 0 18px;line-height:1.6}.ncExplain h4{margin:12px 0 4px}
#nc_admin select[multiple]{min-height:110px}
@media (max-width:700px){.ncStats{grid-template-columns:1fr 1fr}}

/* Companies hub (v5.6) */
.chHub{padding:16px;margin-bottom:16px}.chHead{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.chHead .aprTabs{flex-wrap:wrap}.chCard{border:1px solid var(--nx-border);border-radius:12px;padding:14px;margin:0 0 12px}.chCard h3,.chCard h4{margin:0 0 8px}
.chStats{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 12px}.chStats>div{border:1px solid var(--nx-border);border-radius:12px;padding:10px 16px;min-width:110px}.chStats b{display:block;font-size:22px}.chStats span{color:#667085;font-size:12px}
.chFilters{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.chFilters input{flex:1;min-width:200px}
.chTable{overflow-x:auto}.chTable table{width:100%;border-collapse:collapse}.chTable th,.chTable td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--nx-border);vertical-align:top}.chTable th{font-size:12px;color:#667085}
.chBtns{white-space:nowrap}.chBtns button{margin-right:4px}.chPager{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:10px}
.chPill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.chPill.on{background:#d1fadf;color:#05603a}.chPill.off{background:#fee4e2;color:#912018}.chPill.warn{background:#fef0c7;color:#93370d}
.chProgress{height:10px;background:#eef1f6;border-radius:99px;overflow:hidden;margin:8px 0}.chProgress i{display:block;height:100%;background:#16a34a}
.chStep{display:flex;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--nx-border)}.chStep>div{flex:1}.chTick{width:22px;height:22px;border-radius:50%;border:2px solid #cbd5e1;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px}.chStep.done .chTick{background:#16a34a;border-color:#16a34a}
.chGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0}.chGrid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.chLogoRow{display:flex;gap:14px;align-items:center}.chLogo{width:72px;height:72px;object-fit:contain;border:1px solid var(--nx-border);border-radius:12px;background:#fff}.chLogo.empty{display:flex;align-items:center;justify-content:center;color:#98a2b3;font-size:12px}
@media (max-width:640px){.chPager{justify-content:space-between}.chTable{font-size:13px}}

/* API & webhooks (v5.7) */
.apCode{background:#101828;color:#e4e7ec;border-radius:10px;padding:12px 14px;overflow-x:auto;font-size:12.5px;line-height:1.5;white-space:pre}
.apScopes code,.chCard code,.chTable code{background:#f2f4f7;border-radius:6px;padding:1px 6px;font-size:12px}
.apScopes{display:flex;flex-wrap:wrap;gap:4px}.apRow{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:flex-start}
.apScopeGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:8px 0}.apScopeGrid>div{border:1px solid var(--nx-border);border-radius:10px;padding:10px}.apScopeGrid label{display:block;font-weight:500;margin-top:4px}
.apSwitch{flex-direction:column}.apSwitch span{display:flex;gap:8px;align-items:center}
.apReveal{border-color:#f79009;background:#fffaeb}.apBar{display:flex;align-items:center;gap:10px;margin:4px 0}.apBar span{width:90px;font-size:12px;color:#667085}.apBar i{display:block;height:10px;background:#3b82f6;border-radius:4px;min-width:2px}.apBar em{color:#b42318;font-size:12px;font-style:normal}
.apRow .chBtns{white-space:normal;display:flex;flex-wrap:wrap;gap:6px}.apRow>div:first-child{min-width:0;max-width:100%;overflow-wrap:anywhere}
.chCard code,.chTable code{overflow-wrap:anywhere;word-break:break-word}.chCard{min-width:0;overflow-wrap:anywhere}
/* v5.7 polish: tick boxes, switches and messages in the Companies and API screens */
.chHub input[type=checkbox]{width:18px!important;min-width:18px!important;height:18px!important;min-height:0!important;padding:0!important;margin:0!important;flex:none;accent-color:#0b5fff}
.chHub .apSwitch{flex-direction:row!important;align-items:flex-start;gap:10px!important;border:1px solid var(--nx-border);border-radius:10px;padding:10px 12px;font-weight:600}
.chHub .apSwitch span{display:flex;align-items:center;gap:8px;font-weight:600}
.chHub .apSwitch small{flex-basis:100%}
.chHub .apSwitch{flex-wrap:wrap}
.chHub .apScopeGrid label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;font-weight:500;margin-top:6px;line-height:1.35}
.chHub .apScopeGrid label code{margin-left:2px}
.chHub .apAll{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;margin:10px 0;font-weight:600}
.chHub .chGrid label small{font-weight:400}
.chHub .message:not(:empty){position:sticky;top:8px;z-index:20;margin:8px 0;padding:10px 14px;border-radius:10px;background:#ecfdf3;border:1px solid #abefc6;color:#05603a;font-weight:600;box-shadow:0 4px 14px rgba(16,24,40,.12)}
.chHub .message.error:not(:empty){background:#fef3f2;border-color:#fecdca;color:#b42318}
.chTable td.apScopes{display:table-cell;max-width:260px}.chTable td.apScopes code{display:inline-block;margin:2px 4px 2px 0}
.chTable td.apScopes code{overflow-wrap:normal;word-break:keep-all;white-space:nowrap}.chTable td.apScopes{min-width:170px}

/* v5.8 grouped left menu */
.navGroup[data-grp]{cursor:pointer;display:flex;align-items:center;justify-content:space-between;user-select:none}
.navGroup[data-grp]::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s;margin-right:4px}
.navGroup.isFolded::after{transform:rotate(-45deg)}
.navGroup[data-grp]:hover{color:#51607a}
.navItem.navFold{display:none!important}
@media (max-width:760px){.navItem.navFold{display:flex!important}.navGroup[data-grp]{display:none!important}}

/* v6.0 org structure */
.osTabs{margin-bottom:12px}.osTabs small{opacity:.7;margin-left:4px}
.osChk{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:13px}
.osChk input{width:16px;height:16px;flex:none}
.osAct{white-space:nowrap}.osAct .linkBtn{margin-right:10px}
.osWarn{background:#fffaeb;border-color:#fedf89;margin-bottom:12px}
#people_structure .essCard{margin-bottom:12px}
#osAssignDlg textarea{width:100%;box-sizing:border-box}
.osTabs{overflow-x:auto;flex-wrap:nowrap;max-width:100%}.osTabs button{white-space:nowrap}
@media (max-width:760px){.osAct{white-space:normal}}

/* ---- v6.1 Shifts & roster ---- */
.sxDays{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-top:12px}
.sxDay{border:1px solid var(--line,#e4e7ec);border-left:4px solid var(--sxc,#98a2b3);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px;background:var(--card,#fff);position:relative}
.sxDay.today{outline:2px solid var(--brand,#3366ff)}
.sxDay.off{background:var(--soft,#f6f7f9)}
.sxDow{font-size:12px;opacity:.7}.sxDate{font-weight:600}
.sxTag{font-size:11px;font-style:normal;color:var(--brand,#3366ff)}
.sxGridWrap{overflow:auto;max-width:100%;border:1px solid var(--line,#e4e7ec);border-radius:10px}
.sxGrid{border-collapse:collapse;width:100%;font-size:13px}
.sxGrid th,.sxGrid td{border-bottom:1px solid var(--line,#eef0f3);padding:4px;text-align:center}
.sxGrid .sxName{position:sticky;left:0;background:var(--card,#fff);text-align:left;min-width:190px;z-index:1}
.sxName small{display:block;opacity:.65;font-weight:400}
.sxC{cursor:pointer;min-width:38px;font-weight:600;color:var(--sxc,#667085);background:color-mix(in srgb,var(--sxc,#98a2b3) 14%,transparent)}
.sxC.off{background:var(--soft,#f2f4f7);color:#98a2b3}
.sxC.ov{box-shadow:inset 0 0 0 2px var(--brand,#3366ff)}
.sxH.hol{color:#b54708}.sxH.we{opacity:.7}
.sxFill{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0}
.sxInline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sxChk{display:flex;gap:4px;align-items:center}
.sxLegend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px}
.sxLegend i,.sxDot{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--sxc,#98a2b3);vertical-align:middle}
.sxSteps{display:flex;flex-wrap:wrap;gap:4px}
.sxStep{font-style:normal;font-size:12px;padding:2px 7px;border-radius:6px;background:color-mix(in srgb,var(--sxc,#98a2b3) 18%,transparent);color:var(--sxc,#475467)}
.sxStep.off{background:var(--soft,#f2f4f7);color:#98a2b3}
.sxStepRow{display:flex;gap:10px;align-items:center;margin:6px 0}
.sxDet{margin-top:10px}.sxOffT th,.sxOffT td{text-align:center}
.sxOffs{margin-top:12px}
@media (max-width:760px){.sxGrid .sxName{min-width:130px}.sxDays{grid-template-columns:repeat(2,1fr)}}

/* ---- v6.2 Leave rules ---- */
.lv2Box{margin-top:18px;border-top:1px solid var(--line,#e4e7ec);padding-top:12px}
.lv2Box h4{margin:16px 0 6px}
#essLvHint.error,.mute.error{color:#b42318}
#lvxInbox h3{margin:0 0 8px}

.at2List{list-style:none;margin:8px 0;padding:0}.at2List li{padding:4px 0}
[data-at2form="loc"] textarea,[data-at2form="ex"] textarea{width:100%;font:inherit}
