/* Shared admin presentation. Loaded after the styles of lazy sections. */
#adminContentRoot{
  --admin-page:#f6f8f9;
  --admin-card:#fff;
  --admin-ink:#17232d;
  --admin-muted:#63717d;
  --admin-accent:#054c5c;
  --admin-line:#e5eaed;
  --admin-shadow:0 2px 8px rgba(15,35,45,.035);
  --admin-gutter:28px;
  --admin-control:44px;
  background:var(--admin-page);
  color:var(--admin-ink);
}
#adminContentRoot > main{ background:var(--admin-page) !important; min-width:0; }
#adminContentRoot :is(.settingsScroller,.ambScroller,.jobsPage,.analyticsPage){
  box-sizing:border-box;
  padding:28px var(--admin-gutter) calc(28px + var(--safe-bot,0px)) !important;
}
#adminContentRoot .analyticsPage{ max-width:none; }
#adminContentRoot .empTop{ padding:28px var(--admin-gutter) 16px !important; flex-shrink:0; }
#adminContentRoot :is(.adminSectionHeader,.empCockpitTop,.settingsHeader,.jobsHeader,.ambHeader){
  margin:0 0 22px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
#adminContentRoot :is(.adminSectionHeader h1,.empTitle,.paTitle,.settingsTitle,.jobsTitle,.ambTitle,.analyticsHeading h1){
  margin:0 !important;
  color:var(--admin-ink) !important;
  font-size:clamp(26px,2.5vw,34px) !important;
  line-height:1.18 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
  overflow-wrap:anywhere;
}
#adminContentRoot :is(.adminSectionHeader p,.empCockpitTop .empMeta,.paSub,.settingsSub,.jobsSubtitle,.ambSub,.analyticsHeading p){
  max-width:680px;
  margin:8px 0 0 !important;
  color:var(--admin-muted) !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
#adminContentRoot :is(.adminSectionEyebrow,.analyticsEyebrow){
  display:block;
  margin-bottom:6px;
  color:var(--admin-muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#adminContentRoot :is(.dashScroller,#empScroller,#timeScroller,#paScroller,.coursesToolsBar,.coursesScroller){
  padding-left:var(--admin-gutter) !important;
  padding-right:var(--admin-gutter) !important;
}
#adminContentRoot .paHeader{ padding:28px var(--admin-gutter) 16px !important; background:transparent; }
#adminContentRoot :is(.empToolsBar,.timeToolsBar){
  box-sizing:border-box;
  width:100%;
  padding:0 var(--admin-gutter) 8px !important;
}
#adminContentRoot :is(.empToolsBar,.timeToolsBar,.paToolsBar,.coursesToolsBar){
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  min-width:0;
  flex-shrink:0;
}

/* Equal cells and readable values, including the attendance status and switch. */
#adminContentRoot .cockpitCard{
  grid-template-columns:1.25fr repeat(3,minmax(0,1fr)) !important;
  align-items:stretch !important;
  gap:12px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
