/* Local brand tokens keep the portal consistent without third-party assets. */
:root {
  --ink:#22272b;
  --muted:#626970;
  --line:#e1e5e7;
  --teal:#287b7d;

}
* {
  box-sizing:border-box;

}
body {
  margin:0;
  background:#f5f6f7;
  color:var(--ink);
  font:16px/1.6 Arial,Helvetica,sans-serif;

}
button,input,select,textarea {
  font:inherit;

}
button {
  cursor:pointer;

}
.skip-link {
  position:absolute;
  top:-100px;
  left:20px;
  padding:12px;
  background:white;
  z-index:10;

}
.skip-link:focus {
  top:12px;

}
header {
  background:white;
  border-bottom:1px solid var(--line);

}
.header-inner {
  max-width:1280px;
  margin:auto;
  padding:14px 48px;
  display:flex;
  align-items:center;
  gap:26px;

}
.logo {
  width:96px;
  height:96px;
  object-fit:contain;

}
.brand {
  border-left:1px solid var(--line);
  padding-left:26px;
  font-size:17px;
  font-weight:700;
  line-height:1.5;

}
.brand span {
  display:block;
  font-size:12px;
  font-weight:400;
  color:var(--muted);

}
.header-label,.header-action {
  margin-left:auto;

}
.header-label {
  color:var(--muted);
  font-size:12px;

}
main {
  max-width:1280px;
  margin:auto;
  padding:72px 48px 80px;
  min-height:calc(100vh - 202px);

}
.login-layout {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  align-items:center;
  gap:90px;
  min-height:480px;

}
.eyebrow {
  font-size:11px;
  letter-spacing:1.8px;
  font-weight:700;
  color:var(--muted);
  margin:0 0 18px;

}
h1,h2,h3 {
  line-height:1.16;
  letter-spacing:-1px;
  margin:0;

}
h1 {
  font-size:clamp(36px,4.5vw,58px);
  font-weight:600;

}
h1 span {
  color:#71797d;

}
.lead {
  font-size:17px;
  color:var(--muted);
  max-width:490px;
  margin:24px 0 0;

}
.intro-note {
  border-left:3px solid var(--teal);
  padding-left:18px;
  margin-top:44px;
  color:var(--muted);
  font-size:13px;

}
.card {
  background:white;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 18px 55px rgba(28,38,43,.06);

}
.sign-in {
  padding:40px;

}
.icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  background:#f0f3f3;
  border:1px solid var(--line);
  border-radius:14px;
  font-size:23px;
  font-weight:700;
  margin-bottom:30px;

}
.sign-in .eyebrow {
  font-size:10px;

}
h2 {
  font-size:28px;
  letter-spacing:-.7px;

}
.description {
  font-size:14px;
  color:var(--muted);
  margin:18px 0 28px;

}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:46px;
  padding:11px 19px;
  border-radius:10px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:600;
  transition:background .15s,border-color .15s;

}
.primary {
  background:#2b3034;
  color:white;
  box-shadow:0 4px 10px rgba(28,38,43,.1);
  width:100%;
  min-height:52px;

}
.primary:hover {
  background:#434a50;

}
.secondary {
  background:white;
  color:var(--ink);
  border-color:#d9dfe2;

}
.secondary:hover {
  background:#f0f2f3;
  border-color:#afb8bc;

}
.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid var(--teal);
  outline-offset:4px;

}
.button:disabled {
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;

}
.arrow {
  margin-left:auto;

}
.ms-mark {
  display:grid;
  grid-template-columns:7px 7px;
  gap:2px;

}
.ms-mark i {
  width:7px;
  height:7px;
  background:white;

}
.card-note {
  border-top:1px solid var(--line);
  margin-top:30px;
  padding-top:24px;
  font-size:12px;
  color:var(--muted);

}
.card-note strong {
  color:var(--ink);

}
.card-note p {
  margin:7px 0 0;

}
/* Future native fields share the accessible focus and validation language. */
input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea {
  width:100%;
  padding:12px 14px;
  border:1px solid #b8c0c5;
  border-radius:10px;
  background:white;
  color:var(--ink);

}
[aria-invalid=true] {
  border-color:#a83232;

}
input:disabled,select:disabled,textarea:disabled {
  background:#eef0f2;
  color:var(--muted);

}
.workspace-heading {
  display:flex;
  align-items:center;
  gap:30px;
  justify-content:space-between;
  margin-bottom:44px;

}
.workspace-heading h1 {
  font-size:38px;

}
.workspace-heading .lead {
  font-size:15px;
  max-width:620px;

}
.status {
  background:#eaf3f0;
  color:#285f50;
  border:1px solid #cfdfd8;
  border-radius:99px;
  font-size:12px;
  padding:8px 13px;
  white-space:nowrap;

}
.workspace {
  padding:36px;

}
.features {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;

}
.features article {
  border:1px solid var(--line);
  border-radius:13px;
  padding:24px;
  background:#fafbfb;

}
.number {
  font-size:12px;
  color:#697378;
  letter-spacing:1px;

}
h3 {
  font-size:18px;
  letter-spacing:-.3px;
  margin-top:24px;

}
.features p {
  font-size:13px;
  color:var(--muted);
  min-height:44px;

}
.badge {
  display:inline-block;
  font-size:11px;
  padding:4px 8px;
  background:#edf0f1;
  color:var(--muted);
  border-radius:6px;

}
.available {
  background:#eaf3f0;
  color:#285f50;

}
.session-note {
  font-size:12px;
  color:var(--muted);
  margin-top:24px;

}
footer {
  max-width:1280px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  padding:24px 48px;
  border-top:1px solid var(--line);
  font-size:11px;
  color:var(--muted);

}
@media(max-width:1000px) {
  .login-layout {
  gap:40px;

}
.workspace-heading {
  align-items:flex-start;
  flex-direction:column;

}
.features {
  gap:12px;

}
.features article {
  padding:18px;

}
}
@media(max-width:700px) {
  .header-inner {
  padding:12px 22px;
  gap:14px;

}
.logo {
  width:70px;
  height:70px;

}
.brand {
  border:0;
  padding:0;
  font-size:14px;

}
.brand span {
  font-size:10px;

}
.header-label {
  display:none;

}
.header-action .button {
  padding:9px 12px;
  font-size:12px;

} main {
  padding:38px 22px 48px;

}
.login-layout {
  grid-template-columns:1fr;
  gap:34px;
  min-height:0;

}
.intro h1 {
  font-size:40px;

}
.intro h1 br {
  display:none;

}
.intro-note {
  margin-top:24px;

}
.sign-in {
  padding:28px;

}
.features {
  grid-template-columns:1fr;

}
.workspace {
  padding:24px;

}
.workspace-heading h1 {
  font-size:32px;

} footer {
  padding:20px 22px;
  gap:16px;
  flex-wrap:wrap;

}
.features p {
  min-height:0;

}
}
@media(prefers-reduced-motion:reduce) {
  .button {
  transition:none;

}
}

