body.admin-page .emp-dash-wrap { background: var(--surface-base); border: 1px solid var(--border-subtle); border-radius: 10px; box-shadow: var(--shadow-sm); color: var(--text-primary); }
body.admin-page .emp-dash-wrap [style*="background"], body.admin-page .emp-profile-page [style*="background"] { background: var(--surface-base) !important; }
body.admin-page .emp-dash-wrap [style*="color:#d"], body.admin-page .emp-dash-wrap [style*="color:#8"], body.admin-page .emp-profile-page [style*="color:#a"] { color: var(--text-primary) !important; }
body.admin-page .emp-dash-wrap .emp-hero [style*="background"] { background: var(--brand-primary-soft) !important; }
body.admin-page .emp-dash-wrap .notif-panel { background:var(--surface-base); color:var(--text-primary); border-color:var(--border-default); }
body.admin-page .emp-dash-wrap .notif-panel .nt { color:var(--text-primary); }
body.admin-page .emp-dash-wrap .notif-panel .nm, body.admin-page .emp-dash-wrap .notif-panel .nd { color:var(--text-secondary); }
body.admin-page .emp-profile-page { background:transparent; border:0; box-shadow:none; color:var(--text-primary); }
body.admin-page .emp-profile-page > div[style*="background"] { background:var(--surface-base)!important; border-color:var(--border-subtle)!important; box-shadow:var(--shadow-sm); }
body.admin-page .shift-started { color:var(--brand-primary); font-size:.9rem; margin-bottom:8px; }
body.admin-page .emp-nav { position: fixed; inset: 0 auto 0 0; z-index: 70; width: min(88vw,320px); padding:16px 12px; background:var(--nav-canvas); transform:translateX(-105%); transition:transform var(--transition-med); }
body.admin-page .emp-nav.is-open { transform:translateX(0); }
body.admin-page .emp-nav .nav-trigger { color:var(--nav-text); background:transparent; border-color:transparent; }
body.admin-page .emp-nav .nav-menu { background:transparent; border:0; box-shadow:none; position:static; transform:none; }
body.admin-page .emp-nav .nav-item { color:var(--nav-text-muted); min-height:44px; }
body.admin-page .emp-nav .nav-item.active { color:var(--nav-text); background:rgba(125,193,66,.13); border-left:2px solid var(--brand-primary); }
body.admin-page .emp-nav .emp-nav-scrim { display:none; }
body.admin-page .emp-nav #empNotifWrap { position:fixed; top:9px; right:18px; z-index:90; }
body.admin-page .emp-menu-toggle { display:none; }
@media(max-width:767px){ body.admin-page .emp-menu-toggle{display:inline-flex;position:fixed;top:7px;left:12px;z-index:100;width:42px;height:42px;align-items:center;justify-content:center;background:transparent;border:1px solid #496057;color:#eaf0ec;border-radius:6px;} body.admin-page .emp-nav #empNotifWrap{top:8px;right:12px;} }
body.admin-page .emp-nav + .emp-nav-scrim { display:none; }
body.admin-page .emp-hero { background: var(--brand-primary-soft); border: 1px solid var(--brand-primary-border); color: var(--text-primary); border-radius: 8px; }
body.admin-page .emp-hero-name { color: var(--text-primary); }
body.admin-page .emp-hero-role, body.admin-page .emp-hero-thanks { color: var(--text-secondary); }
body.admin-page .emp-dash-wrap .form-control { background: var(--surface-base); color: var(--text-primary); border-color: var(--border-default); }
body.admin-page .jobcard-worker { background: var(--surface-base) !important; border-color: var(--border-default) !important; color: var(--text-primary); box-shadow: var(--shadow-sm); }
body.admin-page .jobcard-worker * { color: inherit; }
@media(max-width:767px){body.admin-page .emp-dash-wrap{padding:16px!important;border-radius:8px;}}/* Light-pass overrides (parent agent) */
body.admin-page .emp-dash-wrap, body.admin-page .emp-profile-page { background: transparent; border: 0; box-shadow: none; }
body.admin-page .emp-dash-wrap [style*="color:#fff"], body.admin-page .emp-profile-page [style*="color:#fff"] { color: var(--text-primary) !important; }
body.admin-page .emp-dash-wrap [style*="color:#d8c3b6"] { color: var(--text-secondary) !important; }
body.admin-page .emp-profile-page label { color: var(--text-secondary) !important; }
body.admin-page .emp-profile-page .btn-secondary, body.admin-page .emp-dash-wrap .btn-secondary { color: var(--text-primary); }
body.admin-page .emp-dash-wrap textarea, body.admin-page .emp-dash-wrap input[type=text], body.admin-page .emp-dash-wrap input[type=number] { color: var(--text-primary) !important; background: var(--surface-base) !important; border-color: var(--border-default) !important; }
body.admin-page .emp-dash-wrap [style*="background:rgba(255,255,255,0.05)"], body.admin-page .emp-dash-wrap [style*="background:rgba(255,255,255,0.04)"], body.admin-page .emp-profile-page [style*="background:rgba(255,255,255,0.05)"] { background: var(--surface-base) !important; border: 1px solid var(--border-subtle) !important; box-shadow: var(--shadow-sm); }
body.admin-page .app-topbar .notif-bell-wrap { margin-left: auto; }
@media (max-width: 767px) {
  body.admin-page .emp-menu-toggle { position: static; border: 0; color: var(--nav-text); }
}
body.admin-page .emp-nav { z-index: 90; }
body.admin-page .emp-nav button.nav-item { width: 100%; background: transparent; border: 0; border-left: 2px solid transparent; border-radius: 6px; box-shadow: none; text-align: left; font: inherit; font-size: 13px; font-weight: 500; color: var(--nav-text-muted); cursor: pointer; }
body.admin-page .emp-nav button.nav-item:hover { color: var(--nav-text); background: var(--nav-hover); }

/* ── Employee portal: customer quote/reminder visual language ─────────────
   Presentation-only scope. The dashboard's forms, actions, and data remain
   unchanged; these rules replace the older dark/tan presentation around them. */
body.employee-portal {
  --emp-canvas: var(--customer-canvas);
  --emp-canvas-deep: var(--customer-canvas-deep);
  --emp-surface: var(--customer-surface);
  --emp-ink: var(--customer-ink);
  --emp-ink-soft: var(--customer-ink-soft);
  --emp-ink-faint: var(--customer-ink-faint);
  --emp-line: var(--customer-line);
  --emp-line-strong: var(--customer-line-strong);
  --emp-green: var(--customer-green);
  --emp-green-deep: var(--customer-green-hover);
  --emp-green-soft: var(--customer-green-soft);
  font-family: 'Barlow', var(--font-ui);
  background: var(--emp-canvas) !important;
  color: var(--emp-ink);
  -webkit-font-smoothing: antialiased;
}

body.employee-portal .app-topbar {
  background: var(--nav-canvas) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: var(--nav-text);
}

body.employee-portal .topbar-brand-logo {
  display: block;
  width: 138px;
  height: auto;
  max-height: 40px;
  object-fit: contain;
}

body.employee-portal .emp-header-copy {
  display: flex;
  flex-direction: column;
  gap: 1px;
  line-height: 1.15;
}

body.employee-portal .app-topbar .admin-header-context {
  color: var(--nav-text);
  font-size: .94rem;
  font-weight: 700;
}

body.employee-portal .emp-header-tagline {
  color: var(--nav-text-muted);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.employee-portal .main-content {
  background: var(--emp-canvas);
}

body.employee-portal .main-content > .container {
  padding-top: 34px;
  padding-bottom: 48px;
}

body.employee-portal .emp-dash-wrap {
  max-width: 1120px !important;
  color: var(--emp-ink);
}

body.employee-portal .emp-hero {
  max-width: none;
  margin-bottom: 24px;
  padding: 26px 30px;
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
}

body.employee-portal .emp-hero::after {
  display: none;
}

body.employee-portal .emp-hero-eyebrow {
  color: var(--emp-green);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.employee-portal .emp-hero-name {
  color: var(--emp-ink) !important;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 800;
  letter-spacing: -.01em;
}

body.employee-portal .emp-hero-role,
body.employee-portal .emp-hero-thanks,
body.employee-portal .emp-hero-thanks p {
  color: var(--emp-ink-soft) !important;
}

body.employee-portal .emp-hero-thanks {
  border-top-color: var(--emp-line) !important;
}

body.employee-portal .emp-hero-thanks p {
  font-size: .95rem;
  font-style: normal;
}

body.employee-portal .emp-side-col {
  width: 360px;
}

body.employee-portal .emp-clock-card {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
}

body.employee-portal .emp-clock-card > div > p:not(.shift-started) {
  color: var(--emp-ink-soft) !important;
  font-weight: 600;
}

body.employee-portal .emp-clock-card .shift-started {
  color: var(--emp-green) !important;
  font-weight: 700;
}

body.employee-portal .emp-clock-card #shiftTimer {
  color: var(--emp-ink) !important;
  font-family: 'Barlow', var(--font-ui);
  letter-spacing: .02em;
}

body.employee-portal .emp-clock-card .form-group label {
  color: var(--emp-ink-soft) !important;
  font-weight: 600;
}

body.employee-portal .emp-clock-card .form-control,
body.employee-portal .emp-dash-wrap textarea,
body.employee-portal .emp-profile-page .form-control {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 10px;
  color: var(--emp-ink) !important;
  font-family: inherit;
}

body.employee-portal .emp-clock-card .form-control:focus,
body.employee-portal .emp-dash-wrap textarea:focus,
body.employee-portal .emp-profile-page .form-control:focus {
  border-color: var(--emp-green) !important;
  box-shadow: 0 0 0 3px rgba(79,125,24,.14) !important;
  outline: none;
}

body.employee-portal .btn-primary {
  background: var(--emp-green) !important;
  border-color: var(--emp-green) !important;
  color: #fff !important;
  font-family: inherit;
  font-weight: 700;
}

body.employee-portal .btn-primary:hover,
body.employee-portal .btn-primary:focus-visible {
  background: var(--emp-green-deep) !important;
  border-color: var(--emp-green-deep) !important;
}

body.employee-portal .emp-clock-card #clockOutForm .btn-primary {
  background: var(--danger) !important;
  border-color: var(--danger) !important;
}

body.employee-portal #weekly-crew-plan {
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
  padding: 22px 24px 24px;
}

body.employee-portal #weekly-crew-plan > div:first-child h3,
body.employee-portal .emp-week-summary-heading {
  color: var(--emp-ink) !important;
  font-size: 1.15rem !important;
  font-weight: 800;
  letter-spacing: -.01em;
}

body.employee-portal #weekly-crew-plan .btn-secondary {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 10px;
  color: var(--emp-ink) !important;
  font-family: inherit;
  font-weight: 700;
}