#adminContentRoot :is(.cockpitCell,.dashCard,.settingsCard,.docsFolderBtn,.jobsMetric,.crsCard,.analyticsKpi,.analyticsPanel){
  box-sizing:border-box;
  min-width:0;
  border:1px solid var(--admin-line) !important;
  border-radius:16px !important;
  background:var(--admin-card) !important;
  box-shadow:var(--admin-shadow) !important;
}
#adminContentRoot :is(.cockpitCell,.jobsMetric){ padding:18px !important; }
#adminContentRoot :is(.jobsMetricLabel,.cockpitCell .metricLabel){
  margin:0 0 8px !important;
  min-height:31px !important;
  color:var(--admin-muted) !important;
  font-size:12px !important;
  line-height:1.3 !important;
  font-weight:600 !important;
  text-transform:none !important;
  letter-spacing:normal !important;
  white-space:normal !important;
}
#adminContentRoot :is(.cockpitCell .companyTitle,.cockpitCell .monthTitle,.jobsMetricValue,.cockpitCell .metricValue){
  max-width:100%;
  min-height:0 !important;
  color:var(--admin-accent) !important;
  -webkit-text-fill-color:var(--admin-accent) !important;
  background:none !important;
  font-size:26px !important;
  line-height:1.25 !important;
  letter-spacing:-.03em !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  overflow:visible !important;
  text-overflow:clip !important;
}
#adminContentRoot :is(.cockpitCell .companyTitle,.cockpitCell .monthTitle){ font-size:22px !important; }
#adminContentRoot .timeBulkToggleRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  width:100%;
  min-width:0;
}
#adminContentRoot .timeBulkStatusValue{ flex:1 1 90px; min-width:0; font-size:13px; line-height:1.45; color:var(--admin-muted); }
#adminContentRoot .timeBulkToggleSwitch{ margin:0; flex-shrink:0; }
#adminContentRoot :is(.dashCardTitle,.settingsCardTitle){
  color:var(--admin-ink) !important;
  font-size:17px !important;
  text-transform:none !important;
  line-height:1.35 !important;
  letter-spacing:-.02em !important;
  font-weight:700 !important;
}
#adminContentRoot :is(.dashCard,.settingsCard){ padding:22px !important; }
#adminContentRoot :is(.dashCardHead,.settingsCardHead){ align-items:center; gap:12px; }
#adminContentRoot :is(.dashCardHeadLeft,.settingsHeaderText,.ambHeader > div){ min-width:0; }
#adminContentRoot .dashLink{ flex-shrink:0; display:inline-flex; align-items:center; min-height:36px; }
#adminContentRoot :is(.dashCard,.settingsCard,.docsFolderBtn):hover{ transform:none !important; box-shadow:var(--admin-shadow) !important; }
#adminContentRoot :is(.cockpitCard,.dashCard)::before{ display:none !important; }
#adminContentRoot :is(.dashGrid,.settingsGrid,.ambGrid){ gap:16px !important; }
#adminContentRoot .dashActions{ gap:10px; margin-top:14px; }
#adminContentRoot .dashUploadBtn{ margin-top:16px; }

/* A single control scale; hidden controls and loading indicators retain their behavior. */
#adminContentRoot :is(.dashActionBtn,.dashUploadBtn,.timePdfBtn,.timeSettingsBtn,.settingsPrimaryBtn,.settingsSecondaryBtn,.ambBtn,.ilpManualEmployeeAddBtn,.analyticsRefresh,.docsActions .pillBtn,.crsBookBtn){
  box-sizing:border-box;
  height:var(--admin-control) !important;
  min-height:var(--admin-control);
  max-width:100%;
  padding:0 14px;
  border-radius:11px !important;
  font-family:inherit;
  font-size:13px !important;
  font-weight:650;
  line-height:1.25;
  gap:8px;
  align-items:center;
  justify-content:center;
  text-align:center;
  box-shadow:none !important;
  transition:background-color .15s ease,border-color .15s ease;
}
#adminContentRoot :is(.dashActionBtn,.dashUploadBtn,.timePdfBtn,.settingsPrimaryBtn,.settingsSecondaryBtn,.ambBtn,.ilpManualEmployeeAddBtn,.analyticsRefresh,.docsActions .pillBtn,.crsBookBtn):not([hidden]){ display:inline-flex; }
#adminContentRoot :is(.dashActionBtn,.dashUploadBtn,.timePdfBtn,.ilpManualEmployeeAddBtn):active{ transform:none !important; }
#adminContentRoot :is(.dashUploadBtn,.timePdfBtn,.settingsPrimaryBtn,.ilpManualEmployeeAddBtn,.analyticsRefresh){
  background:var(--admin-accent);
  color:#fff;
  border:1px solid var(--admin-accent);
}
#adminContentRoot :is(.settingsMiniBtn,.ambFilterBtn){
  box-sizing:border-box;
  min-height:36px;
  height:auto;
  padding:7px 12px;
  border-radius:10px !important;
  font-family:inherit;
  line-height:1.25;
}
#adminContentRoot :is(.dashActionBtn,.dashUploadBtn,.timePdfBtn,.ambBtn,.analyticsRefresh,.docsActions .pillBtn) > svg{ width:18px; height:18px; flex:0 0 18px; }
#adminContentRoot :is(button,a,input,select):focus-visible{ outline:3px solid #72b7be; outline-offset:3px; }
#adminContentRoot button:disabled{ cursor:default; }
#adminContentRoot :is(.empSearchWrap,.timeSearchWrap,.timeMonthWrap){
  box-sizing:border-box;
  height:var(--admin-control) !important;
  min-width:0 !important;
  border:1px solid #dce3e7;
  border-radius:11px;
  background:#fff;
  box-shadow:none !important;
}
#adminContentRoot :is(.empSearchWrap,.timeSearchWrap){ flex:1 1 280px; }
#adminContentRoot :is(.empSearchInput,.timeSearchInput,.timeMonthInput){
  min-width:0 !important;
  width:100%;
  font-family:inherit;
  font-size:14px;
  font-weight:500;
}
#adminContentRoot :is(.empSearchWrap,.timeSearchWrap,.timeMonthWrap):focus-within{ border-color:#4d8e99; outline:3px solid #d9ebed; outline-offset:1px; }
#adminContentRoot .employeeStatusFilter{
  box-sizing:border-box;
  height:var(--admin-control);
  min-height:var(--admin-control) !important;
  padding:3px;
  border:1px solid #dce3e7;
  border-radius:11px;
  box-shadow:none;
}
#adminContentRoot .employeeStatusFilterBtn{ height:36px !important; min-height:0; padding:0 12px; font-size:12px; }
#adminContentRoot .timeToolsRight{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-width:0; max-width:100%; }
#adminContentRoot .timeMonthWrap{ flex:1 1 184px; width:184px; padding:0 10px; }
#adminContentRoot #btnTimeSettings{ flex:0 0 var(--admin-control); width:var(--admin-control); height:var(--admin-control) !important; padding:0; border-radius:11px; }
#adminContentRoot .timePdfBtn{ flex-shrink:0; }
#adminContentRoot .paTabs{ gap:8px; }
#adminContentRoot .paTabBtn{ box-sizing:border-box; min-height:var(--admin-control); height:auto; padding:10px 14px; border-radius:11px; }
#adminContentRoot .paTabBtn.isActive{ background:#e7f1f2; color:var(--admin-accent); }

