/* ChaloKaamPe v46.12.9 — responsive and runtime hardening
   Loaded after every surface stylesheet so laptop, tablet and mobile layouts
   share one final safety layer without changing business logic. */

:root{
  --ckp-page-gutter:clamp(12px,2.2vw,32px);
  --ckp-content-max:1480px;
  --ckp-laptop-content:1240px;
  --ckp-touch:44px;
}

html{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas,iframe{max-width:100%;height:auto}
img,video{object-fit:contain}
main,section,article,aside,header,footer,nav,form,fieldset,details,summary,div{min-width:0}
pre,code,.log-viewer,.code-block{max-width:100%;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
p,li,dd,dt,td,th,label,a,button,strong,small,span{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;min-width:0}
input,select,textarea{font-size:16px}
button,.btn,.primary,.secondary,.danger,[role="button"]{min-height:var(--ckp-touch)}
[hidden]{display:none!important}

/* Shared content containment */
.container,.content-inner,.admin-content,.employer-content,.portal-content,.worker-desktop-main,.app-content,.prelaunch-container{
  width:100%;
  max-width:var(--ckp-content-max);
  margin-inline:auto;
}
.table-wrap,.responsive-table,.admin-table-wrap,.employer-table-wrap,.worker-table-wrap{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}
table{max-width:100%}
.dialog,.modal,.modal-card,.sheet-card,[role="dialog"]{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
.actions,.form-actions,.page-actions,.contextual-tools,.section-actions,.filter-actions{max-width:100%;flex-wrap:wrap}
.actions>* ,.form-actions>* ,.page-actions>* ,.contextual-tools>*{min-width:0}

/* Public, Admin and Employer desktop/laptop shells */
@media (min-width:1024px) and (max-width:1439px){
  .container{max-width:var(--ckp-laptop-content);padding-left:22px;padding-right:22px}
  .hero{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:18px}
  .grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-content,.employer-content{padding-left:22px!important;padding-right:22px!important}
  .admin-shell{grid-template-columns:248px minmax(0,1fr)!important}
  .admin-sidebar{width:248px!important}
  .employer-shell{grid-template-columns:248px minmax(0,1fr)!important}
  .employer-sidebar{width:248px!important}
  .admin-workspace-header,.employer-workspace-header{padding-left:18px!important;padding-right:18px!important}
}

@media (min-width:821px) and (max-width:1100px){
  .grid-3,.grid-4,.admin-content .grid-3,.admin-content .grid-4,.employer-content .grid-3,.employer-content .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .form-row,.form-grid,.filterbar,.responsive-filter{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .hero{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}
  .hero h1{font-size:clamp(38px,5vw,58px)}
  .admin-user-copy,.employer-user-copy{display:none!important}
}

@media (max-width:820px){
  body{min-width:320px}
  .container,.admin-content,.employer-content,.portal-content,.worker-desktop-main,.app-content{padding-left:12px!important;padding-right:12px!important}
  .hero,.grid-2,.grid-3,.grid-4,.form-row,.form-grid,.filterbar,.responsive-filter,.split-grid,.detail-grid,.workspace-grid,.workspace-grid-forms{grid-template-columns:1fr!important}
  .section-title,.section-head,.page-header,.worker-page-header{align-items:flex-start!important;flex-direction:column!important}
  .section-title>.actions,.section-head>.actions,.page-header>.actions,.worker-page-actions{width:100%}
  .card,.app-card,.hero-card,.glass-card{max-width:100%}
  .topbar{width:100%;align-items:center!important}
  .topnav{max-width:62vw;overflow-x:auto;white-space:nowrap}
  .actions>.btn,.actions>a.btn,.actions>button,.form-actions>.btn,.form-actions>button{flex:1 1 160px}
  .table-wrap table,.admin-content table,.employer-content table{min-width:680px}
}

@media (max-width:560px){
  :root{--ckp-page-gutter:10px}
  .container,.admin-content,.employer-content,.portal-content,.worker-desktop-main,.app-content{padding-left:10px!important;padding-right:10px!important}
  .card,.app-card,.hero-card,.glass-card,.worker-panel{padding:14px!important;border-radius:16px!important}
  .actions,.form-actions,.page-actions,.contextual-tools{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .actions>* ,.actions form,.actions form button,.form-actions>* ,.page-actions>* ,.contextual-tools>*{width:100%!important}
  .section-title h1,.page-header h1,.worker-page-header h1{font-size:24px!important;line-height:1.15}
  .table-wrap table,.admin-content table,.employer-content table{min-width:640px}
}

/* Admin */
.admin-workspace,.employer-workspace{min-width:0}
.admin-page-heading,.employer-page-heading{min-width:0}
.admin-page-heading strong,.employer-page-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-header-actions,.employer-header-actions{min-width:0;flex-wrap:nowrap}
@media (max-width:720px){
  .admin-workspace-header,.employer-workspace-header{padding:0 10px!important;gap:8px!important}
  .admin-page-heading strong,.employer-page-heading strong{font-size:15px!important;max-width:48vw}
  .admin-user-chip,.employer-user-chip{max-width:46px!important;padding:0!important}
  .admin-user-copy,.employer-user-copy{display:none!important}
  .admin-content .stat-grid,.admin-content .metric-grid,.admin-content .grid-4,.employer-content .stat-grid,.employer-content .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:340px){
  .admin-content .stat-grid,.admin-content .metric-grid,.admin-content .grid-4,.employer-content .stat-grid,.employer-content .metric-grid{grid-template-columns:1fr!important}
}

/* Recruiter / Owner / Platform browser workspaces */
.portal-layout,.portal-main,.portal-workspace{min-width:0;max-width:100%}
.portal-content{max-width:none}
.portal-topbar{min-width:0}
.portal-heading,.portal-actions,.portal-user{min-width:0}
.portal-heading strong,.portal-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-content .table-wrap{max-width:100%}
@media (min-width:901px) and (max-width:1279px){
  :root{--sidebar-width:238px}
  .portal-sidebar{width:238px;padding-left:12px;padding-right:12px}
  .portal-layout{grid-template-columns:238px minmax(0,1fr)}
  .portal-content{padding:22px}
  .content-inner{width:100%;max-width:var(--ckp-laptop-content)}
  .portal-user-copy{display:none}
  .portal-layout .metric-grid,.portal-layout .kpi,.portal-layout .metric-grid-five,.portal-layout .metric-grid-v40{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .portal-layout .command-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .portal-layout .priority-grid,.portal-layout .quick-action-grid,.portal-layout .more-grid,.portal-layout .action-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:900px){
  .portal-layout{display:block!important}
  .portal-main{grid-column:auto!important;width:100%!important}
  .portal-topbar{grid-template-columns:auto minmax(0,1fr) auto!important;min-height:64px!important;padding:10px 12px!important}
  .portal-actions{gap:6px!important}
  .portal-user-copy{display:none!important}
  .portal-content{padding:14px 12px 90px!important}
  .content-inner{width:100%!important;max-width:100%!important}
  .portal-sidebar{max-width:min(88vw,320px)!important}
  .portal-layout .metric-grid,.portal-layout .kpi,.portal-layout .metric-grid-five,.portal-layout .metric-grid-v40,.portal-layout .command-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-layout .grid2,.portal-layout .grid3,.portal-layout .priority-grid,.portal-layout .quick-action-grid,.portal-layout .more-grid,.portal-layout .action-card-grid,.portal-layout .pipeline-context{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-layout .pipeline-stages{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (max-width:620px){
  .portal-heading small{display:none}
  .portal-heading strong{font-size:16px!important}
  .portal-actions .secondary:not(.notification-trigger),.portal-actions .portal-user{display:none!important}
  .portal-layout .metric-grid,.portal-layout .kpi,.portal-layout .metric-grid-five,.portal-layout .metric-grid-v40,.portal-layout .command-metrics,.portal-layout .pipeline-stages{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .portal-layout .grid2,.portal-layout .grid3,.portal-layout .priority-grid,.portal-layout .quick-action-grid,.portal-layout .more-grid,.portal-layout .action-card-grid,.portal-layout .pipeline-context{grid-template-columns:1fr!important}
  .portal-layout .job-card,.portal-layout .candidate-card,.portal-layout .record-card,.portal-layout .ticket-card{grid-template-columns:1fr!important}
  .portal-content .table-wrap table{min-width:680px}
  .floating-action{right:14px!important;bottom:84px!important}
}

/* Candidate desktop workspace */
.worker-desktop-body,.worker-auth-body{max-width:100%}
.worker-desktop-header,.worker-desktop-main,.candidate-desktop-shell,.candidate-desktop-content,.candidate-desktop-sidebar{min-width:0;max-width:100%}
.worker-desktop-main{max-width:1580px;margin-inline:auto}
.worker-panel,.worker-job-card,.worker-list-item{overflow-wrap:anywhere}
@media (min-width:821px) and (max-width:1279px){
  .worker-desktop-main{padding:18px!important}
  .candidate-desktop-shell{grid-template-columns:220px minmax(0,1fr)!important;gap:16px!important}
  .worker-desktop-header{grid-template-columns:220px minmax(180px,1fr) auto!important}
  .worker-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .worker-three-cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .worker-two-col,.worker-detail-layout,.worker-two-column-layout{grid-template-columns:minmax(0,1fr) 300px!important}
  .worker-filter-grid{grid-template-columns:repeat(3,minmax(135px,1fr))!important}
}
@media (max-width:820px){
  .candidate-desktop-shell{grid-template-columns:1fr!important}
  .candidate-desktop-sidebar{position:static!important;width:100%!important;max-height:none!important}
  .candidate-desktop-nav{display:flex!important;overflow-x:auto!important;scrollbar-width:none}
  .candidate-desktop-nav::-webkit-scrollbar{display:none}
  .candidate-desktop-nav a{flex:0 0 auto!important;white-space:nowrap}
  .worker-two-col,.worker-detail-layout,.worker-two-column-layout,.worker-three-cols,.worker-equal-cols,.worker-auth-shell{grid-template-columns:1fr!important}
  .worker-filter-grid,.worker-form-grid,.worker-benefit-grid,.worker-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .worker-job-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  .worker-filter-grid,.worker-form-grid,.worker-benefit-grid,.worker-info-grid,.worker-stat-grid,.worker-status-grid,.worker-choice-grid{grid-template-columns:1fr!important}
  .worker-page-actions,.worker-form-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .worker-page-actions>*,.worker-form-actions>*{width:100%!important}
  .candidate-desktop-nav a{min-height:42px!important}
}

/* Candidate and Recruiter PWA: mobile app on phones, proper workspace on laptop */
body.candidate-pwa-body,body.recruiter-pwa-body{width:100%;max-width:520px;min-height:100dvh;margin:0 auto}
body.candidate-pwa-body .app-screen,body.recruiter-pwa-body .app-screen{min-width:0;max-width:100%}
@media (min-width:700px) and (max-width:999px){
  body.candidate-pwa-body,body.recruiter-pwa-body{max-width:760px;margin:20px auto;border-radius:28px;overflow:hidden;box-shadow:0 24px 80px rgba(15,23,42,.2)}
  body.candidate-pwa-body .app-content,body.recruiter-pwa-body .app-content{padding-left:22px!important;padding-right:22px!important}
  body.candidate-pwa-body .grid2,body.recruiter-pwa-body .grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.candidate-pwa-body .grid3,body.recruiter-pwa-body .grid3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media (min-width:1000px){
  html:has(body.candidate-pwa-body),html:has(body.recruiter-pwa-body){background:#e9eef6}
  body.candidate-pwa-body,body.recruiter-pwa-body{
    max-width:1180px;
    min-height:calc(100dvh - 40px);
    margin:20px auto;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 26px 90px rgba(15,23,42,.18);
    position:relative;
  }
  body.candidate-pwa-body .app-screen,body.recruiter-pwa-body .app-screen{
    min-height:calc(100dvh - 40px);
    padding-left:112px!important;
    padding-right:24px!important;
    padding-bottom:28px!important;
  }
  body.candidate-pwa-body .app-content,body.recruiter-pwa-body .app-content{
    width:100%;
    max-width:1040px;
    margin-inline:auto;
    padding:20px 0 34px!important;
  }
  body.candidate-pwa-body .app-topbar,body.recruiter-pwa-body .app-topbar{
    position:sticky;
    top:0;
    z-index:18;
    margin:0 -24px 16px -112px;
    padding:14px 24px 14px 124px!important;
    border-bottom:1px solid rgba(255,255,255,.12);
    backdrop-filter:blur(18px);
  }
  body.candidate-pwa-body .app-tabbar,body.recruiter-pwa-body .app-tabbar{
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    right:auto!important;
    transform:none!important;
    width:92px!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:8px!important;
    padding:18px 10px!important;
    border-top:0!important;
    border-right:1px solid #e5eaf2!important;
    border-radius:0!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:8px 0 26px rgba(15,23,42,.08)!important;
  }
  body.candidate-pwa-body .app-tabbar a,body.recruiter-pwa-body .app-tabbar a{
    width:100%!important;
    min-height:66px!important;
    display:grid!important;
    place-items:center!important;
    align-content:center!important;
    padding:8px 4px!important;
  }
  body.candidate-pwa-body .app-tabbar a small,body.recruiter-pwa-body .app-tabbar a small{font-size:10px!important;line-height:1.15}
  body.candidate-pwa-body .app-tabbar a span,body.recruiter-pwa-body .app-tabbar a span{font-size:22px!important}
  body.candidate-pwa-body .grid2,body.recruiter-pwa-body .grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.candidate-pwa-body .grid3,body.recruiter-pwa-body .grid3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  body.candidate-pwa-body .kpi,body.recruiter-pwa-body .kpi,body.candidate-pwa-body .metric-grid,body.recruiter-pwa-body .metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.candidate-pwa-body .candidate-home-job-strip{grid-auto-columns:minmax(280px,32%)!important}
  body.candidate-pwa-body .sheet-card,body.recruiter-pwa-body .sheet-card{width:min(560px,calc(100% - 32px))!important;border-radius:24px!important;margin:16px auto!important}
  body.candidate-pwa-body .floating-action,body.recruiter-pwa-body .floating-action{right:32px!important;bottom:32px!important}
}
@media (max-width:430px){
  body.candidate-pwa-body,body.recruiter-pwa-body{max-width:100%;margin:0;border-radius:0;box-shadow:none}
  body.candidate-pwa-body .app-content,body.recruiter-pwa-body .app-content{padding-left:10px!important;padding-right:10px!important}
  body.candidate-pwa-body .grid2,body.candidate-pwa-body .grid3,body.recruiter-pwa-body .grid2,body.recruiter-pwa-body .grid3{grid-template-columns:1fr!important}
  body.candidate-pwa-body .actions,body.recruiter-pwa-body .actions{display:grid!important;grid-template-columns:1fr!important}
  body.candidate-pwa-body .actions>*,body.recruiter-pwa-body .actions>*{width:100%!important}
}

/* Pre-launch campaign pages */
.prelaunch-page-body{min-width:320px}
.prelaunch-page-body .prelaunch-container{width:min(1180px,calc(100% - 32px));max-width:1180px}
@media (min-width:900px) and (max-width:1279px){
  .prelaunch-page-body .prelaunch-container{width:min(1080px,calc(100% - 40px))}
  .prelaunch-page-body .prelaunch-hero{grid-template-columns:minmax(0,1fr) minmax(340px,.82fr)!important;gap:24px!important}
  .prelaunch-page-body .prelaunch-feature-grid,.prelaunch-page-body .prelaunch-role-grid{gap:16px!important}
}
@media (max-width:899px){
  .prelaunch-page-body .prelaunch-container{width:min(720px,calc(100% - 24px))}
  .prelaunch-page-body .prelaunch-hero{grid-template-columns:1fr!important}
  .prelaunch-page-body .prelaunch-summary-card{max-width:none!important}
  .prelaunch-page-body .prelaunch-role-grid,.prelaunch-page-body .prelaunch-feature-grid{grid-template-columns:1fr!important}
}
@media (max-width:520px){
  .prelaunch-page-body .prelaunch-container{width:calc(100% - 20px)}
  .prelaunch-page-body .prelaunch-header-inner{padding-left:0!important;padding-right:0!important}
  .prelaunch-page-body .prelaunch-header-nav{gap:4px!important}
  .prelaunch-page-body .prelaunch-header-nav a{padding:8px 9px!important;font-size:11px!important}
  .prelaunch-page-body .prelaunch-hero-copy h1{font-size:clamp(34px,11vw,48px)!important}
  .prelaunch-page-body .prelaunch-primary-actions,.prelaunch-page-body .prelaunch-dual-action{display:grid!important;grid-template-columns:1fr!important}
  .prelaunch-page-body .prelaunch-primary-actions a,.prelaunch-page-body .prelaunch-dual-action a{width:100%!important}
  .prelaunch-page-body .prelaunch-proof-row{display:grid!important;grid-template-columns:1fr!important}
  .prelaunch-page-body .prelaunch-availability-row{grid-template-columns:auto minmax(0,1fr)!important}
  .prelaunch-page-body .prelaunch-availability-row .prelaunch-tag{grid-column:2!important;justify-self:start!important}
}

/* Landscape phones and short laptop screens */
@media (max-height:720px) and (min-width:821px){
  .portal-topbar,.admin-workspace-header,.employer-workspace-header{position:sticky;top:0}
  .portal-content,.admin-content,.employer-content{padding-top:16px!important}
  .hero-card,.saas-hero{padding-top:18px!important;padding-bottom:18px!important}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Minimum interactive target size across compact headers. */
.admin-header-button,.employer-header-button,.admin-menu-button,.employer-menu-button,
.portal-menu-btn,.icon-btn,.notification-trigger{min-width:44px!important;min-height:44px!important}
.btn,.primary,.secondary,.danger,.circle-btn{min-height:44px!important}
.admin-user-chip,.employer-user-chip{min-height:44px!important}


/* v46.12.6.5 — minimise swipe-only UI.
   Cards, navigation, filters and workflow stages wrap into visible grids.
   Horizontal scrolling remains only for genuinely wide tables/charts. */

/* Public/mobile header navigation should wrap instead of becoming a swipe strip. */
@media (max-width:820px){
  .topnav{
    max-width:100%!important;
    overflow:visible!important;
    white-space:normal!important;
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    gap:6px!important;
  }
  .topnav a,.topnav button{flex:0 1 auto!important;white-space:normal!important}
}

/* Filter chips and segmented controls remain fully visible. */
.chips,.segmented{
  flex-wrap:wrap!important;
  overflow-x:visible!important;
  overflow-y:visible!important;
  scroll-snap-type:none!important;
  overscroll-behavior:auto!important;
}
.chips>*,.segmented>*{flex:0 1 auto!important;white-space:normal!important}

/* Candidate App recommended jobs: visible grid, not swipe carousel. */
.candidate-home-job-strip{
  display:grid!important;
  grid-auto-flow:row!important;
  grid-auto-columns:auto!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  overflow:visible!important;
  padding:2px 0 10px!important;
  scroll-snap-type:none!important;
  scrollbar-width:auto!important;
}
.candidate-home-job{min-width:0!important;width:auto!important;scroll-snap-align:none!important}
@media (max-width:899px){
  .candidate-home-job-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:560px){
  .candidate-home-job-strip{grid-template-columns:1fr!important}
}

/* Candidate desktop mobile fallback: wrap navigation instead of side-scrolling. */
@media (max-width:820px){
  .candidate-desktop-nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    overflow:visible!important;
    width:100%!important;
  }
  .candidate-desktop-nav a{
    min-width:0!important;
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }
}
@media (max-width:520px){
  .candidate-desktop-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Worker job recommendations: vertical cards on phones, two-column on tablets. */
@media (max-width:820px){
  .worker-job-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:2px 0 10px!important;
    scroll-snap-type:none!important;
  }
  .worker-job-grid .worker-job-card{
    flex:auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    scroll-snap-align:none!important;
  }
}
@media (max-width:560px){
  .worker-job-grid{grid-template-columns:1fr!important}
}

/* Recruitment pipeline/status steps remain visible without swiping. */
.pipeline{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  overflow:visible!important;
  padding:4px 0 10px!important;
}
.pipeline .step{min-width:0!important;width:auto!important}
@media (max-width:820px){.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:420px){.pipeline{grid-template-columns:1fr!important}}

/* Keep only data-heavy surfaces horizontally scrollable. */
.table-wrap,.responsive-table,.admin-table-wrap,.employer-table-wrap,.worker-table-wrap,
.data-scroll,.bar-chart,.log-viewer,.code-block,pre{
  touch-action:pan-x pan-y;
}


/* v46.12.9 — runtime, branding and placement stability */

/* Never allow a valid packaged or uploaded logo to collapse or render invisibly. */
.has-brand-image,
.brand-mark.has-brand-image,
.worker-brand-mark.has-brand-image,
.portal-brand-mark.has-brand-image,
.logo-mark.has-brand-image,
.employer-logo.has-brand-image{
  flex-shrink:0!important;
  opacity:1!important;
  visibility:visible!important;
}
.has-brand-image>img,
.brand-mark.has-brand-image>img,
.worker-brand-mark.has-brand-image>img,
.portal-brand-mark.has-brand-image>img,
.logo-mark.has-brand-image>img,
.employer-logo.has-brand-image>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
}
.worker-brand-mark.has-brand-image,
.portal-brand-mark.has-brand-image{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  padding:3px!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.admin-sidebar-brand .brand-mark.has-brand-image,
.employer-brand-link .employer-logo.has-brand-image{
  justify-content:center!important;
  object-position:center!important;
}

/* Keep all primary workspace columns and headers inside their available width. */
.admin-shell,.employer-shell,.portal-layout,.candidate-desktop-shell,
.admin-workspace,.employer-workspace,.portal-main,.portal-workspace,
.admin-content,.employer-content,.portal-content,.worker-desktop-main{
  min-width:0!important;
  max-width:100%!important;
}
.admin-workspace-header,.employer-workspace-header,.portal-topbar,.worker-desktop-header{
  width:100%!important;
  max-width:100%!important;
}
.admin-header-actions,.employer-header-actions,.portal-actions,.worker-desktop-header-actions{
  flex:0 0 auto!important;
}
.admin-page-heading,.employer-page-heading,.portal-heading,.worker-desktop-header-title{
  flex:1 1 auto!important;
  min-width:0!important;
}

/* Forms and filter controls use predictable widths rather than overflowing cards. */
.form,.form-grid,.form-row,.filterbar,.responsive-filter,.worker-form-grid,.worker-filter-grid{
  width:100%!important;
  max-width:100%!important;
}
.form label,.form-grid label,.form-row label,.worker-form-grid label{
  min-width:0!important;
}
.form input,.form select,.form textarea,
.form-grid input,.form-grid select,.form-grid textarea,
.form-row input,.form-row select,.form-row textarea,
.worker-form-grid input,.worker-form-grid select,.worker-form-grid textarea{
  width:100%!important;
  max-width:100%!important;
}
input[type="file"]{overflow:hidden;text-overflow:ellipsis}

/* Cards and records must not overlap fixed actions or spill long values. */
.card,.app-card,.worker-panel,.worker-job-card,.job-card,.candidate-card,.record-card,.ticket-card,
.metric-card,.stat-card,.dashboard-card,.settings-card{
  position:relative;
  min-width:0!important;
  max-width:100%!important;
}
.card>* ,.app-card>* ,.worker-panel>* ,.worker-job-card>* ,.job-card>*{
  min-width:0;
}

/* Data tables remain usable without forcing the entire page wider. */
.table-wrap,.responsive-table,.admin-table-wrap,.employer-table-wrap,.worker-table-wrap{
  display:block!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-gutter:stable;
}
.table-wrap table,.responsive-table table,.admin-table-wrap table,.employer-table-wrap table,.worker-table-wrap table{
  width:100%!important;
  border-collapse:collapse;
}
th,td{vertical-align:middle}

/* Mobile workspace headers retain the title and essential actions without overlap. */
@media (max-width:720px){
  .admin-workspace-header,.employer-workspace-header,.portal-topbar{
    min-height:62px!important;
    height:auto!important;
  }
  .admin-page-heading strong,.employer-page-heading strong,.portal-heading strong{
    max-width:none!important;
    white-space:nowrap!important;
  }
  .admin-header-actions,.employer-header-actions,.portal-actions{gap:5px!important}
  .admin-header-button,.employer-header-button,.portal-menu-btn,.notification-trigger{
    min-width:42px!important;
    width:42px!important;
    min-height:42px!important;
    height:42px!important;
  }
  .worker-desktop-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:10px 12px!important;
  }
  .worker-desktop-brand{min-width:0!important;max-width:100%!important}
  .worker-desktop-brand-copy{min-width:0!important}
  .worker-desktop-brand-copy strong,.worker-desktop-brand-copy small{
    display:block!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .worker-desktop-header-title{display:none!important}
  .worker-desktop-header-actions{justify-content:flex-end!important;flex-wrap:wrap!important}
  .worker-desktop-header-actions>a:not(.is-primary):not(.notification-trigger):not(.worker-account-chip){display:none!important}
}

@media (max-width:560px){
  .brand{min-width:0!important;max-width:62vw!important}
  .brand>span:last-child{min-width:0!important}
  .brand>span:last-child strong,.brand>span:last-child small{
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .worker-account-chip b{display:none!important}
  .worker-account-chip{padding:4px!important;min-width:44px!important}
  .modal,.dialog,.modal-card,.sheet-card,[role="dialog"]{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
  }
}


/* v46.12.12 — sidebar geometry and mobile drawer normalization */
.admin-sidebar,.employer-sidebar,.portal-sidebar{display:flex!important;flex-direction:column!important;height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;overscroll-behavior:contain}
.admin-sidebar-head,.employer-sidebar-brand,.portal-sidebar-head{flex:0 0 auto}
.admin-sidebar-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.10)}
.portal-sidebar-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.10)}.portal-sidebar-head .portal-brand{min-width:0;border-bottom:0;padding-bottom:12px}.portal-sidebar-close{display:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.09);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.admin-sidebar-head .admin-sidebar-brand{min-width:0;flex:1;border-bottom:0}.admin-sidebar-close{display:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(255,255,255,.09);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.admin-nav,.employer-sidebar-nav,.portal-nav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(148,163,184,.48) transparent}
.admin-sidebar-footer,.employer-sidebar-footer,.portal-sidebar-footer{flex:0 0 auto!important;margin-top:0!important;background:inherit}
.admin-nav-link,.employer-nav-link,.portal-nav a{min-width:0}.admin-nav-link>span:last-child,.employer-nav-label,.portal-nav a>span:last-child{min-width:0;overflow-wrap:anywhere}
.admin-nav-link.active,.employer-nav-link.active,.portal-nav a.active{scroll-margin-block:88px}
body.admin-menu-open,body.employer-menu-open,body.nav-open{overflow:hidden}
@media(min-width:1101px){.admin-shell{grid-template-columns:264px minmax(0,1fr)!important}.admin-sidebar{width:264px!important}}
@media(max-width:1100px){.admin-sidebar-close{display:grid;place-items:center}.admin-sidebar,.employer-sidebar{box-shadow:24px 0 60px rgba(2,6,23,.34)!important}.admin-menu-backdrop,.employer-menu-backdrop{backdrop-filter:blur(2px)}}
@media(max-width:900px){.portal-sidebar-close{display:grid;place-items:center}.portal-sidebar{box-shadow:24px 0 60px rgba(2,6,23,.34)!important}.portal-overlay{backdrop-filter:blur(2px)}}
.candidate-desktop-sidebar{overflow:hidden!important}.candidate-desktop-nav{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:2px}.candidate-desktop-nav a{min-width:0}.candidate-desktop-nav a b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:820px){.candidate-desktop-sidebar{padding:10px!important;border-radius:16px!important}.candidate-desktop-nav{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important}.candidate-desktop-nav a{display:grid!important;place-items:center!important;align-content:center!important;min-height:66px!important;padding:8px 5px!important;text-align:center!important;white-space:normal!important}.candidate-desktop-nav a>span{display:block!important;font-size:18px!important}.candidate-desktop-nav a b{font-size:10px!important;line-height:1.15!important;white-space:normal!important;overflow:visible!important}.candidate-desktop-user,.candidate-desktop-sidebar-footer{display:none!important}}
@media(max-width:520px){.candidate-desktop-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important}.candidate-desktop-nav a{min-height:62px!important}}
@media(max-width:360px){.candidate-desktop-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* v46.12.13 final shell lock — reserve sidebar space in the shell itself.
   This prevents any page-level width, grid, sticky header or long table from
   moving the workspace underneath/above the fixed navigation column. */
body.admin-workspace-body,
body.employer-workspace-body,
body.workspace-recruiter,
body.workspace-owner,
body.workspace-platform{
  overflow-x:hidden!important;
}
.admin-shell,.employer-shell,.portal-layout{
  position:relative!important;
  width:100%!important;
  max-width:100vw!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.admin-workspace,.employer-workspace,.portal-main{
  position:relative!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-x:clip!important;
}
.admin-content,.employer-content,.portal-content{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

@media (min-width:1101px){
  body.admin-workspace-body{--ckp-sidebar-width:264px}
  .admin-shell{
    display:block!important;
    min-height:100vh!important;
    padding-left:var(--ckp-sidebar-width)!important;
  }
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:100!important;
    width:var(--ckp-sidebar-width)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    transform:none!important;
  }
  .admin-workspace{
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
  }
}

@media (min-width:1041px){
  body.employer-workspace-body{--ckp-sidebar-width:264px}
  .employer-shell{
    display:block!important;
    min-height:100vh!important;
    padding-left:var(--ckp-sidebar-width)!important;
  }
  .employer-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:100!important;
    width:var(--ckp-sidebar-width)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    transform:none!important;
  }
  .employer-workspace{
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
  }
}

@media (min-width:901px){
  body.workspace-recruiter,
  body.workspace-owner,
  body.workspace-platform{--ckp-sidebar-width:var(--sidebar-width,272px)}
  .portal-layout{
    display:block!important;
    min-height:100vh!important;
    padding-left:var(--ckp-sidebar-width)!important;
  }
  .portal-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:100!important;
    width:var(--ckp-sidebar-width)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    transform:none!important;
  }
  .portal-main{
    grid-column:auto!important;
    width:100%!important;
    min-height:100vh!important;
    margin:0!important;
  }
}

/* The sticky topbar belongs only to the content column. */
.admin-workspace-header,.employer-workspace-header,.portal-topbar{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  left:auto!important;
  right:auto!important;
}

/* Drawer mode: remove every desktop reservation and keep the page stationary. */
@media (max-width:1100px){
  .admin-shell{display:block!important;padding-left:0!important}
  .admin-workspace{width:100%!important;margin:0!important}
  .admin-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(286px,88vw)!important;
    transform:translateX(-105%)!important;
  }
  body.admin-menu-open .admin-sidebar{transform:translateX(0)!important}
}
@media (max-width:1040px){
  .employer-shell{display:block!important;padding-left:0!important}
  .employer-workspace{width:100%!important;margin:0!important}
  .employer-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(286px,88vw)!important;
    transform:translateX(-105%)!important;
  }
  body.employer-menu-open .employer-sidebar{transform:translateX(0)!important}
}
@media (max-width:900px){
  .portal-layout{display:block!important;padding-left:0!important}
  .portal-main{width:100%!important;margin:0!important}
  .portal-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(300px,86vw)!important;
    transform:translateX(-102%)!important;
  }
  body.nav-open .portal-sidebar{transform:translateX(0)!important}
}