body.employee-portal #weekly-crew-plan .btn-secondary:hover {
  background: var(--emp-green-soft) !important;
  border-color: var(--emp-green) !important;
  color: var(--emp-green-deep) !important;
}

body.employee-portal #weekly-crew-plan .week-day-tab {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 10px !important;
  color: var(--emp-ink) !important;
  font-family: inherit;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

body.employee-portal #weekly-crew-plan .week-day-tab:hover {
  border-color: var(--emp-green) !important;
  transform: translateY(-1px);
}

body.employee-portal #weekly-crew-plan .week-day-tab.has-work {
  border-color: var(--emp-green) !important;
}

body.employee-portal #weekly-crew-plan .week-day-tab.active {
  background: var(--emp-green) !important;
  border-color: var(--emp-green) !important;
  color: #fff !important;
}

body.employee-portal #weekly-crew-plan .week-day-tab.active span[style*="background"] {
  background: #fff !important;
}

body.employee-portal #weekly-crew-plan .week-day-panel > div[style*="background:rgba(125,193,66,0.1)"],
body.employee-portal #weekly-crew-plan .week-day-panel > div[style*="background:rgba(125,193,66,0.08)"] {
  background: var(--emp-green-soft) !important;
  border-color: var(--emp-green) !important;
  border-radius: 10px;
  color: var(--emp-ink);
}