/* Settings, analytics and secondary sections share the same spacing. */
#adminContentRoot .settingsGrid{ align-items:start; }
#adminContentRoot .settingsRows{ gap:16px; }
#adminContentRoot .settingsRow{ gap:12px; align-items:center; }
#adminContentRoot .settingsRowText{ flex:1 1 auto; min-width:0; }
#adminContentRoot .settingsValue{ max-width:100%; }
#adminContentRoot .settingsLabel{ white-space:normal; line-height:1.4; }
#adminContentRoot :is(.settingsMiniBtn,.cedolyAccountSecurityAction){ flex-shrink:0; }
#adminContentRoot :is(.settingsHeader,.ambHeader){ align-items:flex-start; gap:16px; }
#adminContentRoot .ambHeader{ flex-wrap:wrap; }
#adminContentRoot .ambHeader > div{ flex:1 1 280px; }
#adminContentRoot .ambBtn{ flex-shrink:0; }
#adminContentRoot .analyticsHeader{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(390px,1fr); align-items:end; gap:20px; }
#adminContentRoot .analyticsHeading{ flex:1 1 320px; }
#adminContentRoot .analyticsFilters{ flex:1 1 420px; display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
#adminContentRoot .analyticsField{ flex:1 1 140px; min-width:0; }
#adminContentRoot .analyticsField :is(input,select){ min-width:0; width:100%; height:var(--admin-control); font-family:inherit; font-size:13px; }
#adminContentRoot .analyticsRefresh{ flex:0 0 auto; }
#adminContentRoot .docsActions{ display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:16px; }
#adminContentRoot .docsFolderBtn{ padding:20px; }
#adminContentRoot .docsFolderBtn:hover{ border-color:#99bcc3 !important; background:#fbfdfd !important; }
#adminContentRoot table.adminDataTable{ border-color:var(--admin-line) !important; box-shadow:var(--admin-shadow) !important; }
#adminContentRoot table.adminDataTable thead th{ background:#f1f5f6 !important; color:#596773 !important; }

#adminContentRoot #settingsView :is(#btnManageSubscription,.settingsPrimaryBtnCompact,#btnSharedAdminAdd){
  height:var(--admin-control) !important;
  min-height:var(--admin-control);
  border-radius:11px !important;
  background:var(--admin-accent) !important;
  box-shadow:none !important;
}
#adminContentRoot .docsFolderGrid{ gap:16px; }