/* Directory content remains readable on narrow screens without hiding fields. */
.directory-card { margin-top:32px; padding:32px; }
.search-controls { display:flex; gap:12px; margin-top:8px; max-width:650px; }
.search-controls .primary { width:auto; flex-shrink:0; }
.table-scroll { overflow-x:auto; margin:20px 0; }
.directory-table { width:100%; border-collapse:collapse; text-align:left; font-size:14px; }
.directory-table th { background:#f5f6f7; font-size:12px; color:var(--muted); }
.directory-table th,.directory-table td { padding:16px; border-bottom:1px solid var(--line); vertical-align:top; }
.directory-table td { overflow-wrap:anywhere; min-width:140px; }
.directory-table .badge { margin:0 4px 4px 0; }
.directory-table small { display:block; color:var(--muted); margin-top:5px; }
.muted { color:var(--muted); }
.breadcrumb { display:flex; gap:12px; align-items:center; font-size:13px; color:var(--muted); margin-bottom:28px; }
.breadcrumb a,.workspace-link { color:var(--teal); text-underline-offset:4px; }
.workspace-link { font-weight:700; }
.page-heading { display:flex; justify-content:space-between; gap:28px; align-items:flex-start; }
.page-heading h1 { font-size:clamp(32px,4vw,46px); }
.page-heading .lead { max-width:680px; }
.directory-table time { white-space:nowrap; }
.destination { overflow-wrap:anywhere; }
.inventory-results { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); }
.inventory-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; }
.inventory-summary div { padding:16px; background:#f5f6f7; border-radius:10px; }
.inventory-summary dt { color:var(--muted); font-size:13px; }
.inventory-summary dd { margin:8px 0 0; font-size:20px; font-weight:600; overflow-wrap:anywhere; }
.inventory-summary small { display:block; font-size:12px; font-weight:400; }
@media(max-width:700px) { .page-heading { flex-direction:column; gap:20px; } }
@media(max-width:700px) { .directory-card { padding:20px; } .search-controls { flex-direction:column; } }
.catalog-navigation { display:flex; gap:20px; align-items:center; flex-wrap:wrap; margin:20px 0; }

/* Progress snapshots use native meters and retain a readable layout without scripts. */
.progress-controls { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin:28px 0; }
.progress-controls label { display:flex; align-items:center; gap:8px; margin:0; }
.progress-controls input { width:auto; margin:0; }
.progress-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:24px; margin-top:24px; }
.progress-card { padding:28px; min-width:0; }
.progress-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.progress-card-heading h2 { margin-top:8px; overflow-wrap:anywhere; }
.progress-count { margin:28px 0 12px; }
.progress-count strong { font-size:28px; }
.progress-card progress { width:100%; height:16px; accent-color:var(--teal); }
.progress-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; margin:24px 0; }
.progress-metrics dt { color:var(--muted); font-size:13px; }
.progress-metrics dd { margin:6px 0 0; overflow-wrap:anywhere; font-weight:600; }
.progress-attention { border-left:4px solid #95601b; padding:12px 16px; background:#fff6e8; color:#68430f; }
@media(max-width:700px) { .progress-card { padding:20px; } }
/* Employee workflow: one navigation system and restrained service cards. */
.primary-nav {background:#fff;border-bottom:1px solid var(--line)}
.primary-nav>div {max-width:1280px;margin:auto;padding:0 48px;display:flex;gap:32px}
.primary-nav a {padding:18px 2px;text-decoration:none;color:var(--muted);font-weight:700;border-bottom:3px solid transparent}
.primary-nav a[aria-current="page"] {color:var(--teal);border-bottom-color:var(--teal)}
.primary-nav a:hover {color:var(--teal)}
.workspace-note {padding:24px;margin:28px 0;background:#eaf3f2;border:1px solid #d2e6e3;border-radius:14px;color:#365b5b}
.workspace-note p {margin:8px 0 16px}
.utility-links {display:flex;gap:24px;flex-wrap:wrap;padding-top:16px}
.service-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-option {padding:32px;border:1px solid var(--line)}
.service-symbol {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#e9f3f2;color:var(--teal);font-weight:700}
.compact {padding:8px 16px}
summary {cursor:pointer;font-weight:700}
@media(max-width:800px) {.service-grid {grid-template-columns:1fr}.primary-nav>div {padding:0 20px;gap:20px}.primary-nav a {font-size:14px}}
.backup-selection fieldset {border:0;padding:0;margin:0 0 24px;min-width:0}
.backup-selection legend {font-size:20px;font-weight:700;margin-bottom:20px}
.backup-selection label {display:flex;align-items:center;gap:12px;padding:12px 0;font-weight:700;color:var(--teal)}
.backup-selection input[type="checkbox"] {width:22px;height:22px;accent-color:var(--teal)}

/* Employee-first operations: compact rows with progressive service detail. */
.employee-table-wrap {overflow-x:auto; background:#fff; border:1px solid #e1e8e8; border-radius:18px; margin:24px 0;}
.employee-table {width:100%; border-collapse:collapse; text-align:left; min-width:760px;}
.employee-table th,.employee-table td {padding:22px 20px; vertical-align:top; border-bottom:1px solid #edf1f1;}
.employee-table thead {background:#f5f8f8; color:#536466; font-size:.82rem;}
.employee-table tbody:last-child tr:last-child td,.employee-table tbody:last-child tr:last-child th {border-bottom:0;}
.employee-name {display:block; font-size:1rem; color:#22383c; font-weight:650;}
.employee-subtitle,.service-count {display:block; margin-top:6px; color:#657476; font-size:.8rem; font-weight:400;}
.service-status {display:inline-block; font-size:.82rem; color:#5b6365; font-weight:600;}
.service-status.is-complete {color:#23776c;}
.employee-table progress {width:130px; height:6px; display:block; margin-top:10px;}
.employee-service-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px;}
.employee-detail-row {background:#f8fbfa;}
.compact-metrics {margin:16px 0;}
.compact-metrics div {display:flex; justify-content:space-between; gap:14px; padding:6px 0; font-size:.85rem;}
.compact-metrics dd {margin:0; font-weight:600;}
.table-sort {padding:0; border:0; background:transparent; font:inherit; color:inherit; cursor:pointer;}
.table-toolbar {display:flex; flex-wrap:wrap; gap:18px; align-items:end; margin-top:24px;}
.table-toolbar label {display:grid; gap:8px; font-size:.85rem; color:#526165;}
.table-toolbar input,.table-toolbar select {min-height:44px; padding:10px 14px; border:1px solid #ccd8d8; border-radius:10px; font:inherit; background:#fff;}
.table-empty {padding:48px!important; text-align:center; color:#657476;}
.employee-table-wrap [hidden] {display:none;}
@media(max-width:760px) {.employee-service-grid {grid-template-columns:1fr;} .employee-table th,.employee-table td {padding:16px;} .table-toolbar input {max-width:100%;}}

.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

main:has(.employee-table) {padding-top:40px;}
main:has(.employee-table) .page-heading h1 {font-size:2.4rem;}
.employee-table progress {accent-color:#3c8d87;}

/* Keep wide tables and their hidden captions inside their own scroll region. */
.employee-table-wrap {position:relative;max-width:100%;}
.primary-nav {overflow-x:auto;}
.primary-nav a {white-space:nowrap;flex-shrink:0;}

.backup-selection .service-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.audit-table-wrap {max-height:65vh;overflow:auto;}
.audit-table th,.audit-table td {padding:12px 16px;}
.audit-table thead {position:sticky;top:0;z-index:1;}
@media(max-width:950px) {.backup-selection .service-grid {grid-template-columns:1fr;}}


.pending-mobile-label {display:none;}
/* Pending work stays compact; receipt and coverage details remain expandable. */
.pending-workspace .page-heading {margin-bottom:16px;}
.pending-background-note {display:flex;align-items:center;gap:10px;color:#476360;font-size:.9rem;margin:0 0 28px;}
.pending-background-note>span {color:#26756c;font-size:.6rem;}
.pending-toolbar {padding:20px 24px;background:#fff;border:1px solid #e1e8e8;border-radius:16px;margin-top:0;}
.pending-toolbar label:first-child {flex:1;min-width:210px;}
.pending-toolbar input {width:100%;box-sizing:border-box;}
.pending-toolbar [data-table-feedback] {font-size:.85rem;color:#526165;padding-bottom:12px;}
.pending-workspace .progress-controls {margin-top:20px;font-size:.85rem;}
.pending-timestamp {font-size:.8rem;margin:18px 0 10px;}
.pending-workspace .employee-table-wrap {margin-top:0;box-shadow:0 4px 20px #203c3a05;}
.pending-workspace .employee-table {min-width:880px;}
.pending-workspace .employee-table th,.pending-workspace .employee-table td {padding:24px;vertical-align:middle;}
.pending-workspace .employee-table thead th {padding-top:14px;padding-bottom:14px;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;}
.pending-workspace .employee-table th:first-child {width:23%;}
.pending-workspace .employee-subtitle {font-size:.75rem;line-height:1.5;}
.pending-status {display:inline-flex;align-items:center;gap:7px;color:#375c67;font-size:.8rem;font-weight:650;line-height:1.5;}
.pending-status.is-verified {color:#236f60;}
.pending-status.is-attention {color:#8b4b17;}
.pending-progress-line {display:flex;align-items:center;gap:10px;margin-top:10px;font-size:.75rem;color:#526165;}
.pending-workspace .pending-progress-line progress {margin:0;width:100%;min-width:70px;max-width:130px;height:6px;}
.pending-service .service-count {font-size:.75rem;line-height:1.5;margin-top:7px;}
.pending-not-included {font-size:.8rem;color:#697779;}
.pending-workspace [data-expand-employee] {font-size:.8rem;min-height:38px;padding:8px 14px;}
.pending-workspace .employee-detail-row td {vertical-align:top;padding:28px;}
.pending-workspace .employee-detail-row h3 {font-size:1rem;margin-top:0;}
.pending-filter-empty {background:#fff;border:1px solid #e1e8e8;border-radius:14px;}
.pending-footnote {font-size:.8rem;max-width:720px;line-height:1.6;}
.pending-workspace :is(input,select,button,a):focus-visible {outline:3px solid #347d76;outline-offset:3px;}
@media(max-width:760px) {
 .pending-toolbar {padding:16px;gap:14px;}
 .pending-toolbar label {width:100%;}
 .pending-toolbar [data-table-feedback] {padding-bottom:0;}
 .pending-workspace .page-heading {gap:16px;}
 .pending-workspace .employee-table th,.pending-workspace .employee-table td {padding:18px;}
 .pending-background-note {align-items:baseline;line-height:1.6;}
}

@media(max-width:600px) {
 .pending-workspace .employee-table {min-width:0;table-layout:fixed;}
 .pending-workspace .employee-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .pending-workspace [data-employee-group]>tr:first-child {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;padding:20px 16px;border-bottom:1px solid #edf1f1;}
 .pending-workspace [data-employee-group]>tr:first-child>th,.pending-workspace [data-employee-group]>tr:first-child>td {padding:0;border:0;width:auto;min-width:0;}
 .pending-workspace [data-employee-group]>tr:first-child>th,.pending-workspace [data-employee-group]>tr:first-child>td:last-child {grid-column:1/-1;}
 .pending-workspace .pending-mobile-label {display:block;font-size:.7rem;font-weight:650;color:#536466;margin-bottom:8px;}
 .pending-workspace .pending-status {font-size:.72rem;align-items:baseline;}
 .pending-workspace .pending-progress-line {flex-wrap:wrap;gap:5px;}
 .pending-workspace .employee-detail-row:not([hidden]),.pending-workspace .employee-detail-row>td {display:block;width:auto;}
 .pending-workspace .employee-detail-row>td {padding:20px 16px;}
}


/* Retained archives share employee navigation, never imply missing service coverage. */
.employee-row-actions {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.archive-intro,.archive-footnote {color:#526165;font-size:.85rem;line-height:1.6;max-width:760px;}
.archive-toolbar {padding:20px 24px;background:#fff;border:1px solid #e1e8e8;border-radius:16px;}
.archive-toolbar label:first-child {flex:1;min-width:200px;}
.archive-toolbar input {width:100%;box-sizing:border-box;}
.archive-toolbar [data-table-feedback] {font-size:.85rem;color:#526165;padding-bottom:12px;}
.archive-workspace .employee-table {min-width:900px;}
.archive-workspace .employee-table td,.archive-workspace .employee-table th {vertical-align:middle;}
.archive-workspace .employee-table thead {text-transform:uppercase;font-size:.72rem;letter-spacing:.06em;}
.archive-verified {display:inline-flex;gap:6px;color:#236f60;font-weight:650;font-size:.82rem;}
.archive-service .service-count {font-size:.75rem;line-height:1.5;}
.archive-not-included {font-size:.8rem;color:#697779;}
.archive-mobile-label {display:none;}
.archive-workspace .employee-row-actions .button {width:auto;padding:8px 14px;min-height:38px;font-size:.8rem;}
.archive-empty {text-align:center;background:#fff;border:1px solid #e1e8e8;border-radius:18px;padding:44px 24px;margin:28px 0;}
.archive-empty-symbol {display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;background:#eaf4f2;color:#26756c;font-size:1.5rem;}
.archive-empty h2 {font-size:1.3rem;margin:20px 0 12px;}
.archive-empty p {max-width:490px;margin:0 auto 24px;color:#526165;line-height:1.6;}
.restore-workspace {max-width:1000px;margin:0 auto;}
.restore-selection {background:#fff;border:1px solid #e1e8e8;border-radius:18px;padding:28px;}
.restore-selection fieldset {border:0;padding:0;margin:0;}
.restore-selection legend {font-size:1.1rem;font-weight:650;margin-bottom:20px;}
.restore-service-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.restore-selection .restore-service {display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:20px;border:1px solid #d7e2e1;border-radius:12px;cursor:pointer;font-size:.85rem;font-weight:400;line-height:1.5;color:#526165;}
.restore-service-heading {display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:650;color:#22383c;}
.restore-service input {accent-color:#26756c;width:18px;height:18px;}
.restore-service:has(input:checked) {border-color:#26756c;background:#f3faf8;}
.restore-selection .restore-service:has(input:disabled) {background:#f6f8f8;cursor:default;}
.restore-unavailable {font-size:.75rem;}
.restore-safety-note {font-size:.85rem;line-height:1.7;color:#476360;margin:24px 0;}
.restore-format-note {font-size:.85rem;line-height:1.7;color:#526165;padding:16px 0;border-top:1px solid #edf1f1;}
.restore-format-note summary,.restore-history summary {cursor:pointer;font-weight:600;}
.archive-empty .primary,.restore-actions .primary {width:auto;}
.restore-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;}
.restore-history {padding:24px;margin-top:24px;border:1px solid #e1e8e8;border-radius:16px;background:#fff;line-height:1.7;}
:is(.archive-workspace,.restore-workspace) :is(input,select,button,a,summary):focus-visible {outline:3px solid #347d76;outline-offset:3px;}
@media(max-width:760px) {
 .archive-toolbar {padding:16px;}
 .archive-toolbar label {width:100%;}
 .archive-toolbar [data-table-feedback] {padding-bottom:0;}
 .restore-selection {padding:20px;}
 .restore-service-grid {grid-template-columns:1fr;}
}
@media(max-width:600px) {
 .archive-workspace .employee-table {min-width:0;table-layout:fixed;}
 .archive-workspace .employee-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .archive-workspace [data-employee-group]>tr:first-child {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;padding:20px 16px;border-bottom:1px solid #edf1f1;}
 .archive-workspace [data-employee-group]>tr:first-child>th,.archive-workspace [data-employee-group]>tr:first-child>td {padding:0;border:0;min-width:0;}
 .archive-workspace [data-employee-group]>tr:first-child>th,.archive-workspace [data-employee-group]>tr:first-child>td:last-child {grid-column:1/-1;}
 .archive-mobile-label {display:block;font-size:.7rem;font-weight:650;color:#536466;margin-bottom:8px;}
 .archive-workspace .employee-detail-row:not([hidden]),.archive-workspace .employee-detail-row>td {display:block;width:auto;}
 .archive-workspace .employee-detail-row>td {padding:20px 16px;}
}

/* Keep everyday actions prominent and secondary navigation quiet. */
.button {text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;}
a.button:hover {text-decoration:none;}
.button.primary {background:#287b7d;border-color:#287b7d;color:#fff;}
.button.primary:hover {background:#206567;}
main:has(.pending-workspace,.archive-workspace,.backup-selection,.audit-workspace) {padding-top:32px;}
main:has(.backup-selection,.audit-workspace) .page-heading h1 {font-size:2rem;line-height:1.2;}
.pending-background-note {margin-bottom:18px;}
.service-note {display:block;font-size:.72rem;color:#657476;margin-top:6px;line-height:1.5;}
.backup-selection {max-width:1100px;}
.backup-selection fieldset {border:0;padding:0;margin:0;min-width:0;}
.backup-selection legend {font-size:1rem;font-weight:600;margin-bottom:16px;}
.backup-selection .service-option {padding:24px;border:1px solid #d7e2e1;}
.service-option:has(input:checked) {background:#f3faf8;border-color:#287b7d;}
.backup-choice {display:flex;align-items:center;gap:10px;font-weight:650;font-size:1.1rem;cursor:pointer;}
.backup-choice input {width:18px;height:18px;accent-color:#287b7d;}
.backup-choice:has(input:disabled) {color:#657476;cursor:default;}
.selection-note {font-size:.82rem;color:#657476;line-height:1.6;}
.selection-note summary {cursor:pointer;}
.selection-actions {display:flex;gap:20px;align-items:center;}
.selection-actions .primary {width:auto;min-width:160px;}
:is(.backup-selection,.audit-table-wrap) :is(a,button,input,summary):focus-visible {outline:3px solid #347d76;outline-offset:3px;}
@media(max-width:600px) {
 main:has(.pending-workspace,.archive-workspace,.backup-selection,.audit-workspace) {padding-top:22px;}
 main:has(.backup-selection,.audit-workspace) .page-heading h1 {font-size:1.7rem;}
 .page-heading {margin-bottom:18px;}
 .pending-toolbar {gap:10px;}
 .pending-toolbar label {gap:5px;}
 .backup-selection .service-option {padding:20px;}
 .archive-empty {padding:28px 20px;}
}

main .pending-workspace .page-heading h1,main .archive-workspace .page-heading h1 {font-size:2rem;line-height:1.2;}
@media(max-width:600px) {
 main .pending-workspace .page-heading h1,main .archive-workspace .page-heading h1 {font-size:1.7rem;}
 .archive-toolbar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .archive-toolbar label:first-child,.archive-toolbar [data-table-feedback] {grid-column:1/-1;min-width:0;}
 .archive-toolbar label {min-width:0;}
 .archive-toolbar select {width:100%;min-width:0;}
 .archive-workspace .lead {font-size:1rem;}
}

/* Employee discovery keeps identity and the next action visible at every width. */
main:has(.employees-workspace) {padding-top:32px;}
.employees-workspace .page-heading h1 {font-size:2rem;line-height:1.2;}
.employee-search {padding:20px 24px;background:#fff;border:1px solid #e1e8e8;border-radius:16px;}
.employee-search>label {font-size:.85rem;font-weight:600;}
.employee-search .search-controls {max-width:850px;align-items:center;}
.employee-search .search-controls input {flex:1;min-width:0;}
.employee-search [hidden] {display:none;}
.employee-search .session-note {font-size:.8rem;margin:10px 0 0;}
#directory-feedback:empty {display:none;}
#directory-feedback {font-size:.85rem;margin-bottom:0;color:#526165;}
.directory-scope-note {font-size:.82rem;color:#657476;margin:18px 0;}
.employee-directory-wrap {position:relative;border:1px solid #e1e8e8;border-radius:16px;background:#fff;}
.employee-directory {min-width:840px;}
.employee-directory th,.employee-directory td {padding:16px;vertical-align:middle;}
.employee-directory thead th {white-space:nowrap;}
.employee-directory tbody th {background:#fff;font-size:.95rem;color:#22383c;font-weight:600;width:30%;overflow-wrap:anywhere;}
.employee-directory tbody th small {display:block;color:#657476;font-size:.8rem;font-weight:400;margin-top:5px;}
.employee-directory td {min-width:0;font-size:.82rem;overflow-wrap:normal;}
.employee-directory td:last-child {text-align:right;}
.employee-directory .button {min-height:40px;width:auto;padding:8px 16px;white-space:nowrap;}
.employee-licenses summary {cursor:pointer;color:#526165;font-size:.82rem;}
.employee-licenses ul {padding-left:18px;font-size:.75rem;margin-bottom:0;max-width:240px;overflow-wrap:anywhere;}
.employee-unavailable {font-size:.8rem;color:#657476;}
.employee-mobile-label {display:none;}
.directory-pagination {margin-top:20px;}
.employees-workspace .directory-help {margin-top:24px;font-size:.85rem;}
.employees-workspace :is(input,button,a,summary):focus-visible {outline:3px solid #347d76;outline-offset:3px;}
@media(max-width:900px) {
 main:has(.employees-workspace) {padding-top:22px;}
 .employees-workspace .page-heading h1 {font-size:1.7rem;}
 .employee-search {padding:16px;}
 .employee-search .search-controls {flex-direction:row;flex-wrap:wrap;}
 .employee-search .search-controls input {flex-basis:100%;}
 .employee-directory {min-width:0;}
 .employee-directory thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .employee-directory tbody tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:18px;border-bottom:1px solid #edf1f1;}
 .employee-directory tbody tr:last-child {border-bottom:0;}
 .employee-directory tbody th,.employee-directory tbody td {padding:0;border:0;width:auto;min-width:0;}
 .employee-directory tbody th,.employee-directory tbody td:last-child,.employee-directory .employee-backup-history,.employee-directory .table-empty {grid-column:1/-1;text-align:left;}
 .employee-mobile-label {display:block;color:#657476;font-size:.7rem;font-weight:600;margin-bottom:6px;}
}

/* Keep audit filtering and evidence readable without horizontal scrolling. */
.audit-filters { align-items: end; padding: 20px; background: #fff; border: 1px solid #e1e7e8; border-radius: 16px; gap: 16px; }
.audit-filters .button { width: auto; min-height: 46px; }
.audit-filters .audit-search { flex: 1 1 240px; }
.audit-filters input, .audit-filters select { width: 100%; min-height: 44px; box-sizing: border-box; }
.audit-clear, .audit-clear:visited { color: #246a6c; }
.audit-clear { align-self: center; margin-top: 20px; }
.audit-results { margin: 20px 0 12px; font-size: .9rem; overflow-wrap: anywhere; }
.audit-table td { overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .audit-filters > label { flex: 1 1 100%; min-width: 0; }
  .audit-filters .button { flex: 1 1 auto; }
  .audit-clear { margin-top: 0; }
  .audit-table-wrap { max-height: none; background: transparent; border: 0; overflow: visible; }
  .audit-table, .audit-table tbody { display: block; min-width: 0; width: 100%; }
  .audit-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .audit-table tr { display: block; background: #fff; border: 1px solid #e1e7e8; border-radius: 14px; margin-bottom: 12px; padding: 12px 16px; }
  .audit-table td { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; padding: 8px 0; border: 0; }
  .audit-table td::before { content: attr(data-label); font-size: .8rem; font-weight: 600; color: #58696c; }
}

/* Home offers four destinations, not a sequence or a second tools menu. */
main:has(.home-workspace) { padding-top: 32px; }
.home-workspace .workspace-heading { display: block; margin-bottom: 28px; }
.home-workspace h1 { font-size: 2rem; }
.home-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.home-shortcut { display: block; padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--ink); text-decoration: none; }
.home-shortcut:hover { border-color: var(--teal); background: #fafffe; }
.home-shortcut-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.home-shortcut h2 { font-size: 1.25rem; margin: 0; }
.home-shortcut-heading > span { color: var(--teal); font-size: 1.5rem; }
.home-shortcut p { margin: 12px 0 0; color: var(--muted); line-height: 1.6; }
@media (max-width: 640px) {
  .home-shortcuts { grid-template-columns: 1fr; gap: 14px; }
  .home-shortcut { padding: 22px; }
  .home-workspace h1 { font-size: 1.7rem; }
}

.archive-service-action { display: inline-flex; align-items: center; min-height: 44px; color: #246a6c; font-size: .85rem; font-weight: 600; }
.archive-service-action:visited { color: #246a6c; }
/* Keep file search usable without introducing a second navigation layer. */
.file-search { max-width: 48rem; }
.file-search label { display: block; font-weight: 600; margin-bottom: .5rem; }
.file-search-controls { display: flex; gap: .75rem; flex-wrap: wrap; }
.file-search-controls input { flex: 1; min-width: 10rem; padding: .75rem; border: 1px solid #647776; border-radius: .5rem; }
.file-search-controls input:focus-visible { outline: 3px solid #087e8b; outline-offset: 2px; }
.email-search-form input, .email-search-form select { max-width: 100%; min-height: 44px; padding: .65rem; border: 1px solid #647776; border-radius: .5rem; }
.email-search-form .file-search input { width: 100%; box-sizing: border-box; }
.email-search-filters { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin-top: 1rem; }
.email-search-filters label { display: block; margin-bottom: .4rem; }
.email-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.email-body { border-block: 1px solid #dce5e5; padding: 1.5rem 0; margin-bottom: 1.5rem; }
.email-headers dd { margin: .3rem 0 1rem; overflow-wrap: anywhere; }
.email-headers dt { font-weight: 600; }
.email-attachments { list-style: none; padding: 0; }
.email-attachments li { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; padding: .75rem 0; overflow-wrap: anywhere; }

.email-message h1 { overflow-wrap: anywhere; }

/* Native disclosure and radios keep destination planning usable without scripts.
   Preview controls never submit to the existing local recovery endpoint. */
.restore-destination-step { margin-top: 24px; }
.restore-destination-step > summary { cursor: pointer; width: fit-content; }
.restore-destination-step > summary:focus-visible { outline: 3px solid #087e8b; outline-offset: 4px; }
.restore-destination-content { margin-top: 20px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.restore-destination-content h2 { margin-top: 8px; }
.restore-destinations { display: grid; gap: 12px; margin: 24px 0; padding: 0; border: 0; }
.restore-destinations legend { margin-bottom: 12px; font-weight: 600; }
.restore-destination { display: flex; align-items: flex-start; gap: 14px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.restore-destination:has(input:checked) { border-color: #246a6c; background: #f1f8f7; }
.restore-destination:focus-within { outline: 3px solid #087e8b; outline-offset: 2px; }
.restore-destination input { flex: 0 0 auto; margin-top: 4px; accent-color: #246a6c; }
.restore-destination strong, .restore-destination span span, .restore-destination small { display: block; }
.restore-destination span span { margin-top: 6px; line-height: 1.6; font-weight: 400; color: var(--ink); }
.restore-destination small { margin-top: 8px; color: #536463; line-height: 1.5; }
.restore-selection label.restore-destination {align-items:flex-start;font-weight:400;color:var(--ink);}
.restore-destination strong {font-weight:650;color:var(--teal);}
.audit-filters .audit-worker-toggle {display:flex;align-items:center;gap:10px;font-weight:500;max-width:230px;line-height:1.5;}
.audit-filters .audit-worker-toggle input {width:20px;min-height:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--teal);}
@media(max-width:600px) {
  /* Keep every primary destination visible without a hidden horizontal tab. */
  .primary-nav {overflow:visible;}
  .primary-nav>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:6px 16px;}
  .primary-nav a {white-space:normal;text-align:center;padding:12px 8px;min-width:0;border-radius:8px;border-bottom:0;font-size:14px;}
  .primary-nav a[aria-current="page"] {background:#eaf3f2;border-bottom:0;}
  .primary-nav a:focus-visible {outline:3px solid #347d76;outline-offset:0;}
  .audit-filters .audit-worker-toggle {max-width:none;}
}
@media (max-width: 640px) {
  .restore-destination-content { padding: 16px; }
  .restore-destination { padding: 16px; }
}

/* Status colors supplement explicit text and fixed icons; they never imply completeness. */
.status-icon {flex-shrink:0; vertical-align:middle;}
.status-pill, .archive-verified, .pending-status {display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border:1px solid transparent;border-radius:999px;font-size:.76rem;font-weight:650;line-height:1.4;width:fit-content;max-width:100%;}
.status-pill.is-verified, .archive-verified, .pending-status.is-verified {color:#176047;background:#edf8f1;border-color:#c7e8d5;}
.status-pill.is-running, .pending-status.is-working {color:#235a79;background:#edf5fb;border-color:#cce0ef;}
.status-pill.is-waiting, .pending-status.is-waiting {color:#805315;background:#fff7e7;border-color:#efddb4;}
.status-pill.is-blocked, .pending-status.is-attention {color:#9b3038;background:#fff0f1;border-color:#f0cbd0;}
.archive-history-link {display:block;margin-top:14px;font-size:.82rem;font-weight:600;}
.employee-service-grid > section {border-top:3px solid #d9e9e6;}
@media (max-width:640px) {.pending-workspace .pending-status {align-items:center;}}
.archive-service {display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.archive-history-link, .archive-history-link:visited {color:#246a6c;}
.service-heading {display:flex;align-items:center;gap:8px;}
.service-heading .status-icon {color:#367a76;width:20px;height:20px;}

.access-workspace {max-width:1160px;margin:auto;}
.access-section {margin-top:24px;}
.access-member {padding:20px 0;border-top:1px solid #e1e8e8;}
.access-member h3 {margin:0 0 8px;}
.access-form {display:flex;align-items:center;flex-wrap:wrap;gap:20px;}
.access-check {display:flex;align-items:center;gap:8px;max-width:260px;}
.access-check input {width:auto;}
.access-member .muted {overflow-wrap:anywhere;}
@media(max-width:640px) {.access-form {align-items:stretch;flex-direction:column;} .access-form .button {width:100%;}}

.access-fields {display:flex;align-items:center;flex-wrap:wrap;gap:20px;border:0;padding:0;margin:0;width:100%;}
.access-fields:disabled {opacity:.7;}
@media(max-width:640px) {.access-fields {flex-direction:column;align-items:stretch;} .primary-nav a:last-child:nth-child(odd) {grid-column:1/-1;}}

.access-workspace .page-heading h1 {font-size:2rem;}
.access-search-form {display:flex;align-items:flex-end;gap:16px;}
.access-search-form label {flex:1;}
@media(max-width:640px) {.access-search-form {align-items:stretch;flex-direction:column;}}

/* Hosted queues show each employee once, with independently labelled services. */
.hosted-queues .workspace-heading {display:flex;align-items:flex-start;justify-content:space-between;gap:24px;}
.hosted-queues section {margin-top:32px;}
.queue-background-note {color:#56696c;font-size:.9rem;}
.queue-background-note>span {color:#388a78;margin-right:6px;}
.queue-section-heading {display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.queue-section-heading h2 {margin:0;font-size:1.2rem;}
.queue-count {font-size:.78rem;color:#586b6d;background:#edf2f2;border-radius:999px;padding:4px 10px;}
.hosted-queues .employee-table-wrap {margin-top:0;}
.hosted-queues .employee-table {min-width:720px;}
.hosted-queues .employee-table th,.hosted-queues .employee-table td {vertical-align:top;padding:22px;}
.hosted-queues .employee-table th:first-child {width:25%;}
.queue-service+.queue-service {margin-top:20px;padding-top:16px;border-top:1px solid #e5eeee;}
.queue-service p {margin:8px 0 3px;font-size:.85rem;color:#485f63;}
.queue-service small {color:#64777a;font-size:.75rem;}
.queue-service a {display:block;font-size:.8rem;margin-top:10px;}
.queue-service progress {display:block;width:100%;max-width:180px;height:6px;accent-color:#347e73;}
.queue-inactive {color:#8b999b;}
.queue-empty {border:1px solid #dfe9e7;border-radius:14px;background:#fff;padding:26px;text-align:center;}
.queue-empty>span {display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#edf8f1;color:#277558;}
.queue-empty h3 {font-size:1rem;margin:10px 0 6px;}
.queue-empty p {font-size:.9rem;color:#627477;margin:0;}
@media(max-width:650px) {
 .hosted-queues .workspace-heading {display:block;}
 .hosted-queues .workspace-heading .button {margin-top:12px;}
 .hosted-queues .employee-table {min-width:0;}
 .hosted-queues .employee-table thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
 .hosted-queues .employee-table tr {display:block;padding:18px;border-bottom:1px solid #e5eeee;}
 .hosted-queues .employee-table th,.hosted-queues .employee-table td {display:block;width:auto!important;border:0;padding:6px 0;}
 .hosted-queues .employee-table td:before {content:attr(data-label);display:block;font-size:.75rem;font-weight:650;color:#53696a;margin:8px 0;}
}

/* Archive lookup follows the employee search pattern without a full-width action. */
.archive-search .search-controls {flex-direction:row;flex-wrap:nowrap;}
@media(max-width:480px) {
 .archive-search .search-controls {flex-wrap:wrap;}
 .archive-search .search-controls input {flex-basis:100%;}
}

.queue-service .queue-step-heading {font-size:.8rem;font-weight:700;color:#245e58;margin:12px 0 8px;}
.queue-steps {list-style:none;padding:0;margin:0 0 12px;display:grid;gap:9px;font-size:.78rem;}
.queue-steps li {display:flex;align-items:flex-start;gap:8px;line-height:1.5;color:#718083;}
.queue-step-number {display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;height:20px;border-radius:50%;background:#eef2f3;font-size:.7rem;}
.queue-steps .is-current {color:#245e58;font-weight:650;}
.queue-steps .is-current .queue-step-number {background:#d9eeea;color:#1d6157;}
.queue-steps .is-complete .queue-step-number {background:#edf8f1;color:#277558;}
.queue-service .queue-step-note {font-size:.75rem;color:#64777a;margin-bottom:10px;}

/* Keep timing and waiting-line information readable without sideways scrolling. */
@media (max-width: 720px) {
  .backup-history .employee-table-wrap,
  .hosted-queues .employee-table-wrap { overflow: visible; border: 0; background: transparent; }
  .backup-history .employee-table,
  .hosted-queues .employee-table { display: block; min-width: 0; width: 100%; }
  .backup-history .employee-table thead,
  .hosted-queues .employee-table thead { display: none; }
  .backup-history .employee-table tbody,
  .hosted-queues .employee-table tbody { display: grid; gap: 16px; }
  .backup-history .employee-table tr,
  .hosted-queues .employee-table tr {
    display: block; padding: 16px; background: #fff;
    border: 1px solid var(--border, #dce4e7); border-radius: 16px;
  }
  .backup-history .employee-table th,
  .hosted-queues .employee-table th { display: block; padding: 0 0 12px; border: 0; }
  .backup-history .employee-table td,
  .hosted-queues .employee-table td { display: block; padding: 8px 0; border: 0; }
  .backup-history .employee-table td::before,
  .hosted-queues .employee-table td::before {
    content: attr(data-label); display: block; margin-bottom: 4px;
    color: #53666e; font-size: .8rem; font-weight: 600;
  }
  .backup-history .employee-table td { display: grid; grid-template-columns: 80px 1fr; gap: 8px; }
  .hosted-queues .employee-table td:has(.queue-inactive) { display: none; }
}

.backup-duration-summary { display: grid; gap: 4px; margin: 8px 0; color: #53666e; }