body.employee-portal #weekly-crew-plan .week-day-panel > div[style*="background:rgba(255,255,255,0.03)"] {
  background: var(--emp-canvas) !important;
  border: 1px solid var(--emp-line) !important;
  border-radius: 10px;
}

body.employee-portal #weekly-crew-plan .jobcard-worker {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-left: 4px solid var(--emp-green) !important;
  border-radius: 10px !important;
  box-shadow: 0 1px 2px rgba(38,41,31,.04), 0 5px 18px rgba(38,41,31,.05) !important;
}

body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#fff"],
body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#dbe4e9"] {
  color: var(--emp-ink) !important;
}

body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#bcd"],
body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#8fa0aa"],
body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#a7b0b6"] {
  color: var(--emp-ink-soft) !important;
}

body.employee-portal #weekly-crew-plan .jobcard-worker [style*="color:#7DC142"] {
  color: var(--emp-green) !important;
}

body.employee-portal #weekly-crew-plan .jobcard-worker .jc-completion-notes {
  background: var(--emp-surface) !important;
}

body.employee-portal .emp-hours-table {
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 10px;
  overflow: hidden;
}

body.employee-portal .emp-hours-summary-card {
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
  padding: 20px 22px;
}

body.employee-portal .emp-hours-summary-card .emp-week-summary-heading {
  margin-bottom: 12px !important;
}

body.employee-portal .emp-hours-summary-card > p:last-child {
  margin-bottom: 0 !important;
}