/* Navigation keeps its existing dimensions and mobile drawer behavior. */
#adminShellRoot .sideMenu{ gap:4px; }
#adminShellRoot .sideNav .navItem{ min-height:44px; border-radius:11px; }
#adminShellRoot .sideNav .navItem:is(.navItemActive,[aria-current="page"]){ background:#eaf3f4 !important; color:#054c5c !important; }
#adminShellRoot .sideNav .navItem:focus-visible{ outline:3px solid #72b7be; outline-offset:2px; }

@media(max-width:1100px){
  #adminContentRoot{ --admin-gutter:24px; }
  #adminContentRoot .cockpitCard{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  #adminContentRoot .analyticsHeader{ grid-template-columns:minmax(0,1fr); gap:18px; }
  #adminContentRoot .analyticsFilters{ flex-basis:100%; }
}
@media(max-width:700px){
  #adminContentRoot{ --admin-gutter:16px; }
  #adminContentRoot :is(.settingsScroller,.ambScroller,.jobsPage,.analyticsPage,.empTop,.paHeader){ padding-top:22px !important; }
  #adminContentRoot :is(.adminSectionHeader,.empCockpitTop,.settingsHeader,.ambHeader){ margin-bottom:18px !important; }
  #adminContentRoot .cockpitCard{ gap:10px !important; }
  #adminContentRoot :is(.cockpitCell,.jobsMetric){ padding:14px !important; }
  #adminContentRoot :is(.cockpitCell .companyTitle,.cockpitCell .monthTitle){ font-size:19px !important; }
  #adminContentRoot :is(.cockpitCell .metricValue,.jobsMetricValue){ font-size:24px !important; }
  #adminContentRoot :is(.dashCard,.settingsCard){ padding:18px !important; }
  #adminContentRoot :is(.empSearchWrap,.timeSearchWrap){ flex-basis:100%; }
  #adminContentRoot :is(.empSearchInput,.timeSearchInput,.timeMonthInput,.analyticsField input,.analyticsField select){ font-size:16px; }
  #adminContentRoot .empToolsBar{ gap:10px; }
  #adminContentRoot .employeeStatusFilter{ flex:1 1 auto; }
  #adminContentRoot .ilpManualEmployeeAddBtn{ flex:0 0 var(--admin-control); width:var(--admin-control); padding:0; }
  #adminContentRoot .ilpManualEmployeeAddBtn .empAddBtnLabel{ display:none !important; }
  #adminContentRoot .timeToolsRight{ display:grid; grid-template-columns:minmax(0,1fr) var(--admin-control); width:100%; gap:10px; }
  #adminContentRoot .timeMonthWrap{ width:100%; }
  #adminContentRoot .timePdfBtn{ grid-column:1 / -1; width:100%; }
  #adminContentRoot #settingsView .settingsRow{ display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center !important; }
  #adminContentRoot #settingsView .settingsRowText{ width:auto !important; }
  #adminContentRoot #settingsView .settingsValue{ white-space:normal; overflow-wrap:anywhere; }
  #adminContentRoot .settingsRowText{ flex-basis:160px; }
  #adminContentRoot .ambHeader > div{ flex-basis:100%; }
  #adminContentRoot .analyticsFilters{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  #adminContentRoot .analyticsRefresh{ grid-column:1 / -1; width:100%; }
}
@media(max-width:380px){
  #adminContentRoot{ --admin-gutter:14px; }
  #adminContentRoot .analyticsFilters{ grid-template-columns:minmax(0,1fr); }
}
/* Let short screens scroll the section instead of squeezing the table to zero. */
@media(max-width:700px),(max-height:650px){
  #adminContentRoot > :is(#dashboardView,#employeesView,#timbratureView,#coursesView,#documentsView,#absencesView){
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    scroll-padding-block:16px;
  }
  #adminContentRoot > main > :is(.empScroller,.dashScroller,.paScroller){
    flex:0 0 auto;
    height:auto !important;
    min-height:200px;
  }
}
@media(prefers-reduced-motion:reduce){
  #adminContentRoot :is(button,a){ transition:none !important; }
}