body.employee-portal .emp-hours-table th {
  background: var(--emp-canvas-deep) !important;
  border-bottom: 1px solid var(--emp-line-strong);
  color: var(--emp-ink-soft) !important;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.employee-portal .emp-hours-table td {
  background: var(--emp-surface);
  border-bottom-color: var(--emp-line) !important;
  color: var(--emp-ink) !important;
}

body.employee-portal .emp-hours-table tr:hover td {
  background: var(--emp-green-soft);
}

body.employee-portal .emp-week-summary-heading + p {
  color: var(--emp-ink-soft) !important;
}

body.employee-portal .emp-section:not([hidden]) {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
  color: var(--emp-ink);
}

body.employee-portal .emp-section h3,
body.employee-portal .emp-section h4 {
  color: var(--emp-ink) !important;
}

body.employee-portal .emp-section p,
body.employee-portal .emp-section label,
body.employee-portal .emp-section small {
  color: var(--emp-ink-soft) !important;
}

body.employee-portal .emp-section .data-table th {
  background: var(--emp-canvas-deep) !important;
  color: var(--emp-ink-soft) !important;
}

body.employee-portal .emp-section .data-table td {
  color: var(--emp-ink) !important;
  border-bottom-color: var(--emp-line) !important;
}

body.employee-portal .notif-bell {
  width: 40px;
  height: 40px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  color: var(--nav-text);
}

body.employee-portal .notif-bell:hover {
  background: rgba(255,255,255,.08);
}

body.employee-portal .notif-panel {
  background: var(--emp-surface) !important;
  border: 1px solid var(--emp-line-strong);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(38,41,31,.15);
  color: var(--emp-ink);
}

body.employee-portal .notif-panel-head {
  border-bottom-color: var(--emp-line);
  color: var(--emp-ink);
}

body.employee-portal .notif-mark-all {
  color: var(--emp-green);
}

body.employee-portal .notif-item {
  color: var(--emp-ink-soft);
}

body.employee-portal .notif-item:hover,
body.employee-portal .notif-item.unread {
  background: var(--emp-green-soft);
}

body.employee-portal .notif-item .nt {
  color: var(--emp-ink);
}

body.employee-portal .notif-item .nm,
body.employee-portal .notif-item .nd,
body.employee-portal .notif-empty {
  color: var(--emp-ink-soft);
}

body.employee-portal .emp-profile-page {
  max-width: 900px;
  font-family: inherit;
}

body.employee-portal .emp-profile-page > div[style*="background"] {
  background: var(--emp-surface) !important;
  border: 1.5px solid var(--emp-line-strong) !important;
  border-radius: 14px !important;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
}

body.employee-portal .emp-profile-page h2,
body.employee-portal .emp-profile-page h4 {
  color: var(--emp-ink) !important;
  font-weight: 800;
}

body.employee-portal .emp-profile-page p,
body.employee-portal .emp-profile-page label,
body.employee-portal .emp-profile-page small {
  color: var(--emp-ink-soft) !important;
}

body.employee-portal .emp-profile-page a[style*="var(--simco-green)"] {
  color: var(--emp-green) !important;
}

body.employee-portal.auth-shell {
  background: var(--emp-canvas) !important;
  font-family: inherit;
}

body.employee-portal.auth-shell .auth-brand-header {
  background: var(--nav-canvas) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}

body.employee-portal.auth-shell .auth-brand-header-inner {
  max-width: 1240px;
  padding: 14px 24px;
}

body.employee-portal .emp-login-card {
  width: min(100%, 440px);
  padding: 32px;
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
}

body.employee-portal .emp-login-title {
  margin: 0 0 4px;
  color: var(--emp-ink);
  font-size: 1.65rem;
  font-weight: 800 !important;
}

body.employee-portal .emp-login-sub {
  margin: 0 0 24px;
  color: var(--emp-ink-soft);
}

body.employee-portal .emp-login-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.employee-portal .emp-login-form .form-group {
  margin: 0;
}

body.employee-portal .emp-login-form label {
  display: block;
  margin-bottom: 7px;
  color: var(--emp-ink-soft);
  font-weight: 700;
}

body.employee-portal .emp-login-form .form-control {
  min-height: 48px;
  padding: 11px 42px 11px 13px;
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 10px;
  color: var(--emp-ink);
  font-family: inherit;
}

body.employee-portal .emp-login-submit {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  font-size: 1rem;
}

body.employee-portal .emp-login-alert {
  margin-bottom: 20px;
}

body.employee-portal .emp-login-note {
  border-top-color: var(--emp-line);
}

body.employee-portal .emp-login-note p {
  color: var(--emp-ink-soft) !important;
  font-style: normal;
}

body.employee-portal .emp-profile-page {
  max-width: 980px;
}

body.employee-portal .emp-profile-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

body.employee-portal .emp-profile-heading,
body.employee-portal .emp-profile-page > .alert {
  max-width: 820px;
}

body.employee-portal .emp-profile-eyebrow {
  display: block;
  margin-bottom: 5px;
  color: var(--emp-green);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.employee-portal .emp-profile-heading h2 {
  margin: 0 0 5px;
  font-size: 1.8rem;
}

body.employee-portal .emp-profile-heading p {
  margin: 0;
}

body.employee-portal .emp-profile-back {
  flex: 0 0 auto;
  min-height: 44px;
}

body.employee-portal .emp-profile-card {
  max-width: 820px;
  margin-bottom: 24px;
  padding: 24px;
  background: var(--emp-surface);
  border: 1.5px solid var(--emp-line-strong);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(38,41,31,.05), 0 8px 28px rgba(38,41,31,.07);
}

body.employee-portal .emp-profile-card > p {
  margin: 0 0 20px;
  font-size: .92rem;
  line-height: 1.55;
}

body.employee-portal .emp-profile-form,
body.employee-portal .emp-profile-business-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

body.employee-portal .emp-profile-form .form-group {
  min-width: 0;
  margin: 0;
}

body.employee-portal .emp-profile-form label {
  display: block;
  min-height: 20px;
  margin-bottom: 7px;
  color: var(--emp-ink-soft) !important;
  font-weight: 700;
}

body.employee-portal .emp-profile-form .form-control {
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
}

body.employee-portal .emp-profile-form .form-control:disabled {
  background: var(--emp-canvas-deep) !important;
  color: var(--emp-ink-soft) !important;
  opacity: 1;
}

body.employee-portal .emp-field-help {
  display: block;
  min-height: 18px;
  margin-top: 5px;
  color: var(--emp-ink-faint) !important;
  font-size: .78rem;
}

body.employee-portal .emp-form-wide {
  grid-column: 1 / -1;
}

body.employee-portal .emp-profile-business {
  margin-top: 4px;
  padding-top: 20px;
  border-top: 1px solid var(--emp-line);
}

body.employee-portal .emp-profile-business h4 {
  margin: 0 0 4px;
  font-size: 1.05rem;
}

body.employee-portal .emp-profile-business > p {
  margin: 0 0 18px;
  font-size: .86rem;
}

body.employee-portal .emp-gst-group {
  display: flex;
  align-items: flex-end;
}

body.employee-portal .emp-checkbox-row {
  display: flex !important;
  min-height: 46px !important;
  align-items: center;
  gap: 10px;
  margin: 0 !important;
  cursor: pointer;
}

body.employee-portal .emp-checkbox-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--emp-green);
}

body.employee-portal .emp-profile-actions {
  display: flex;
  gap: 10px;
  grid-column: 1 / -1;
  padding-top: 4px;
}

@media (max-width: 900px) {
  body.employee-portal .emp-side-col { width: 100%; }
}

@media (max-width: 767px) {
  body.employee-portal .main-content > .container {
    padding: 24px 12px 32px !important;
  }

  body.employee-portal .topbar-brand-logo {
    width: 108px;
    max-height: 34px;
  }

  body.employee-portal .emp-header-copy {
    display: none;
  }

  body.employee-portal .emp-dash-wrap {
    padding: 0 !important;
  }

  body.employee-portal .emp-hero {
    padding: 22px 20px;
  }

  body.employee-portal #weekly-crew-plan {
    padding: 18px 14px 20px;
  }

  body.employee-portal #weekly-crew-plan > div:first-child {
    align-items: flex-start !important;
  }

  body.employee-portal #weekly-crew-plan .week-day-tab {
    min-width: 64px !important;
  }

  body.employee-portal .emp-hours-table th,
  body.employee-portal .emp-hours-table td {
    padding: 10px 8px !important;
    font-size: .78rem;
  }

  body.employee-portal .emp-login-wrap {
    margin: 32px auto;
  }

  body.employee-portal .emp-login-card {
    padding: 24px 20px;
  }

  body.employee-portal .emp-profile-heading {
    display: block;
  }

  body.employee-portal .emp-profile-back {
    width: 100%;
    margin-top: 16px;
  }

  body.employee-portal .emp-profile-card {
    padding: 20px 16px;
  }

  body.employee-portal .emp-profile-form,
  body.employee-portal .emp-profile-business-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  body.employee-portal .emp-profile-form .form-group,
  body.employee-portal .emp-form-wide {
    grid-column: 1;
  }

  body.employee-portal .emp-profile-actions {
    flex-direction: column;
    grid-column: 1;
  }

  body.employee-portal .emp-profile-actions .btn {
    width: 100%;
    min-height: 46px;
  }
}

/* Reduce top whitespace under 56px app bar (final polish) */
body.admin-page .main-content:has(.emp-dash-wrap) { padding-top: 30px; }
@media(max-width:767px){ body.admin-page .main-content > .container.emp-dash-wrap { padding: 24px 12px 16px !important; margin-top: 0; } }
@media(min-width:768px){ body.admin-page .main-content > .container.emp-dash-wrap { padding-top: 24px; } }
/* Correct selector chain: base.html wraps pages in .main-content > .container */
body.admin-page .main-content:has(.emp-dash-wrap) > .container { padding-top: 0 !important; }
body.admin-page .main-content:has(.emp-dash-wrap) { padding-top: 30px; }
@media(max-width:767px){ body.admin-page .admin-container.emp-dash-wrap { padding-top: 8px !important; } }

/* Staff menu toggle lives inside the app bar (sign-off corrections) */
body.admin-page .emp-menu-toggle-bar { display:none; }
@media(max-width:767px){
  body.admin-page .emp-menu-toggle-bar { display:inline-flex; position:static; top:auto; left:auto; width:44px; height:44px; align-items:center; justify-content:center; background:transparent; border:0; color:var(--nav-text,#eaf0ec); font-size:20px; border-radius:6px; margin-right:2px; cursor:pointer; }
  body.admin-page .emp-menu-toggle-bar:focus-visible { outline:2px solid var(--brand-primary); outline-offset:2px; }
}

/* The employee portal uses a full-width customer-style header at every size.
   Its existing navigation remains available in the same off-canvas drawer. */
body.employee-portal:not(.auth-shell) .app-topbar {
  inset: 0 0 auto 0;
}

body.employee-portal:not(.auth-shell) .main-content {
  margin-left: 0;
  padding-top: 84px;
}

@media (max-width: 767px) {
  body.employee-portal:not(.auth-shell) .main-content {
    padding-top: 72px;
  }
}

body.employee-portal .emp-menu-toggle-bar {
  display: inline-flex;
  position: static;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  margin-right: 2px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 8px;
  color: var(--nav-text);
  font-size: 20px;
  cursor: pointer;
}

body.employee-portal .emp-menu-toggle-bar:hover {
  background: rgba(255,255,255,.08);
}

body.employee-portal .emp-menu-toggle-bar:focus-visible {
  outline: 2px solid var(--brand-primary);
  outline-offset: 2px;
}

body.employee-portal .admin-nav-scrim {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 75;
  background: rgba(0,0,0,.45);
}

body.employee-portal .admin-nav-scrim[hidden] {
  display: none;
}

@media (min-width: 768px) and (max-width: 900px) {
  body.employee-portal .emp-profile-business-grid > .form-group:not(.emp-form-wide):not(.emp-gst-group) > label {
    display: flex;
    min-height: 52px;
    align-items: flex-end;
  }
}

/* Batch 13 profile shell: persistent navigation at desktop/tablet.
   These final-order rules intentionally follow the legacy full-width portal
   declarations above so the mobile drawer is the only off-canvas variant. */
@media (min-width: 768px) {
  body.employee-portal.employee-profile-shell .app-sidebar {
    width: 240px;
    z-index: 55;
    transform: none;
    padding: 20px 12px 24px;
  }

  body.employee-portal.employee-profile-shell .app-topbar {
    inset: 0 0 auto 240px;
  }

  body.employee-portal.employee-profile-shell .main-content {
    margin-left: 240px;
  }

  body.employee-portal.employee-profile-shell .topbar-brand-logo,
  body.employee-portal.employee-profile-shell .emp-menu-toggle-bar {
    display: none;
  }
}

/* Batch 17 dashboard evidence contract: operational controls remain finger-sized
   and the compact pay/account forms reflow instead of clipping on crew phones. */
@media (max-width: 767px) {
  body.employee-portal .emp-operations-dashboard button,
  body.employee-portal .emp-operations-dashboard a.btn,
  body.employee-portal .emp-operations-dashboard label.emp-photo-action,
  body.employee-portal .notif-bell,
  body.employee-portal .notif-mark-all,
  body.employee-portal .notif-del-btn {
    min-width: 44px;
    min-height: 44px;
  }

  body.employee-portal #sec-request-payslip form > div {
    align-items: stretch !important;
    flex-direction: column;
  }

  body.employee-portal #sec-request-payslip .btn,
  body.employee-portal #sec-my-invoices .btn {
    width: 100%;
  }

  body.employee-portal #sec-my-invoices form {
    width: 100%;
  }

  body.employee-portal #sec-my-invoices input[type="file"] {
    box-sizing: border-box;
    width: 100%;
    max-width: none !important;
    min-height: 44px;
  }
}

/* ── Employee operations dashboard: Booking Analytics operational vocabulary ──
   Scoped to /employee's explicit opt-in root.  This intentionally does not
   alter the Login/Profile shell or the shared password-field toggle contract. */
body.employee-portal .migrated-admin.emp-operations-dashboard {
  max-width: 1240px !important;
  padding: 0 !important;
  font-family: var(--font-admin-ui);
}

body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  margin: 0 0 var(--space-5);
  padding: var(--space-5) var(--space-6);
  border: 1px solid var(--border-subtle) !important;
  border-left: 5px solid var(--brand-primary) !important;
  border-radius: var(--radius-md);
  background: var(--surface-panel) !important;
  box-shadow: var(--shadow-sm);
}
body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero-eyebrow {
  margin-bottom: var(--space-1);
  color: var(--green-action);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero-name {
  margin: 0;
  color: var(--text-primary) !important;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  letter-spacing: -.04em;
}
body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero-role {
  margin: 5px 0 0;
  color: var(--text-secondary) !important;
  font-size: var(--text-sm);
  font-weight: 700;
}
body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero-thanks {
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-subtle) !important;
}
body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero-thanks p {
  margin: 0;
  color: var(--text-secondary) !important;
  font-size: var(--text-sm);
}
body.employee-portal .emp-operations-dashboard .emp-dash-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}
body.employee-portal .emp-operations-dashboard .emp-side-col,
body.employee-portal .emp-operations-dashboard .emp-main-col { width: 100%; }
body.employee-portal .emp-operations-dashboard .emp-icon-line {
  display: flex;
  align-items: center;
  gap: 7px;
}
body.employee-portal .emp-operations-dashboard .emp-inline-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
body.employee-portal .emp-operations-dashboard .emp-clock-card {
  padding: var(--space-5) !important;
  margin: 0 !important;
  background: var(--surface-panel) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.employee-portal .emp-operations-dashboard .emp-clock-card #shiftTimer {
  color: var(--text-primary) !important;
  font-size: clamp(2rem, 4vw, 2.65rem);
}
body.employee-portal .emp-operations-dashboard .emp-clock-card .btn,
body.employee-portal .emp-operations-dashboard .emp-section .btn { min-height: 44px; }
body.employee-portal .emp-operations-dashboard .emp-week-card,
body.employee-portal .emp-operations-dashboard .emp-hours-summary-card {
  background: var(--surface-panel) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: var(--shadow-sm) !important;
}
body.employee-portal .emp-operations-dashboard #weekly-crew-plan {
  padding: var(--space-5) !important;
  margin: 0 0 var(--space-5);
}
body.employee-portal .emp-operations-dashboard .emp-week-heading {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
}
body.employee-portal .emp-operations-dashboard .emp-week-nav {
  display: flex;
  gap: var(--space-2);
  justify-content: flex-start;
}
body.employee-portal .emp-operations-dashboard #weekly-crew-plan > div:first-child h3,
body.employee-portal .emp-operations-dashboard .emp-week-summary-heading {
  color: var(--text-primary) !important;
  font-weight: 800;
}
body.employee-portal .emp-operations-dashboard .week-day-tab {
  min-height: 72px;
  min-width: 72px !important;
  border-color: var(--border-default) !important;
  color: var(--text-secondary) !important;
}
body.employee-portal .emp-operations-dashboard .week-day-tab.active {
  color: var(--brand-on-primary) !important;
  background: var(--brand-primary) !important;
}
body.employee-portal .emp-operations-dashboard .emp-crew-brief {
  max-width: none;
  margin: 0 0 var(--space-4);
  padding: var(--space-4);
  background: var(--green-wash);
  border: 1px solid var(--brand-primary-border);
  border-radius: var(--radius-md);
}
body.employee-portal .emp-operations-dashboard .emp-crew-brief h3 {
  margin: 0 0 var(--space-3);
  color: var(--green-deep);
  font-size: var(--text-md);
}
body.employee-portal .emp-operations-dashboard .emp-crew-details {
  display: grid;
  grid-template-columns: minmax(105px,.45fr) minmax(0,1.55fr);
  gap: 8px var(--space-3);
  font-size: var(--text-sm);
}
body.employee-portal .emp-operations-dashboard .emp-crew-details span:nth-child(odd) { color: var(--text-muted); font-weight: 700; }
body.employee-portal .emp-operations-dashboard .emp-crew-details span:nth-child(even) { color: var(--text-primary); font-weight: 600; }
body.employee-portal .emp-operations-dashboard .emp-crew-note {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--brand-primary-border);
  color: var(--text-secondary);
  font-size: var(--text-sm);
  white-space: pre-wrap;
}
body.employee-portal .emp-operations-dashboard .jobcard-worker {
  max-width: none !important;
  padding: var(--space-4) !important;
  margin-bottom: var(--space-3) !important;
  border: 1px solid var(--border-default) !important;
  border-left: 4px solid var(--brand-primary) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: none !important;
}
body.employee-portal .emp-operations-dashboard .jc-worker-task {
  min-height: 38px;
  color: var(--text-primary) !important;
}
body.employee-portal .emp-operations-dashboard .jc-worker-cb { width: 20px !important; height: 20px !important; }
body.employee-portal .emp-operations-dashboard .jobcard-worker-completion {
  padding: var(--space-3);
  background: var(--surface-subtle);
  border-radius: var(--radius-sm);
}
body.employee-portal .emp-operations-dashboard .emp-photo-group {
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-subtle);
}
body.employee-portal .emp-operations-dashboard .emp-detail-label {
  margin-bottom: 5px;
  color: var(--green-action);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.employee-portal .emp-operations-dashboard .emp-detail-help {
  margin-top: 6px;
  margin-bottom: var(--space-3);
  color: var(--text-muted);
  font-size: var(--text-xs);
  line-height: 1.45;
}
body.employee-portal .emp-operations-dashboard .emp-photo-phase { margin-top: var(--space-3); }
body.employee-portal .emp-operations-dashboard .emp-photo-phase-label { margin-bottom: 6px; color: var(--text-secondary); font-size: var(--text-xs); font-weight: 800; }
body.employee-portal .emp-operations-dashboard .emp-photo-grid { display:flex; flex-wrap:wrap; gap:var(--space-2); }
body.employee-portal .emp-operations-dashboard .emp-reference-photo,
body.employee-portal .emp-operations-dashboard .emp-site-photo { display:block; width:84px; height:84px; overflow:hidden; border:1px solid var(--border-default); border-radius:var(--radius-sm); }
body.employee-portal .emp-operations-dashboard .emp-reference-photo { width:96px; height:96px; border-color:var(--warning); }
body.employee-portal .emp-operations-dashboard .emp-reference-photo img,
body.employee-portal .emp-operations-dashboard .emp-site-photo img { display:block; width:100%; height:100%; object-fit:cover; }
body.employee-portal .emp-operations-dashboard .emp-site-photo { position:relative; }
body.employee-portal .emp-operations-dashboard .emp-site-photo > a { display:block; width:100%; height:100%; }
body.employee-portal .emp-operations-dashboard .emp-site-photo form { position:absolute; top:2px; right:2px; margin:0; }
body.employee-portal .emp-operations-dashboard .emp-photo-remove { width:24px; height:24px; padding:0; border:0; border-radius:50%; background:var(--nav-canvas); color:var(--nav-text); cursor:pointer; }
body.employee-portal .emp-operations-dashboard .emp-photo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); margin-top:var(--space-2); }
body.employee-portal .emp-operations-dashboard .emp-photo-actions form {
  flex:0 0 208px;
  width:208px;
  margin:0;
}
body.employee-portal .emp-operations-dashboard .emp-photo-action {
  display:inline-flex;
  width:208px !important;
  min-width:208px !important;
  max-width:208px !important;
  min-height:40px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  white-space:nowrap;
  cursor:pointer;
}
body.employee-portal .emp-operations-dashboard .emp-visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
body.employee-portal .emp-operations-dashboard .emp-hours-summary-card { padding:var(--space-5); }
body.employee-portal .emp-operations-dashboard .emp-section { max-width:none !important; padding:var(--space-5) !important; }
body.employee-portal .emp-operations-dashboard .jc-done-summary { display:none; width:100%; align-items:center; justify-content:space-between; gap:var(--space-3); padding:var(--space-3) var(--space-4); background:var(--green-wash); border:1px solid var(--brand-primary-border); border-radius:var(--radius-md); color:var(--text-primary); cursor:pointer; text-align:left; font-family:inherit; box-sizing:border-box; }
body.employee-portal .emp-operations-dashboard .jobcard-worker.jc-collapsed { padding:0 !important; border-color:transparent !important; overflow:hidden; }
body.employee-portal .emp-operations-dashboard .jobcard-worker.jc-collapsed .jc-card-full { display:none; }
body.employee-portal .emp-operations-dashboard .jobcard-worker.jc-collapsed .jc-done-summary { display:flex; }
body.employee-portal .emp-operations-dashboard .jc-done-summary .jc-done-left { display:flex; align-items:center; gap:var(--space-2); min-width:0; }
body.employee-portal .emp-operations-dashboard .jc-done-title { color:var(--text-primary); font-weight:800; font-size:var(--text-md); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.employee-portal .emp-operations-dashboard .jc-done-tag { color:var(--green-action); background:var(--surface-panel); border:1px solid var(--brand-primary-border); border-radius:var(--radius-pill); padding:2px 8px; font-size:10px; font-weight:800; flex-shrink:0; white-space:nowrap; }
body.employee-portal .emp-operations-dashboard .jc-done-toggle { color:var(--text-muted); font-size:var(--text-xs); font-weight:800; flex-shrink:0; }
body.employee-portal .emp-operations-dashboard .jc-hide-row { display:none; justify-content:flex-end; margin-bottom:6px; }
body.employee-portal .emp-operations-dashboard .jobcard-worker.jc-completed .jc-hide-row { display:flex; }
body.employee-portal .emp-operations-dashboard .jc-hide-btn { min-height:32px; padding:5px 12px; color:var(--green-action); background:var(--green-wash); border:1px solid var(--brand-primary-border); border-radius:var(--radius-sm); cursor:pointer; font-family:inherit; font-size:var(--text-xs); font-weight:800; }
body.employee-portal .emp-operations-dashboard .jc-hide-btn:hover { background:var(--surface-selected); }
body.employee-portal .emp-operations-dashboard .emp-dashboard-alert {
  margin: 0 0 var(--space-4);
}
body.employee-portal .emp-operations-dashboard .emp-record-table-wrap {
  margin-bottom: var(--space-5);
  overflow-x: auto;
}
body.employee-portal .emp-operations-dashboard .emp-record-table-wrap table {
  width: 100%;
}
body.employee-portal .emp-operations-dashboard .emp-date-record {
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
body.employee-portal .emp-operations-dashboard .emp-invoice-card {
  padding: var(--space-4);
  background: var(--surface-base);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
}
body.employee-portal .emp-operations-dashboard .emp-invoice-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-2);
  flex-wrap: wrap;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-number {
  color: var(--text-primary);
  font-weight: 800;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-period,
body.employee-portal .emp-operations-dashboard .emp-invoice-meta,
body.employee-portal .emp-operations-dashboard .emp-invoice-attached {
  color: var(--text-muted);
  font-size: var(--text-xs);
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: keep-all;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-total {
  color: var(--green-action);
  font-size: 1.15rem;
  font-weight: 800;
  text-align: right;
}
body.employee-portal .emp-operations-dashboard .emp-status-paid,
body.employee-portal .emp-operations-dashboard .emp-status-submitted,
body.employee-portal .emp-operations-dashboard .emp-status-draft,
body.employee-portal .emp-operations-dashboard .emp-status-rejected {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 800;
}
body.employee-portal .emp-operations-dashboard .emp-status-paid { color: var(--green-action); background: var(--green-wash); }
body.employee-portal .emp-operations-dashboard .emp-status-submitted { color: var(--status-in-progress); background: var(--warning-soft); }
body.employee-portal .emp-operations-dashboard .emp-status-draft { color: var(--text-muted); background: var(--surface-muted); }
body.employee-portal .emp-operations-dashboard .emp-status-rejected { color: var(--danger); background: var(--danger-soft); }
body.employee-portal .emp-operations-dashboard .emp-invoice-meta {
  margin-top: var(--space-2);
}
body.employee-portal .emp-operations-dashboard .emp-invoice-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin-top: var(--space-3);
}
body.employee-portal .emp-operations-dashboard .emp-invoice-actions > a.btn,
body.employee-portal .emp-operations-dashboard .emp-payslip-download {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  line-height: 1.2;
}
body.employee-portal .emp-operations-dashboard .emp-payslip-download {
  min-width: 104px;
  padding-right: 16px;
  padding-left: 16px;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-actions form { margin: 0; }
body.employee-portal .emp-operations-dashboard .emp-invoice-upload-form {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
}
body.employee-portal .emp-operations-dashboard .emp-invoice-file {
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: 9px 10px;
  color: var(--text-secondary);
  background: var(--surface-subtle);
  border: 1px solid var(--border-default);
  border-radius: var(--radius-sm);
  font: inherit;
  font-size: var(--text-xs);
}
body.employee-portal .emp-operations-dashboard .emp-invoice-upload-btn {
  min-height: 44px;
}
body.employee-portal .emp-operations-dashboard .emp-previous-week-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}
body.employee-portal .emp-operations-dashboard .emp-previous-week-card {
  padding: var(--space-3) var(--space-4);
  background: var(--surface-base);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
}
body.employee-portal .emp-operations-dashboard .emp-previous-week-hours {
  margin-top: var(--space-1);
  color: var(--text-primary);
  font-size: 1.4rem;
  font-weight: 800;
}

@media (max-width: 767px) {
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap {
    overflow: visible;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap table,
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap tbody,
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap tr,
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap table {
    border-collapse: separate;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap thead {
    display: none;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap tbody tr {
    display: grid;
    gap: 0;
    margin-bottom: var(--space-3);
    padding: var(--space-3);
    background: var(--surface-base);
    border: 1px solid var(--border-subtle);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-sm);
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap tbody tr:last-child { margin-bottom: 0; }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap td {
    display: grid;
    grid-template-columns: 78px minmax(0,1fr);
    gap: var(--space-3);
    align-items: start;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--border-subtle);
    color: var(--text-primary) !important;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap td:last-child {
    border-bottom: 0;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap td[data-label]::before {
    content: attr(data-label);
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
  }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap td[data-label=""]::before { display:none; }
  body.employee-portal .emp-operations-dashboard .emp-record-table-wrap .emp-date-record {
    white-space: nowrap;
    word-break: keep-all;
  }
  body.employee-portal .emp-operations-dashboard .emp-job-schedule {
    width: 100%;
    text-align: left !important;
  }
  body.employee-portal .emp-operations-dashboard .emp-table-actions {
    grid-template-columns: minmax(0,1fr) !important;
  }
  body.employee-portal .emp-operations-dashboard .emp-payslip-download {
    width: auto !important;
    justify-self: start;
  }
  body.employee-portal .emp-operations-dashboard .emp-invoice-head { display: block; }
  body.employee-portal .emp-operations-dashboard .emp-invoice-total {
    margin-top: var(--space-2);
    text-align: left;
  }
  body.employee-portal .emp-operations-dashboard .emp-invoice-upload-form {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }
  body.employee-portal .emp-operations-dashboard .emp-invoice-file,
  body.employee-portal .emp-operations-dashboard .emp-invoice-upload-btn {
    width: 100%;
    max-width: none;
  }
}

@media (max-width: 900px) {
  body.employee-portal .emp-operations-dashboard .emp-dash-grid { grid-template-columns:1fr; }
}
@media (max-width: 767px) {
  body.employee-portal .migrated-admin.emp-operations-dashboard .emp-hero { padding:var(--space-4); }
  body.employee-portal .emp-operations-dashboard #weekly-crew-plan,
  body.employee-portal .emp-operations-dashboard .emp-hours-summary-card,
  body.employee-portal .emp-operations-dashboard .emp-section { padding:var(--space-4) !important; }
  body.employee-portal .emp-operations-dashboard .week-day-tab { min-height:68px; min-width:64px !important; }
  body.employee-portal .emp-operations-dashboard .emp-crew-details { grid-template-columns:96px minmax(0,1fr); }
  body.employee-portal .emp-operations-dashboard .emp-photo-action { min-height:44px; }
}
