@font-face {
  font-family: "IBM Plex Sans Local";
  src: url("/static/fonts/ibm-plex-sans-regular-latin1.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans Local";
  src: url("/static/fonts/ibm-plex-sans-semibold-latin1.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  color-scheme: light;
  --brand: #006aa6;
  --brand-dark: #004f7d;
  --brand-soft: #f1f8fc;
  --brand-focus: rgba(0, 106, 166, .24);
  --ink: #17212b;
  --muted: #5c6975;
  --line: #d7dde2;
  --surface: #ffffff;
  --surface-soft: #f4f6f7;
  --success: #1c7352;
  --danger: #a92d32;
  --radius: 8px;
  --shadow: 0 8px 28px rgba(24, 43, 58, 0.10);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.work-filters a[href='/?stage=drafts'], .work-filters a[href='/?stage=awaiting'], .work-filters a[href='/?stage=closeout'] { display: none; }
.work-queue .work-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-search > select { width: min(240px, 100%); }
.row-more { position: relative; }
.row-more summary { padding: 12px; cursor: pointer; list-style: none; }
.row-more[open] form { position: absolute; z-index: 5; right: 0; top: 100%; padding: 10px 16px; background: white; border: 1px solid #c8d2d8; box-shadow: 0 5px 15px #0002; }
.work-row-main small { font-size: .76rem !important; }
@media (max-width: 720px) {
  .page-shell:has(.work-queue) { display: flex; flex-direction: column; gap: 14px; }
  .workspace-heading-redesigned { margin-bottom: 0; }
  .workspace-heading-redesigned .muted, .page-shell .workflow-overview > header { display: none; }
  .workflow-overview { margin-bottom: 0 !important; }
  .workflow-steps > a { min-height: 88px !important; padding: 8px 12px !important; }
  .workflow-steps > a em { display: none; }
  .work-queue .work-queue-header { padding: 12px; gap: 6px; }
}

body.theme-neutral {
  --brand: #0f6b70;
  --brand-dark: #0a565b;
  --brand-soft: #e7f2f2;
  --brand-focus: rgba(26, 194, 213, .34);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: #eef1f3; color: var(--ink); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }

.app-header {
  min-height: 64px; padding: 10px max(18px, calc((100vw - 1100px) / 2));
  background: var(--surface); border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  position: sticky; top: 0; z-index: 20;
}
.brand { display: flex; align-items: center; gap: 13px; text-decoration: none; }
.brand-logo { display: block; width: 126px; height: auto; }
.brand-product { font-size: .86rem; color: var(--muted); font-weight: 650; }
.neutral-brand-mark { display: block; width: 82px; height: auto; }
.neutral-brand-copy { display: grid; gap: 1px; }
.neutral-brand-copy strong { font-size: .96rem; letter-spacing: -.015em; }
.neutral-brand-copy small { color: var(--muted); font-size: .7rem; font-weight: 650; }
.header-link { color: var(--brand-dark); font-weight: 700; text-decoration: none; padding: 10px; }
.header-actions { display: flex; align-items: center; gap: 4px; }
.header-install-link { min-height: 46px; padding: 3px 10px 3px 5px; display: flex; align-items: center; gap: 7px; color: var(--brand-dark); background: var(--brand-soft); border: 1px solid #b7d3e1; border-radius: 7px; text-decoration: none; transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.header-install-link:hover { background: #e5f3fa; border-color: #7eb4ce; box-shadow: 0 5px 13px rgba(15, 77, 111, .10); transform: translateY(-1px); }
.header-install-link:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 2px; }
.header-install-link img { width: 38px; height: 38px; display: block; object-fit: contain; filter: drop-shadow(0 4px 5px rgba(7, 61, 92, .16)); }
.header-install-link > span { display: grid; gap: 1px; line-height: 1.05; }
.header-install-link small { color: var(--muted); font-size: .58rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.header-install-link strong { font-size: .78rem; white-space: nowrap; }

.page-shell { width: min(1100px, calc(100% - 28px)); margin: 28px auto 70px; }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 20px; }
.page-heading h1, .customer-heading h1 { margin: 2px 0 0; font-size: clamp(1.65rem, 4vw, 2.4rem); letter-spacing: -0.035em; }
.workspace-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 26px; }
.workspace-heading h1 { margin: 2px 0 0; font-size: clamp(1.8rem, 4vw, 2.55rem); letter-spacing: -0.04em; }
.workspace-heading .muted { margin: 8px 0 0; }
.workspace-section { margin-top: 30px; }
.dashboard-search { max-width: 760px; display: grid; gap: 7px; }
.dashboard-search > div { display: flex; gap: 8px; }
.dashboard-search input { min-width: 0; flex: 1; }
.dashboard-search .button { flex: 0 0 auto; }
.search-summary { margin: 12px 0 -10px; color: var(--muted); font-size: .82rem; }
.eyebrow { color: var(--brand-dark); font-size: .75rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; margin: 0 0 4px; }
.muted { color: var(--muted); }

.narrow-panel, .action-panel, .success-panel, .customer-sign-form {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow);
}
.narrow-panel { width: min(440px, 100%); margin: 8vh auto; padding: 30px; }
.narrow-panel h1 { margin: 4px 0; }
.stack-form { margin-top: 24px; display: grid; gap: 18px; }

.theme-neutral {
  min-height: 100vh;
  background: #02080d url("/static/document-relay-background.png") center / cover no-repeat fixed;
  font-family: "IBM Plex Sans Local", "Avenir Next", "Helvetica Neue", sans-serif;
}
.theme-neutral::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(180deg, rgba(0, 4, 8, .28), rgba(0, 5, 10, .42));
}
.theme-neutral .app-header {
  position: absolute;
  inset: 0 0 auto;
  min-height: 106px;
  padding: 18px max(24px, calc((100vw - 1540px) / 2));
  background: transparent;
  border: 0;
}
.theme-neutral .brand { color: white; }
.theme-neutral .neutral-brand-copy { gap: 3px; }
.theme-neutral .neutral-brand-copy strong { font-size: 1.18rem; font-weight: 600; letter-spacing: .005em; }
.theme-neutral .neutral-brand-copy small { color: #b7d0da; font-size: .78rem; font-weight: 400; }
.theme-neutral .page-shell {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 124px 24px 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  place-items: center;
}
.theme-neutral .login-panel {
  width: min(600px, calc(100vw - 28px));
  min-width: 0;
  margin: 0;
  padding: 38px 42px 42px;
  color: #eaf4f7;
  background: linear-gradient(145deg, rgba(4, 20, 31, .94), rgba(5, 28, 42, .88));
  border-color: rgba(74, 184, 211, .28);
  border-radius: 10px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, .64), inset 0 1px rgba(155, 226, 240, .08);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transform: translate(3vw, -2vh);
}
.theme-neutral .login-panel .eyebrow { margin-bottom: 12px; color: #57d1dc; font-size: .78rem; font-weight: 600; letter-spacing: .13em; }
.theme-neutral .login-panel h1 { margin: 0; color: #f3f8fa; font-size: clamp(2rem, 3.2vw, 2.55rem); font-weight: 600; letter-spacing: -.025em; }
.theme-neutral .login-panel > .muted { margin: 20px 0 0; color: #afc2cb; font-size: 1rem; line-height: 1.5; }
.theme-neutral .login-panel .stack-form { margin-top: 30px; gap: 20px; }
.theme-neutral .login-panel label { color: #d6e4e9; font-size: .9rem; font-weight: 600; }
.theme-neutral .login-panel input {
  min-height: 58px;
  border-color: rgba(81, 178, 202, .48);
  background: rgba(4, 18, 28, .78);
  color: #f3f8fa;
  font-size: 1rem;
  box-shadow: inset 0 0 18px rgba(33, 151, 184, .08);
}
.theme-neutral .login-panel input:focus { border-color: #51cfe2; box-shadow: inset 0 0 18px rgba(33, 151, 184, .12), 0 0 16px rgba(55, 194, 220, .24); }
.theme-neutral .login-panel .button {
  min-height: 58px;
  background: linear-gradient(90deg, #47cae8, #24b7d7);
  color: #031118;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .015em;
  box-shadow: 0 8px 24px rgba(27, 177, 208, .2);
}
.theme-neutral .login-panel .button:hover { background: linear-gradient(90deg, #5ad5ef, #32c3e2); }
.theme-neutral .login-panel .alert.error { background: #32191e; border-color: #724049; color: #ffd8dc; }

.fsr-form { display: grid; gap: 16px; }
.form-section { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; display: grid; gap: 18px; }
.section-heading { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.section-heading > span { width: 28px; height: 28px; display: grid; place-items: center; background: var(--brand); color: white; font-weight: 800; border-radius: 4px; }
.section-heading h2 { margin: 0; font-size: 1.1rem; }

.job-assist { display: grid; gap: 15px; padding: 16px 18px; background: #f1f7fa; border: 1px solid #c4d9e4; border-left: 3px solid var(--brand); border-radius: 6px; }
.job-assist-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.job-assist-heading > div { min-width: 0; display: grid; gap: 4px; }
.job-assist-heading strong { color: var(--ink); font-size: .96rem; }
.job-assist-heading > div > span { color: var(--muted); font-size: .78rem; line-height: 1.4; }
.smartsheet-source { width: 116px; flex: 0 0 auto; padding: 5px 3px; display: block; border-radius: 3px; background: white; }
.smartsheet-source img { width: 100%; height: auto; display: block; }
.job-assist-grid { display: grid; grid-template-columns: minmax(160px, .72fr) minmax(260px, 1.6fr); gap: 12px; }
.job-assist select:disabled { color: #6f7b83; background-color: #e8edef; cursor: wait; }
.job-assist-feedback { min-height: 24px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: .76rem; }
.schedule-visit { padding: 12px 14px; border: 1px solid #c4d9e4; border-left: 3px solid var(--brand); background: #f7fbfd; }
.schedule-visit[hidden] { display: none; }
.schedule-visit > strong { display: block; color: var(--brand-dark); font-size: .82rem; }
.schedule-visit ul { margin: 8px 0 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.schedule-visit li { display: flex; justify-content: space-between; gap: 12px; color: var(--ink); font-size: .77rem; }
.schedule-visit li span { min-width: 0; overflow-wrap: anywhere; }
.schedule-visit li small { flex: 0 1 auto; color: var(--brand-dark); font-size: .73rem; font-weight: 650; text-align: right; overflow-wrap: anywhere; }
.schedule-visit li small.is-missing { color: #805809; }
.schedule-visit li.is-selectable { display: block; }
.schedule-visit .schedule-visit-choice { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 44px; padding: 5px 7px; cursor: pointer; font-size: .77rem; font-weight: 400; }
.schedule-visit .schedule-visit-choice:hover { background: #eaf4f9; }
.schedule-visit .schedule-visit-choice input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--brand); }
@media (max-width: 520px) { .schedule-visit li { display: grid; gap: 1px; } }
@media (max-width: 520px) { .schedule-visit .schedule-visit-choice { grid-template-columns: 20px minmax(0, 1fr); } .schedule-visit .schedule-visit-choice small { grid-column: 2; text-align: left; } }
.job-assist-feedback [data-state="success"] { color: var(--success); font-weight: 700; }
.job-assist-feedback [data-state="error"] { color: var(--danger); font-weight: 700; }
.job-assist-feedback .text-button { margin: -7px; font-size: .76rem; }
.prebooking-builder { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.prebooking-builder > div:first-child { min-width: 0; display: grid; gap: 4px; }
.prebooking-builder [data-prebooking-status] { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.prebooking-builder [data-prebooking-status][data-state="ready"] { color: var(--success); font-weight: 700; }
.prebooking-builder [data-prebooking-status][data-state="error"] { color: var(--danger); font-weight: 700; }
.prebooking-actions { flex: 0 0 auto; }
.prebooking-preview { overflow: hidden; border: 1px solid #b9cbd4; border-radius: 6px; background: white; }
.prebooking-preview dl { margin: 0; padding: 12px 14px; display: grid; gap: 7px; }
.prebooking-preview dl > div { min-width: 0; display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 10px; }
.prebooking-preview dt { color: var(--muted); font-size: .66rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.prebooking-preview dd { min-width: 0; margin: 0; color: var(--ink); font-size: .77rem; font-weight: 650; overflow-wrap: anywhere; }
.prebooking-preview pre { max-height: 240px; margin: 0; padding: 14px; overflow: auto; border-top: 1px solid #d6e1e7; background: #f8fafb; color: #293640; font-family: inherit; font-size: .78rem; font-weight: 500; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.button:disabled { opacity: .52; cursor: not-allowed; transform: none; }
.field-prefilled { background-color: #edf8fc; transition: background-color .8s ease; }
.field-source { display: inline-flex; margin-left: 7px; padding: 2px 5px; vertical-align: 1px; border: 1px solid #9ec4d6; border-radius: 3px; color: var(--brand-dark); background: #f3fafc; font-size: .58rem; font-weight: 800; letter-spacing: .025em; text-transform: uppercase; }
.address-review-warning { padding: 12px 14px; display: flex; align-items: flex-start; gap: 11px; color: #65450b; background: #fff9e8; border: 1px solid #dfc578; border-left: 4px solid #b8780d; border-radius: 6px; }
.address-review-warning > span { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; color: white; background: #a86b10; border-radius: 50%; font-size: .78rem; font-weight: 850; }
.address-review-warning > div { min-width: 0; }
.address-review-warning strong { display: block; font-size: .8rem; }
.address-review-warning ul { margin: 4px 0; padding-left: 18px; font-size: .74rem; line-height: 1.4; }
.address-review-warning small { color: #75633e; font-size: .66rem; line-height: 1.35; }
input.address-needs-review { border-color: #b8780d; box-shadow: 0 0 0 2px rgba(184, 120, 13, .14); }

.field-grid { display: grid; gap: 15px; }
.field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.city-row { grid-template-columns: minmax(0, 2fr) minmax(100px, .7fr); }
label { display: grid; gap: 7px; font-size: .83rem; font-weight: 700; color: #384550; }
input, select, textarea { width: 100%; border: 1px solid #aeb9c1; border-radius: 6px; background: white; color: var(--ink); padding: 12px 13px; min-height: 46px; }
textarea { resize: vertical; line-height: 1.45; }
input:focus, select:focus, textarea:focus, button:focus-visible, a:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 2px; border-color: var(--brand); }

fieldset { border: 0; padding: 0; margin: 0; }
legend { font-size: .83rem; font-weight: 750; margin-bottom: 10px; color: #384550; }
.check-grid { display: grid; gap: 8px; }
.check-grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.check-list { display: grid; gap: 6px; }
.check { display: flex; align-items: flex-start; gap: 9px; background: var(--surface-soft); border: 1px solid transparent; border-radius: 6px; padding: 11px; min-height: 46px; }
.check input, .consent input { width: 19px; height: 19px; min-height: auto; margin: 1px 0 0; accent-color: var(--brand); flex: 0 0 auto; }
.installation-checks { border-left: 3px solid var(--brand); padding: 14px 0 2px 14px; }

.photo-upload { padding: 16px; border: 1px solid #c5cfd6; border-radius: 6px; background: var(--surface-soft); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 18px; }
.photo-upload > div:first-child { min-width: 0; }
.field-label { display: block; color: #384550; font-size: .83rem; font-weight: 750; }
.field-label small { margin-left: 6px; color: var(--muted); font-size: .68rem; font-weight: 650; }
.photo-upload p { margin: 4px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.photo-picker { position: relative; display: inline-flex; }
.photo-picker input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; overflow: hidden; }
.photo-picker span { min-height: 42px; padding: 10px 14px; border: 1px solid #91a2ae; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand-dark); background: white; font-size: .78rem; font-weight: 800; cursor: pointer; }
.photo-picker:has(input:focus-visible) span { outline: 3px solid var(--brand-focus); outline-offset: 2px; border-color: var(--brand); }
.photo-preview { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.photo-preview figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid #c5cfd6; border-radius: 5px; background: white; }
.photo-preview img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.photo-preview figcaption { padding: 5px 7px; color: var(--muted); font-size: .65rem; font-weight: 700; }
.photo-feedback { grid-column: 1 / -1; margin-top: -3px !important; }
.photo-feedback[data-state="error"] { color: var(--danger); font-weight: 700; }
.supporting-upload { padding: 16px; border: 1px solid #bdd1dc; border-left: 3px solid var(--brand); border-radius: 6px; background: #f6fafc; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px 18px; }
.supporting-upload-heading { min-width: 0; display: flex; align-items: center; gap: 12px; }
.supporting-upload-heading p { margin: 4px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.4; }
.supporting-upload-icon { width: 39px; height: 39px; flex: 0 0 auto; display: grid; place-items: center; color: var(--brand); background: white; border: 1px solid #b9d4e2; border-radius: 6px; }
.supporting-upload-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.supporting-picker { justify-self: end; }
.supporting-file-list { grid-column: 1 / -1; margin: 0; padding: 0; display: grid; gap: 6px; list-style: none; }
.supporting-file-list li { min-width: 0; padding: 9px 11px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: white; border: 1px solid #cbd5db; border-radius: 5px; }
.supporting-file-list strong { min-width: 0; color: var(--ink); font-size: .76rem; overflow-wrap: anywhere; }
.supporting-file-list small { flex: 0 0 auto; color: var(--muted); font-size: .68rem; font-weight: 650; }
.saved-attachment-list { margin: 16px 0 0; padding: 0; list-style: none; border: 1px solid #cbd5db; border-radius: 4px; }
.saved-attachment-list:empty { display: none; }
.saved-attachment { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 12px 14px; }
.saved-attachment + .saved-attachment { border-top: 1px solid #cbd5db; }
.saved-attachment-link { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 12px; min-width: 0; color: var(--brand-dark); text-decoration: none; }
.saved-attachment-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #c3dae7; border-radius: 3px; background: var(--brand-soft); color: var(--brand-dark); font-size: .67rem; font-weight: 700; object-fit: cover; }
.saved-attachment-details { min-width: 0; }
.saved-attachment-details strong { display: block; font-size: .9rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.saved-attachment-details small { display: block; margin-top: 4px; color: var(--muted); font-size: .75rem; line-height: 1.4; }
.saved-attachment-link:hover strong { text-decoration: underline; }
.saved-attachment-remove { min-height: 44px; padding: 6px 10px; white-space: nowrap; }
@media (max-width: 520px) {
  .saved-attachment { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 12px; }
  .saved-attachment-remove { justify-self: end; }
}
.supporting-feedback { grid-column: 1 / -1; margin: -3px 0 0; color: var(--muted); font-size: .71rem; line-height: 1.4; }
.supporting-feedback[data-state="error"] { color: var(--danger); font-weight: 700; }

.signature-field { border: 1px solid #8b99a4; border-radius: 6px; overflow: hidden; background: white; }
.signature-field.invalid { border: 2px solid var(--danger); }
.signature-choice { display: grid; gap: 9px; }
.signature-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.signature-option { display: flex; align-items: flex-start; gap: 10px; min-height: 72px; padding: 12px; border: 1px solid #aeb9c1; border-radius: 6px; background: white; cursor: pointer; }
.signature-option:has(input:checked) { border-color: var(--brand); box-shadow: inset 0 0 0 1px var(--brand); background: var(--brand-soft); }
.signature-option input { width: 19px; height: 19px; min-height: auto; margin: 1px 0 0; accent-color: var(--brand); flex: 0 0 auto; }
.signature-option span { display: grid; gap: 4px; }
.signature-option strong { color: var(--ink); font-size: .86rem; }
.signature-option small { color: var(--muted); font-size: .74rem; font-weight: 550; line-height: 1.35; }
.electronic-signature { min-height: 92px; padding: 16px 18px 14px; border: 1px solid #91a2ae; border-left: 4px solid var(--brand); border-radius: 6px; background: #fbfdfe; display: grid; grid-template-columns: 78px minmax(0, 1fr); align-items: center; gap: 14px; }
.electronic-signature img { display: block; width: 78px; height: auto; opacity: .14; }
.electronic-signature > div { min-width: 0; display: grid; gap: 6px; }
.electronic-signature > div > span { color: var(--ink); font-size: .9rem; font-weight: 700; overflow-wrap: anywhere; }
.electronic-signature-name { font-weight: 800; }
.electronic-signature small { color: var(--muted); font-size: .72rem; font-weight: 650; }
.signature-toolbar { min-height: 40px; padding: 7px 11px; display: flex; justify-content: space-between; align-items: center; background: var(--surface-soft); border-bottom: 1px solid var(--line); font-size: .8rem; font-weight: 700; }
.signature-field canvas { width: 100%; height: 170px; display: block; touch-action: none; background: linear-gradient(to bottom, transparent 78%, #d8dee3 78%, #d8dee3 calc(78% + 1px), transparent calc(78% + 1px)); }
.text-button { appearance: none; border: 0; background: transparent; color: var(--brand-dark); font-weight: 800; cursor: pointer; padding: 7px; }

.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 11px 17px; border: 1px solid transparent; border-radius: 6px; font-weight: 800; text-decoration: none; cursor: pointer; }
.button.primary { color: white; background: var(--brand); }
.button.primary:hover { background: var(--brand-dark); }
.button.secondary { color: var(--brand-dark); background: white; border-color: #91a2ae; }
.button.full { width: 100%; }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.sticky-submit { position: sticky; bottom: 12px; z-index: 10; padding: 12px 14px; background: rgba(255,255,255,.96); border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--radius); display: flex; justify-content: space-between; align-items: center; gap: 18px; }
.sticky-submit p { margin: 0; color: var(--muted); font-size: .83rem; }
.draft-save-state { display: grid; gap: 3px; min-width: 0; }
.draft-save-state strong { color: var(--muted); font-size: .8rem; }
.draft-save-state strong[data-state="saving"], .draft-save-state strong[data-state="pending"] { color: #705711; }
.draft-save-state strong[data-state="saved"] { color: var(--success); }
.draft-save-state strong[data-state="error"] { color: var(--danger); }
.draft-save-state small { color: var(--muted); font-size: .69rem; }
.quick-draft-trash { display: none; }
.checklist-hub { gap: 16px; overflow: hidden; border-color: #9fc6da; border-left: 5px solid var(--brand); background: #f6fbfd; box-shadow: 0 8px 24px rgba(0, 63, 99, .07); }
.checklist-hub-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.checklist-hub-title { min-width: 0; display: flex; align-items: center; gap: 14px; }
.checklist-hub-icon { width: 52px; height: 52px; flex: 0 0 52px; display: grid; place-items: center; color: white; background: var(--brand); border: 1px solid #005c91; border-radius: 8px; box-shadow: 0 5px 12px rgba(0, 74, 118, .18); }
.checklist-hub-icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.checklist-hub-eyebrow { display: block; margin-bottom: 2px; color: var(--brand-dark); font-size: .65rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.checklist-hub-title h2 { margin: 0; color: #0e2e41; font-size: 1.08rem; }
.checklist-hub-title p { margin: 4px 0 0; max-width: 760px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.checklist-hub-heading .button { min-width: 180px; flex: 0 0 auto; }
.checklist-workflow-line { padding: 10px 12px; display: flex; align-items: center; gap: 10px; color: #344e5d; background: white; border: 1px solid #c8dbe5; border-radius: 6px; font-size: .68rem; font-weight: 750; }
.checklist-workflow-line span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.checklist-workflow-line b { width: 20px; height: 20px; display: inline-grid; place-items: center; color: white; background: var(--brand); border-radius: 50%; font-size: .61rem; }
.checklist-workflow-line i { min-width: 24px; height: 1px; flex: 1; background: #aec8d6; }
.draft-checklist-list { overflow: hidden; border: 1px solid #c7d2d8; border-radius: 6px; }
.draft-checklist-list article { min-height: 72px; padding: 12px 13px 12px 17px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 14px; border-bottom: 1px solid var(--line); background: white; }
.draft-checklist-list article.is-draft { box-shadow: inset 4px 0 #d28a1c; }
.draft-checklist-list article.is-ready { box-shadow: inset 4px 0 #278160; }
.draft-checklist-list article:last-child { border-bottom: 0; }
.draft-checklist-list article > div { min-width: 0; display: grid; gap: 3px; }
.draft-checklist-list strong { font-size: .78rem; overflow-wrap: anywhere; }
.draft-checklist-list span { color: var(--muted); font-size: .68rem; }
.draft-checklist-list .checklist-machine-label { color: var(--brand-dark); font-weight: 800; letter-spacing: .01em; }
.draft-checklist-list span b { color: #9b2f36; }
.checklist-card-progress { width: min(300px, 100%); height: 4px; margin-top: 4px; overflow: hidden; background: #dfe9ee; border-radius: 2px; }
.checklist-card-progress em { height: 100%; display: block; background: var(--brand); border-radius: inherit; }
.checklist-card.is-ready .checklist-card-progress em { background: #278160; }
.checklist-card-status { padding: 4px 7px; color: #75530d !important; background: #fff2cd; border: 1px solid #e3c977; border-radius: 4px; font-size: .61rem !important; font-weight: 850; white-space: nowrap; text-transform: uppercase; }
.checklist-card.is-ready .checklist-card-status { color: #176347 !important; background: #e5f4ed; border-color: #a9d2c1; }
.checklist-empty { padding: 15px 17px; display: grid; gap: 3px; background: white; border: 1px dashed #9fbcca; border-radius: 6px; }
.checklist-empty strong { color: #183a4c; font-size: .78rem; }
.checklist-empty span { color: var(--muted); font-size: .7rem; line-height: 1.45; }
.checklist-existing { margin-bottom: 22px; padding: 18px; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.checklist-existing h2 { margin: 2px 0 12px; font-size: 1.05rem; }
.checklist-catalog-form { display: grid; gap: 20px; }
.checklist-machine-picker { padding: 18px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 360px); align-items: end; gap: 24px; background: #f3f9fc; border: 1px solid #9fc6da; border-left: 5px solid var(--brand); border-radius: var(--radius); }
.checklist-machine-picker h2, .checklist-catalog-step h2 { margin: 2px 0 4px; font-size: 1.05rem; }
.checklist-machine-picker p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.checklist-machine-picker label { margin: 0; }
.checklist-machine-picker select { color: #0e2e41; background: white; border-color: #78aac4; font-weight: 800; }
.checklist-machine-picker label small { margin-top: 5px; color: var(--muted); font-size: .64rem; }
.checklist-no-machine { padding: 11px 13px; display: grid; gap: 3px; background: white; border: 1px solid #b6cdd9; border-radius: 6px; }
.checklist-no-machine strong { color: #153f56; font-size: .76rem; }
.checklist-no-machine span { color: var(--muted); font-size: .68rem; }
.checklist-machine-error { grid-column: 1 / -1; margin: 0; color: #9b2f36; font-size: .7rem; font-weight: 800; }
.checklist-catalog-step { padding: 0 2px; }
.checklist-catalog { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.checklist-catalog article { min-width: 0; min-height: 92px; padding: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 12px; background: white; border: 1px solid #c7d2d8; border-radius: var(--radius); }
.checklist-catalog-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--brand-dark); background: var(--brand-soft); border-radius: 6px; }
.checklist-catalog-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.checklist-catalog article > div:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.checklist-catalog strong { font-size: .8rem; overflow-wrap: anywhere; }
.checklist-catalog span { color: var(--muted); font-size: .68rem; line-height: 1.35; }
.checklist-catalog .checklist-template-scope { color: var(--brand-dark); font-size: .63rem; font-weight: 800; }
.checklist-form { display: grid; gap: 14px; }
.checklist-review-status { margin-bottom: 14px; padding: 13px 15px; display: grid; grid-template-columns: 34px minmax(0, 1fr) minmax(120px, 24%); align-items: center; gap: 12px; border: 1px solid; border-radius: 7px; }
.checklist-review-status.has-incomplete { color: #84262d; background: #fff6f6; border-color: #dfa4a8; }
.checklist-review-status.is-complete { color: #1b6b4d; background: #eff8f4; border-color: #aad3c1; }
.checklist-review-icon { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.checklist-review-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.checklist-review-status > div:nth-child(2) { min-width: 0; display: grid; gap: 2px; }
.checklist-review-status strong { font-size: .78rem; }
.checklist-review-status span:not(.checklist-review-icon) { color: #59666d; font-size: .68rem; line-height: 1.4; }
.checklist-review-progress { height: 7px; overflow: hidden; background: rgba(112, 48, 53, .15); border-radius: 4px; }
.checklist-review-progress i { height: 100%; display: block; background: #bd3d46; border-radius: inherit; transition: width .2s ease; }
.checklist-review-status.is-complete .checklist-review-progress { background: rgba(39, 129, 96, .16); }
.checklist-review-status.is-complete .checklist-review-progress i { background: #278160; }
.checklist-ready-download { margin-bottom: 14px; padding: 11px 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; color: var(--success); background: #eff8f4; border: 1px solid #b8d8ca; border-radius: 6px; font-size: .74rem; font-weight: 700; }
.checklist-header-fields h2 { margin: 2px 0 14px; font-size: 1.05rem; }
.checklist-section { overflow: hidden; background: white; border: 1px solid #c7d2d8; border-radius: var(--radius); }
.checklist-section > summary { min-height: 52px; padding: 11px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--brand-dark); background: #f2f8fb; cursor: pointer; font-size: .82rem; font-weight: 800; }
.checklist-section > summary small { color: var(--muted); font-size: .67rem; font-weight: 650; }
.checklist-section > summary small b { color: #9c2f37; }
.checklist-section > summary small b.is-complete { color: #247355; }
.checklist-items { display: grid; }
.checklist-item { padding: 12px 14px 12px 18px; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(140px, .4fr); gap: 10px 14px; border-top: 1px solid var(--line); transition: background .16s ease, box-shadow .16s ease; }
.checklist-item.is-unchecked { background: #fff7f7; box-shadow: inset 4px 0 #c83c45; }
.checklist-item.is-unchecked select { color: #941f28; background: #fffafa; border-color: #cf7379; box-shadow: 0 0 0 1px rgba(200, 60, 69, .08); }
.checklist-item.is-complete select { color: #176347; background: #f3faf7; border-color: #9dcbb8; }
.checklist-item.is-na select { color: #4d5d66; background: #f4f7f8; border-color: #b9c7ce; }
.checklist-item.is-issue { background: #fff8ee; box-shadow: inset 4px 0 #d07d14; }
.checklist-item.is-issue select { color: #824d09; background: #fffaf1; border-color: #d9a256; }
.checklist-item.is-input-only .checklist-item-copy { grid-column: 1 / -1; }
.checklist-item.needs-required-value { background: #fff7f7; box-shadow: inset 4px 0 #c83c45; }
.checklist-item-copy { min-width: 0; display: flex; align-items: flex-start; gap: 9px; }
.checklist-item-copy > span { min-width: 36px; color: var(--brand-dark); font-size: .67rem; font-weight: 850; }
.checklist-item-copy strong { font-size: .75rem; line-height: 1.42; }
.checklist-item select { min-height: 40px; padding-top: 7px; padding-bottom: 7px; font-size: .74rem; }
.checklist-notes { grid-column: 1 / -1; }
.checklist-notes > span { color: var(--muted); font-size: .65rem; }
.checklist-notes textarea { min-height: 58px; font-size: .75rem; }
.checklist-required-field > span { color: #153f56; font-weight: 800; }
.checklist-required-field > span b { margin-left: 6px; color: #9b2f36; font-size: .6rem; letter-spacing: .055em; text-transform: uppercase; }
.checklist-required-field small { color: #6e4b4e; font-size: .62rem; }
.checklist-item.needs-required-value .checklist-required-field textarea { background: #fffafa; border-color: #cf7379; box-shadow: 0 0 0 1px rgba(200, 60, 69, .08); }
.checklist-item:not(.needs-required-value) .checklist-required-field textarea { background: #f5faf8; border-color: #9dcbb8; }
.checklist-item:not(.needs-required-value) .checklist-required-field small { color: #247355; }
.checklist-structured-notes { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 2px 0; }
.checklist-structured-notes label { display: grid; gap: 5px; }
.checklist-structured-notes label > span { color: #153f56; font-size: .67rem; font-weight: 800; }
.checklist-structured-notes label > span small { margin-left: 5px; color: var(--muted); font-size: .6rem; font-weight: 650; text-transform: uppercase; letter-spacing: .045em; }
.checklist-structured-notes input { min-height: 44px; background: #f8fbfc; border-color: #aec6d2; font-size: .76rem; }
.checklist-delete-panel { margin-top: 22px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fffafa; border: 1px solid #dfc8c9; border-radius: var(--radius); }
.checklist-delete-panel > div { min-width: 0; display: grid; gap: 3px; }
.checklist-delete-panel strong { color: #782126; font-size: .8rem; }
.checklist-delete-panel span { color: var(--muted); font-size: .7rem; }

.report-list { display: grid; background: white; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.report-list article { min-width: 0; display: flex; align-items: center; border-bottom: 1px solid var(--line); }
.report-list article.needs-closeout { box-shadow: inset 4px 0 #bd7b16; background: #fffcf5; }
.report-list article:last-child { border-bottom: 0; }
.report-list article > a { min-width: 0; padding: 14px 10px 14px 16px; flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 16px; text-decoration: none; }
.report-list article > form { padding: 7px 9px 7px 2px; flex: 0 0 auto; }
.report-list small { display: block; color: var(--muted); margin-top: 3px; }
.report-next-step { flex: 0 0 auto; display: grid; justify-items: end; gap: 1px; }
.report-next-step > small { margin: 0; color: #81550f; font-size: .63rem; font-weight: 750; }
.list-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.list-heading h2 { margin: 0; }
.list-heading > span { color: var(--muted); font-size: .8rem; font-weight: 800; }
.list-heading-tools { display: flex; align-items: center; gap: 13px; }
.list-count { color: var(--muted); font-size: .8rem; font-weight: 800; }
.trash-nav-link { min-height: 34px; padding: 6px 9px; display: inline-flex; align-items: center; gap: 6px; color: #53616c; background: rgba(255, 255, 255, .72); border: 1px solid #c5cfd5; border-radius: 6px; font-size: .72rem; font-weight: 750; text-decoration: none; transition: color .16s ease, background .16s ease, border-color .16s ease; }
.trash-nav-link:hover { color: var(--brand-dark); background: white; border-color: #8ea8b6; }
.trash-nav-link:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 2px; }
.trash-nav-link svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.trash-nav-link em { min-width: 18px; height: 18px; padding: 0 5px; display: inline-grid; place-items: center; color: #6f3336; background: #f8e8e9; border-radius: 9px; font-size: .62rem; font-style: normal; font-weight: 850; }
.draft-list { display: grid; background: white; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.draft-list article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.draft-list article:last-child { border-bottom: 0; }
.draft-list article > a { min-width: 0; flex: 1; text-decoration: none; }
.draft-list small { display: block; color: var(--muted); margin-top: 3px; overflow-wrap: anywhere; }
.draft-actions { display: flex; align-items: center; gap: 6px; }
.button.compact { min-height: 38px; padding: 7px 12px; font-size: .78rem; }
.text-button.danger { color: var(--danger); }
.empty-workspace-state { min-height: 104px; padding: 22px; display: grid; align-content: center; gap: 5px; background: white; border: 1px dashed #b8c3ca; border-radius: var(--radius); }
.empty-workspace-state span { color: var(--muted); font-size: .84rem; }
.prebooking-launch { position: relative; isolation: isolate; min-height: 176px; margin: -7px 0 22px; padding: 24px 27px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: center; gap: 24px; color: var(--ink); background: white; border: 1px solid #adc9d8; border-left: 4px solid var(--brand); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(28, 53, 69, .08); text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.prebooking-launch::after { content: ""; position: absolute; z-index: -1; width: 340px; height: 340px; right: -92px; top: -83px; border-radius: 50%; background: #e8f4fa; }
.prebooking-launch:hover { border-color: #73abc5; box-shadow: 0 13px 32px rgba(20, 70, 97, .13); transform: translateY(-2px); }
.prebooking-launch:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 3px; }
.prebooking-launch-copy { min-width: 0; display: grid; justify-items: start; gap: 7px; }
.prebooking-launch-meta { display: flex; align-items: center; gap: 9px; }
.prebooking-launch-meta b { color: var(--brand-dark); font-size: .7rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.prebooking-launch-meta em { padding: 3px 6px; border: 1px solid #9ecab7; border-radius: 3px; color: #165f46; background: #f2faf6; font-size: .64rem; font-style: normal; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.prebooking-launch-copy > strong { font-size: 1.32rem; letter-spacing: -.025em; }
.prebooking-launch-copy > small { max-width: 620px; color: var(--muted); font-size: .82rem; line-height: 1.45; }
.prebooking-launch-action { min-height: 39px; margin-top: 4px; padding: 8px 13px; display: inline-flex; align-items: center; gap: 11px; color: white; background: var(--brand); border-radius: 5px; font-size: .78rem; font-weight: 800; }
.prebooking-launch-action span { font-size: 1.08rem; line-height: 1; transition: transform .16s ease; }
.prebooking-launch:hover .prebooking-launch-action span { transform: translateX(3px); }
.prebooking-launch-art { position: relative; z-index: 1; height: 134px; display: grid; place-items: center; }
.prebooking-launch-art img { width: 178px; max-width: 100%; height: auto; display: block; filter: drop-shadow(0 13px 13px rgba(10, 66, 95, .18)); }
.field-report-launch { max-width: 760px; margin: -6px 0 22px; padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid #c8d2d8; border-radius: var(--radius); background: white; }
.field-report-launch > span { min-width: 0; display: grid; gap: 3px; }
.field-report-launch b { color: var(--brand-dark); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.field-report-launch strong { font-size: .9rem; }
.field-report-launch small { color: var(--muted); font-size: .73rem; line-height: 1.35; }
.field-report-launch .button { flex: 0 0 auto; }
.closeout-reminder { max-width: 920px; min-height: 98px; margin: -7px 0 22px; padding: 14px 17px; display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; align-items: center; gap: 16px; color: var(--ink); background: linear-gradient(95deg, #fffaf0, #fff 72%); border: 1px solid #d9c08a; border-left: 4px solid #bd7b16; border-radius: var(--radius); box-shadow: 0 7px 20px rgba(85, 60, 18, .08); text-decoration: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.closeout-reminder:hover { border-color: #bd8c35; box-shadow: 0 11px 28px rgba(85, 60, 18, .13); transform: translateY(-1px); }
.closeout-reminder:focus-visible { outline: 3px solid var(--brand-focus); outline-offset: 3px; }
.closeout-reminder > img { width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 8px 8px rgba(91, 66, 22, .13)); }
.closeout-reminder > span { min-width: 0; display: grid; gap: 4px; }
.closeout-reminder b { color: #81550f; font-size: .66rem; letter-spacing: .075em; text-transform: uppercase; }
.closeout-reminder strong { font-size: .98rem; letter-spacing: -.012em; }
.closeout-reminder small { color: var(--muted); font-size: .73rem; line-height: 1.38; }
.closeout-reminder > em { min-height: 38px; padding: 8px 11px; display: inline-flex; align-items: center; gap: 8px; color: #734a0c; background: white; border: 1px solid #d4b77e; border-radius: 5px; font-size: .75rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.closeout-reminder > em span { font-size: 1rem; transition: transform .16s ease; }
.closeout-reminder:hover > em span { transform: translateX(3px); }
.closeout-queue-heading { max-width: 920px; min-height: 128px; padding: 8px 20px 8px 0; align-items: center; border-bottom: 1px solid #cbd5db; }
.closeout-queue-heading .muted { max-width: 660px; margin: 7px 0 0; line-height: 1.45; }
.closeout-queue-heading > img { width: 126px; height: 112px; object-fit: contain; filter: drop-shadow(0 12px 12px rgba(12, 67, 96, .15)); }
.engineer-picker, .engineer-closeout-selection { max-width: 920px; overflow: hidden; background: white; border: 1px solid #b8c8d1; border-radius: var(--radius); box-shadow: 0 8px 24px rgba(28, 53, 69, .07); }
.closeout-section-heading { padding: 18px 20px; display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 12px; background: #f4f8fa; border-bottom: 1px solid #ccd9df; }
.closeout-section-heading > span { width: 30px; height: 30px; display: grid; place-items: center; color: white; background: var(--brand); border-radius: 5px; font-size: .8rem; font-weight: 850; }
.closeout-section-heading h2, .engineer-closeout-selection h2, .closeout-empty-state h2 { margin: 0; font-size: 1.08rem; }
.closeout-section-heading p, .engineer-closeout-selection header p, .closeout-empty-state p { margin: 3px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.4; }
.engineer-choice-list { display: grid; }
.engineer-choice-list > a { min-height: 72px; padding: 12px 17px; display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 13px; border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: background .15s ease, box-shadow .15s ease; }
.engineer-choice-list > a:last-child { border-bottom: 0; }
.engineer-choice-list > a:hover { background: #f7fbfd; box-shadow: inset 4px 0 var(--brand); }
.engineer-choice-list > a:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--brand-focus); outline-offset: -3px; }
.engineer-avatar { width: 40px; height: 40px; display: grid; place-items: center; color: white; background: #176f9f; border-radius: 50%; font-size: .95rem; font-weight: 850; }
.engineer-choice-list > a > span:nth-child(2) { min-width: 0; display: grid; gap: 3px; }
.engineer-choice-list strong { font-size: .86rem; }
.engineer-choice-list small { color: var(--muted); font-size: .7rem; }
.engineer-choice-list em, .closeout-report-list em { display: inline-flex; align-items: center; gap: 9px; color: var(--brand-dark); font-size: .75rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.engineer-choice-list em span, .closeout-report-list em span { font-size: 1rem; transition: transform .15s ease; }
.engineer-choice-list > a:hover em span, .closeout-report-list > a:hover em span { transform: translateX(3px); }
.engineer-closeout-selection > header { padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #f4f8fa; border-bottom: 1px solid #ccd9df; }
.engineer-closeout-selection > header > div { min-width: 0; }
.engineer-closeout-selection > header .eyebrow { margin-bottom: 3px; }
.closeout-report-list { display: grid; }
.closeout-report-list > a { min-height: 84px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: var(--ink); border-bottom: 1px solid var(--line); text-decoration: none; transition: background .15s ease, box-shadow .15s ease; }
.closeout-report-list > a:last-child { border-bottom: 0; }
.closeout-report-list > a:hover { background: #fffcf5; box-shadow: inset 4px 0 #bd7b16; }
.closeout-report-list > a:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--brand-focus); outline-offset: -3px; }
.closeout-report-list > a > span { min-width: 0; display: grid; gap: 3px; }
.closeout-report-list strong { font-size: .89rem; }
.closeout-report-list small { color: var(--muted); font-size: .69rem; line-height: 1.35; overflow-wrap: anywhere; }
.closeout-empty-state { max-width: 920px; min-height: 150px; padding: 26px; display: flex; align-items: center; justify-content: center; gap: 15px; text-align: left; background: white; border: 1px dashed #aac8b9; border-radius: var(--radius); }
.closeout-empty-state > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; color: white; background: var(--success); border-radius: 50%; font-size: 1.25rem; font-weight: 900; }
.prebooking-page-heading { align-items: center; }
.prebooking-page-heading .muted { max-width: 670px; margin: 8px 0 0; }
.prebooking-workspace { max-width: 920px; overflow: hidden; border: 1px solid #bdcad2; border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.prebooking-workspace-intro { min-height: 150px; padding: 20px 24px; display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; align-items: center; gap: 20px; background: #f3f8fb; border-bottom: 1px solid #cfdae0; }
.prebooking-workspace-intro > img { width: 108px; height: 108px; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(10, 66, 95, .15)); }
.prebooking-workspace-intro > div { min-width: 0; }
.prebooking-stage { color: var(--brand-dark); font-size: .67rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.prebooking-workspace-intro h2 { margin: 5px 0 4px; font-size: 1.3rem; letter-spacing: -.02em; }
.prebooking-workspace-intro p { max-width: 570px; margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.prebooking-step { padding: 24px; display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 15px; border-bottom: 1px solid var(--line); }
.prebooking-step:last-child { border-bottom: 0; }
.prebooking-email-step { background: #fbfcfd; }
.prebooking-step-number { width: 30px; height: 30px; display: grid; place-items: center; color: white; background: var(--brand); border-radius: 5px; font-size: .78rem; font-weight: 850; }
.prebooking-step-content { min-width: 0; display: grid; gap: 16px; }
.prebooking-step-content > div:first-child h3, .prebooking-builder h3 { margin: 0; font-size: .98rem; }
.prebooking-step-content > div:first-child p { margin: 4px 0 0; color: var(--muted); font-size: .76rem; }
.prebooking-number-rule { margin: -6px 0 0 !important; padding: 9px 11px; color: #684f10 !important; background: #fff9e8; border-left: 3px solid #d4a72c; font-size: .72rem !important; line-height: 1.4; }
.prebooking-send-note { margin: -5px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.status { display: inline-flex; align-items: center; white-space: nowrap; border-radius: 999px; padding: 5px 9px; font-size: .72rem; font-weight: 800; background: #fff2cf; color: #705711; }
.status.signed { background: #dff3ea; color: var(--success); }
.status.closed { background: #dff3ea; color: var(--success); }
.status.unopened { background: #eef2f4; color: #52616b; }
.status.viewed { background: #e3f2f8; color: var(--brand-dark); border: 1px solid #9cc9dc; }
.status.closeout-needed { background: #fff0c8; color: #754b0d; border: 1px solid #e2c078; }
.status.expired { background: #fbe9e9; color: var(--danger); }
.status.recalled { background: #f4e9ea; color: #84262b; border: 1px solid #ddb8ba; }
.status.expiring { box-shadow: inset 0 0 0 1px #d7a733; }
.status.large { font-size: .8rem; padding: 7px 11px; }

.action-panel, .success-panel { padding: 24px; }
.action-panel h2, .success-panel h2 { margin: 4px 0; }
.customer-journey { margin: 0 0 20px; overflow: hidden; background: white; border: 1px solid #c8d2d8; border-radius: var(--radius); box-shadow: 0 5px 16px rgba(24, 43, 58, .05); }
.customer-journey > header { min-height: 64px; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.customer-journey h2 { margin: 0; font-size: 1rem; letter-spacing: -.015em; }
.customer-journey > header .eyebrow { margin-bottom: 1px; font-size: .6rem; }
.customer-journey > header > span { color: var(--muted); font-size: .69rem; font-weight: 650; text-align: right; }
.customer-journey > header > span.warning { color: #7d570e; }
.customer-journey ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; border-top: 1px solid var(--line); }
.customer-journey li { min-width: 0; min-height: 70px; padding: 12px 14px; display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 10px; border-right: 1px solid var(--line); background: #fbfcfd; }
.customer-journey li:last-child { border-right: 0; }
.customer-journey li > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #bbc7ce; border-radius: 50%; color: #71808a; background: white; font-size: .7rem; font-weight: 850; }
.customer-journey li > div { min-width: 0; display: grid; gap: 3px; }
.customer-journey li strong { font-size: .78rem; }
.customer-journey li small { color: var(--muted); font-size: .65rem; line-height: 1.35; overflow-wrap: anywhere; }
.customer-journey li.complete { background: #f4faf7; }
.customer-journey li.complete > span { color: white; background: var(--success); border-color: var(--success); }
.customer-journey li.current { background: var(--brand-soft); }
.customer-journey li.current > span { color: white; background: var(--brand); border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-focus); }
.customer-journey li.warning { background: #fff9ea; }
.customer-journey li.warning > span { color: #765012; border-color: #d8b564; background: #fff5d9; }
.link-box { margin: 20px 0; border: 1px solid #b8c3ca; background: var(--surface-soft); border-radius: 6px; padding: 8px 8px 8px 12px; display: flex; align-items: center; gap: 12px; }
.link-box span { min-width: 0; overflow-wrap: anywhere; flex: 1; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .82rem; }
.archive-note { color: var(--muted); font-size: .82rem; margin: 14px 0 0; }
.customer-delivery-panel { margin-top: 20px; padding: 20px 22px; background: #f7fbfd; border: 1px solid #b9d2de; border-left: 4px solid var(--brand); border-radius: var(--radius); }
.customer-delivery-panel > div:first-child h2 { margin: 3px 0 5px; font-size: 1.08rem; }
.customer-delivery-panel > div:first-child > p:last-child { max-width: 820px; margin: 0; color: var(--muted); font-size: .79rem; line-height: 1.45; }
.customer-delivery-panel .link-box { margin: 16px 0 12px; background: white; }
.customer-delivery-panel.expired { border-color: #d2d9dd; border-left-color: #8c989f; background: #f7f8f9; }
.supporting-files-panel { margin-top: 22px; padding: 22px; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.supporting-files-panel h2 { margin: 3px 0 5px; font-size: 1.1rem; }
.supporting-files-panel > div > p:last-child { margin: 0 0 15px; color: var(--muted); font-size: .8rem; }
.stored-file-list { grid-column: auto; }
.stored-file-list li { padding: 0; }
.stored-file-list a { width: 100%; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-decoration: none; }
.stored-file-list a:hover strong { color: var(--brand-dark); text-decoration: underline; }
.closeout-workspace { margin-top: 24px; overflow: hidden; background: white; border: 1px solid #a9c6d5; border-radius: var(--radius); box-shadow: 0 10px 28px rgba(23, 68, 91, .09); }
.closeout-hero { position: relative; isolation: isolate; min-height: 184px; padding: 25px 28px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) 228px; align-items: center; gap: 25px; background: #f0f8fc; border-bottom: 1px solid #c3d8e3; }
.closeout-hero::after { content: ""; position: absolute; z-index: -1; right: -72px; top: -118px; width: 360px; height: 360px; border-radius: 50%; background: #dceff8; }
.closeout-hero > div { min-width: 0; }
.closeout-stage { color: var(--brand-dark); font-size: .7rem; font-weight: 850; letter-spacing: .085em; text-transform: uppercase; }
.closeout-stage em { margin-left: 7px; padding: 3px 6px; color: #165f46; background: #f1faf5; border: 1px solid #98c9b4; border-radius: 3px; font-size: .62rem; font-style: normal; letter-spacing: .035em; }
.closeout-hero h2 { margin: 8px 0 5px; font-size: 1.42rem; letter-spacing: -.027em; }
.closeout-hero p { max-width: 650px; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.48; }
.closeout-hero img { position: relative; z-index: 1; justify-self: center; width: 190px; max-width: 100%; height: auto; filter: drop-shadow(0 15px 15px rgba(12, 67, 96, .18)); }
.closeout-content { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); }
.closeout-setup, .closeout-email-editor { min-width: 0; padding: 24px; }
.closeout-setup { border-right: 1px solid var(--line); background: #fbfcfd; }
.territory-match { margin: 9px 0 17px; padding: 9px 11px; color: var(--success); background: #eff8f4; border-left: 3px solid #69a98f; font-size: .72rem; font-weight: 650; line-height: 1.42; }
.territory-match.needs-review { color: #705711; background: #fff9e8; border-left-color: #d4a72c; }
.closeout-package-summary { padding: 13px; display: flex; align-items: center; justify-content: space-between; gap: 13px; background: white; border: 1px solid #bdcad2; border-radius: 6px; }
.closeout-package-summary > div { min-width: 0; display: grid; gap: 3px; }
.closeout-package-summary strong { font-size: .8rem; }
.closeout-package-summary span { color: var(--muted); font-size: .69rem; line-height: 1.35; }
.closeout-setup .stored-file-list { margin-top: 10px; }
.closeout-email-editor { display: grid; align-content: start; gap: 14px; }
.closeout-recipients { overflow: hidden; border: 1px solid #c6d0d6; border-radius: 6px; }
.closeout-recipients > div { padding: 9px 11px; display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 9px; border-bottom: 1px solid var(--line); }
.closeout-recipients > div:last-child { border-bottom: 0; }
.closeout-recipients span { color: var(--muted); font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.closeout-recipients strong { min-width: 0; font-size: .73rem; overflow-wrap: anywhere; }
.closeout-email-editor textarea { min-height: 145px; font-size: .8rem; }
.closeout-actions { justify-content: flex-end; }
.closeout-note { margin: -3px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.closeout-finish { padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff9e9; border-top: 1px solid #ddc48b; }
.closeout-finish > div { min-width: 0; display: grid; gap: 3px; }
.closeout-finish strong { color: #6d480e; font-size: .84rem; }
.closeout-finish span { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.closeout-finish form { flex: 0 0 auto; }
.closeout-finish.completed { background: #eff8f4; border-top-color: #b8d8ca; }
.closeout-finish.completed strong { color: var(--success); }
.closeout-workspace.completed { border-color: #aed0c0; }
.closeout-workspace.completed .closeout-hero { background: #f1f8f5; border-bottom-color: #c4dbd1; }
.closeout-workspace.completed .closeout-hero::after { background: #dfefe8; }
.share-feedback { min-height: 1.2em; margin: 12px 0 0; color: var(--muted); font-size: .8rem; }
.qr-panel { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.qr-panel summary { width: fit-content; color: var(--brand-dark); font-size: .82rem; font-weight: 800; cursor: pointer; }
.qr-panel > div { margin-top: 13px; display: flex; align-items: center; gap: 18px; }
.qr-panel img { width: 232px; max-width: 50%; height: auto; padding: 8px; border: 1px solid #c5cfd6; border-radius: 6px; background: white; }
.qr-panel p { max-width: 330px; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.link-expiration { margin: -10px 0 18px; color: var(--muted); font-size: .78rem; }
.link-expiration.warning { color: #765012; }
.expiry-field { width: min(320px, 100%); }
.regenerate-link-form { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; align-items: end; gap: 12px; }
.regenerate-link-form label { width: min(230px, 100%); }
.regenerate-link-form > div { display: grid; gap: 5px; }
.regenerate-link-form small { color: var(--muted); font-size: .7rem; font-weight: 550; }
.recall-report-form { margin-top: 20px; padding: 14px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff9e9; border: 1px solid #dfc485; border-radius: 6px; }
.recall-report-form > div { min-width: 0; display: grid; gap: 3px; }
.recall-report-form strong { color: #714b0f; font-size: .8rem; }
.recall-report-form small { color: var(--muted); font-size: .7rem; line-height: 1.4; }
.recall-report-form .button { flex: 0 0 auto; }
.recalled-report-panel { padding: 24px; display: grid; gap: 18px; color: #5f2629; background: #fff8f8; border: 1px solid #dab6b8; border-left: 4px solid #9e3035; border-radius: var(--radius); box-shadow: var(--shadow); }
.recalled-report-panel h2 { margin: 3px 0 5px; }
.recalled-report-panel p:last-child { margin: 0; color: var(--muted); font-size: .8rem; }
.report-trash-panel { margin-top: 20px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border: 1px solid #dfc8c9; border-radius: var(--radius); background: #fffafa; }
.report-trash-panel > div { min-width: 0; display: grid; gap: 4px; }
.report-trash-panel strong { color: #782126; font-size: .86rem; }
.report-trash-panel span { color: var(--muted); font-size: .76rem; line-height: 1.4; }
.danger-button { color: var(--danger) !important; border-color: #d8aeb0 !important; }

.trash-heading { align-items: center; }
.trash-policy { padding: 17px 18px; display: flex; align-items: flex-start; gap: 13px; border: 1px solid #c8d3da; border-radius: var(--radius); background: white; }
.trash-policy-icon { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; color: #5d6b75; border: 1px solid #c8d3da; border-radius: 7px; background: #f5f7f8; }
.trash-policy-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.trash-policy strong { font-size: .88rem; }
.trash-policy p { max-width: 800px; margin: 4px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.trash-section { margin-top: 26px; }
.trash-list { display: grid; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.trash-list article { padding: 15px 16px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
.trash-list article:last-child { border-bottom: 0; }
.trash-report-details { min-width: 0; display: grid; gap: 4px; }
.trash-report-title { display: flex; align-items: center; gap: 9px; }
.trash-report-title > strong { min-width: 0; overflow-wrap: anywhere; }
.trash-report-details > small, .trash-report-details > span, .trash-report-actions > small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.trash-report-actions { flex: 0 0 auto; display: grid; justify-items: end; gap: 8px; text-align: right; }
.trash-empty-state { min-height: 140px; }

.customer-heading { text-align: center; margin: 16px auto 22px; }
.customer-heading p:last-child { color: var(--muted); margin: 8px 0 0; }
.pdf-panel { background: #c9d0d5; border: 1px solid #adb8bf; padding: 10px; border-radius: var(--radius); }
.pdf-panel iframe { display: block; width: 100%; height: min(72vh, 850px); border: 0; background: white; }
.pdf-fallback { display: block; text-align: center; padding: 10px 6px 2px; color: var(--brand-dark); font-weight: 750; }
.customer-sign-form { margin: 18px auto 0; padding: 24px; display: grid; gap: 18px; width: min(760px, 100%); }
.customer-sign-form h2 { margin: 0; }
.customer-sign-intro { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.customer-sign-intro > div { min-width: 0; }
.customer-sign-intro .eyebrow { margin-bottom: 3px; }
.customer-sign-intro p:last-child { max-width: 520px; margin: 6px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.customer-sign-intro .button { flex: 0 0 auto; }
.customer-report-review { margin: 26px 0 0; }
.customer-report-review > div:first-child { margin: 0 0 10px; }
.customer-report-review h2 { margin: 0; font-size: 1.08rem; }
.consent { display: flex; gap: 10px; align-items: flex-start; background: var(--surface-soft); padding: 13px; border-radius: 6px; line-height: 1.4; }
.customer-complete { max-width: 620px; margin: 50px auto; text-align: center; }
.customer-attachments { margin: 24px auto 0; padding: 18px; text-align: left; background: #f7fafc; border: 1px solid #cbd8df; border-radius: 7px; }
.customer-checklists { margin: 24px auto 0; padding: 18px; text-align: left; background: #f3f9fc; border: 1px solid #aed0df; border-left: 4px solid var(--brand); border-radius: 7px; }
.customer-checklists.pre-sign { width: min(760px, 100%); margin-top: 0; margin-bottom: 18px; }
.customer-checklists h2, .customer-checklists h3 { margin: 3px 0 4px; font-size: 1rem; }
.customer-checklists > div > p:last-child, .customer-checklists > p:not(.eyebrow) { margin: 0 0 12px; color: var(--muted); font-size: .76rem; line-height: 1.45; }
.customer-checklists .stored-file-list { margin: 12px 0 0; }
.customer-attachments h3 { margin: 3px 0 4px; font-size: 1rem; }
.customer-attachments > p:not(.eyebrow) { margin: 0 0 12px; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.customer-attachments .stored-file-list { margin: 0; }
.success-mark { width: 52px; height: 52px; margin: 0 auto 12px; border-radius: 50%; display: grid; place-items: center; background: var(--success); color: white; font-size: 1.8rem; font-weight: 900; }
.hash { margin-top: 20px; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .7rem; overflow-wrap: anywhere; }
.alert { padding: 14px; border-radius: 6px; margin: 16px 0; }
.alert.info { background: #eaf3f8; border: 1px solid #bed4e1; color: var(--brand-dark); }
.alert.error { background: #fbe9e9; border: 1px solid #e7bfc1; color: #7c2025; }
.alert.success { background: #e6f4ed; border: 1px solid #b9dece; color: #145b40; }
.offline-recovery { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.offline-recovery .text-button { flex: 0 0 auto; }

.install-page { display: grid; gap: 44px; }
.install-hero { min-height: 470px; padding: clamp(28px, 5vw, 54px); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: center; gap: clamp(32px, 7vw, 90px); overflow: hidden; border: 1px solid #c3d5df; border-radius: 12px; background: linear-gradient(120deg, #ffffff 0 57%, #eaf5fa 57% 100%); box-shadow: var(--shadow); }
.install-hero-copy { max-width: 590px; }
.install-hero h1 { max-width: 570px; margin: 5px 0 14px; font-size: clamp(2.05rem, 5vw, 3.55rem); line-height: 1.03; letter-spacing: -.055em; }
.install-intro { max-width: 590px; margin: 0; color: var(--muted); font-size: clamp(1rem, 2vw, 1.14rem); line-height: 1.58; }
.install-runtime-status { width: min(520px, 100%); margin: 24px 0 20px; padding: 12px 14px; display: flex; align-items: center; gap: 11px; border: 1px solid #c5d3da; border-radius: 7px; background: #f5f8f9; }
.install-runtime-status > span { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: #82929c; box-shadow: 0 0 0 4px rgba(130, 146, 156, .13); }
.install-runtime-status > div { min-width: 0; display: grid; gap: 2px; }
.install-runtime-status strong { font-size: .82rem; }
.install-runtime-status small { color: var(--muted); font-size: .72rem; line-height: 1.35; }
.install-runtime-status[data-state="installed"] { border-color: #a7d6c1; background: #edf8f3; }
.install-runtime-status[data-state="installed"] > span { background: var(--success); box-shadow: 0 0 0 4px rgba(28, 115, 82, .13); }
.install-runtime-status[data-state="ready"] { border-color: #9dc9dd; background: var(--brand-soft); }
.install-runtime-status[data-state="ready"] > span { background: var(--brand); box-shadow: 0 0 0 4px var(--brand-focus); }
.install-runtime-status[data-state="attention"] { border-color: #e1c881; background: #fff9e8; }
.install-runtime-status[data-state="attention"] > span { background: #a97808; box-shadow: 0 0 0 4px rgba(169, 120, 8, .13); }

.install-home-preview { position: relative; width: 248px; height: 458px; justify-self: center; padding: 22px 17px; overflow: hidden; color: white; border: 8px solid #11161a; border-radius: 42px; background: radial-gradient(circle at 20% 20%, rgba(63, 196, 239, .52), transparent 25%), radial-gradient(circle at 84% 54%, rgba(31, 115, 196, .48), transparent 30%), linear-gradient(155deg, #0e273b, #061019 68%); box-shadow: 0 30px 50px rgba(25, 71, 96, .27); }
.preview-status, .ios-status { height: 24px; display: flex; align-items: flex-start; justify-content: space-between; font-size: 8px; letter-spacing: -.02em; }
.preview-status::before, .ios-island { content: ""; position: absolute; left: 50%; width: 70px; height: 20px; transform: translateX(-50%); border-radius: 999px; background: #020304; }
.preview-status > span { width: 11px; height: 7px; margin-left: auto; border: solid white; border-width: 0 0 1.5px 1.5px; transform: skew(-12deg); opacity: .9; }
.preview-status > i { width: 8px; height: 7px; margin-left: 4px; border: 1px solid white; border-radius: 50%; opacity: .9; }
.preview-status > b { width: 13px; height: 7px; margin-left: 4px; border: 1px solid white; border-radius: 2px; }
.preview-wallpaper-lines, .done-wallpaper-lines { position: absolute; inset: 50px -80px 80px -80px; opacity: .4; background: repeating-radial-gradient(ellipse at 62% 48%, transparent 0 21px, rgba(36, 174, 226, .4) 22px 23px, transparent 24px 38px); transform: rotate(-12deg); }
.preview-app-grid { position: relative; margin-top: 27px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; opacity: .38; }
.preview-app { width: 43px; height: 43px; border-radius: 11px; background: linear-gradient(145deg, #7b9db1, #345469); box-shadow: inset 0 1px rgba(255,255,255,.35); }
.preview-app.alt { background: linear-gradient(145deg, #6286a0, #143d56); }
.preview-fsr-app { position: relative; margin: 43px auto 0; width: 86px; display: grid; justify-items: center; gap: 7px; }
.preview-fsr-app img { display: block; width: 64px; height: 64px; border-radius: 15px; box-shadow: 0 9px 24px rgba(0,0,0,.34); }
.preview-fsr-app strong { width: 100px; text-align: center; color: white; font-size: 10px; font-weight: 600; text-shadow: 0 1px 4px #000; }
.preview-dock { position: absolute; left: 16px; right: 16px; bottom: 20px; height: 64px; padding: 9px; display: flex; justify-content: space-around; gap: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 20px; background: rgba(220, 239, 247, .2); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
.preview-dock span { width: 42px; height: 42px; border-radius: 11px; background: rgba(193, 220, 232, .43); }
.preview-home-indicator { position: absolute; left: 50%; bottom: 7px; width: 82px; height: 3px; transform: translateX(-50%); border-radius: 5px; background: rgba(255,255,255,.9); }

.install-instructions { display: grid; gap: 20px; }
.install-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.install-section-heading h2 { margin: 2px 0 0; font-size: clamp(1.55rem, 3vw, 2.1rem); letter-spacing: -.035em; }
.install-section-heading > p { width: min(420px, 48%); margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.install-steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; list-style: none; }
.install-step { min-width: 0; padding: 22px; display: grid; grid-template-rows: auto 1fr auto; gap: 18px; border: 1px solid var(--line); border-radius: 10px; background: white; box-shadow: 0 5px 18px rgba(24, 43, 58, .06); }
.install-step-copy { display: flex; align-items: flex-start; gap: 12px; }
.step-number { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; color: white; border-radius: 5px; background: var(--brand); font-size: .85rem; font-weight: 850; }
.install-step h3 { margin: 2px 0 6px; font-size: 1.06rem; }
.install-step-copy p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.install-tap-note { min-height: 42px; margin: 0; padding-top: 12px; display: flex; align-items: flex-start; gap: 8px; border-top: 1px solid #e3e7ea; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.install-tap-note > span { width: 7px; height: 7px; margin-top: 4px; flex: 0 0 auto; border-radius: 50%; background: var(--brand); }
.install-tap-note > span:last-child { width: auto; height: auto; margin: 0; flex: 1; border-radius: 0; background: transparent; }

.ios-device { width: 254px; height: 436px; margin: 0 auto; align-self: center; padding: 7px; border-radius: 38px; background: #101418; box-shadow: 0 20px 35px rgba(19, 39, 51, .19); }
.ios-screen { position: relative; height: 100%; overflow: hidden; border-radius: 31px; color: #111820; background: #f4f6f8; font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif; }
.ios-status { position: relative; z-index: 5; height: 35px; padding: 10px 15px 0; font-size: 8px; }
.ios-status .ios-island { top: 7px; width: 65px; height: 18px; }
.ios-status.pale { color: white; }
.ios-signals { font-size: 7px; letter-spacing: 1px; }
.mini-browser-page { margin: 7px 9px 0; padding: 13px 11px; display: grid; gap: 9px; border-radius: 6px; background: white; box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.mini-omron { display: flex; align-items: center; gap: 8px; padding-bottom: 9px; border-bottom: 1px solid #dce1e4; }
.mini-omron img { width: 62px; }
.mini-omron span { color: #63707a; font-size: 6px; }
.mini-browser-page > small { margin-top: 10px; color: var(--brand); font-size: 6px; font-weight: 800; letter-spacing: .8px; }
.mini-browser-page > strong { font-size: 15px; letter-spacing: -.4px; }
.mini-browser-page > i { display: block; height: 35px; border: 1px solid #d6dde1; border-radius: 4px; background: #f7f9fa; }
.mini-browser-page > i.short { height: 24px; }
.ios-safari-bar { position: absolute; inset: auto 0 0; height: 82px; padding: 10px 13px 21px; display: flex; align-items: center; gap: 9px; color: #0780ce; background: rgba(248, 250, 251, .95); border-top: 1px solid #d2d7db; }
.ios-safari-bar > span { width: 21px; font-size: 22px; font-weight: 300; text-align: center; }
.ios-safari-bar > span:nth-child(2) { color: #acb3b8; }
.ios-address { min-width: 0; height: 38px; flex: 1; padding: 7px 8px; display: flex; align-items: center; gap: 8px; border-radius: 10px; background: #e6e9eb; }
.ios-address b { font-size: 7px; }
.ios-address small { overflow: hidden; color: #384047; font-size: 7px; white-space: nowrap; text-overflow: ellipsis; }
.ios-safari-bar .share-target { height: 33px; display: grid; place-items: center; border-radius: 9px; outline: 2px solid #1f9ee9; outline-offset: 2px; background: #d9effd; }
.share-target svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.share-screen { background: linear-gradient(155deg, #175a85, #08243a); }
.share-backdrop { position: absolute; inset: 35px 0 0; opacity: .35; background: repeating-linear-gradient(0deg, transparent 0 22px, rgba(255,255,255,.1) 23px); }
.ios-share-sheet { position: absolute; inset: auto 5px 5px; height: 310px; padding: 8px 10px 14px; border-radius: 20px 20px 27px 27px; background: rgba(246, 247, 249, .97); box-shadow: 0 -10px 35px rgba(0,0,0,.24); }
.sheet-handle { width: 36px; height: 4px; margin: 0 auto 14px; display: block; border-radius: 3px; background: #b7bec3; }
.share-preview-row, .add-app-row { display: flex; align-items: center; gap: 9px; }
.share-preview-row img { width: 38px; height: 38px; border-radius: 9px; }
.share-preview-row > span, .add-app-row > span { display: grid; gap: 2px; }
.share-preview-row strong, .add-app-row strong { font-size: 10px; }
.share-preview-row small, .add-app-row small { color: #69747c; font-size: 7px; }
.share-actions-row { margin: 14px 0; padding: 12px 2px; display: flex; justify-content: space-around; border-top: 1px solid #d5dade; border-bottom: 1px solid #d5dade; }
.share-actions-row i { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(145deg, #e5e9eb, #ccd3d7); }
.share-menu-row { min-height: 52px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; border: 2px solid #1689cd; border-radius: 9px; background: white; box-shadow: 0 0 0 3px rgba(22, 137, 205, .14); }
.share-menu-row span { display: flex; align-items: center; gap: 9px; font-size: 10px; font-weight: 600; }
.share-menu-row svg { width: 23px; height: 23px; fill: none; stroke: #0b7fc2; stroke-width: 1.6; }
.share-menu-row b { color: #808b92; }

.add-screen { background: #f2f3f6; }
.ios-nav { height: 42px; padding: 4px 11px 8px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #d7dadd; }
.ios-nav strong { font-size: 10px; }
.ios-nav button { appearance: none; padding: 0; border: 0; color: #0077be; background: transparent; font-size: 9px; }
.ios-nav button.ios-add { padding: 5px 9px; color: white; border-radius: 12px; background: #0077be; font-weight: 700; }
.add-app-row { margin: 18px 11px 11px; padding: 13px; border-radius: 10px; background: white; }
.add-app-row img { width: 58px; height: 58px; border-radius: 13px; }
.add-app-row strong { font-size: 12px; }
.add-app-row small { font-size: 8px; }
.web-app-toggle { margin: 0 11px; padding: 13px; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-radius: 10px; background: white; }
.web-app-toggle > span { min-width: 0; display: grid; gap: 3px; }
.web-app-toggle strong { font-size: 10px; }
.web-app-toggle small { color: #65717a; font-size: 7px; }
.web-app-toggle > i { width: 37px; height: 22px; padding: 2px; display: flex; justify-content: flex-end; flex: 0 0 auto; border-radius: 13px; background: #34c759; }
.web-app-toggle > i > b { width: 18px; height: 18px; display: block; border-radius: 50%; background: white; box-shadow: 0 1px 3px rgba(0,0,0,.24); }

.done-screen { color: white; background: radial-gradient(circle at 70% 18%, rgba(43, 171, 224, .48), transparent 25%), linear-gradient(155deg, #164b70, #071722 72%); }
.done-wallpaper-lines { inset: 54px -80px 50px; }
.done-app { position: relative; margin: 68px auto 0; display: grid; justify-items: center; gap: 8px; }
.done-app > span { position: relative; }
.done-app > span::after { content: ""; position: absolute; right: -6px; bottom: -4px; width: 20px; height: 20px; border: 3px solid #0b3855; border-radius: 50%; background: #32c36c; }
.done-app > span::before { content: "✓"; position: absolute; z-index: 1; right: -1px; bottom: -1px; font-size: 12px; font-weight: 900; }
.done-app img { display: block; width: 76px; height: 76px; border-radius: 17px; box-shadow: 0 12px 24px rgba(0,0,0,.3); }
.done-app strong { color: white; font-size: 11px; text-shadow: 0 1px 4px #000; }
.done-check { position: absolute; left: 28px; right: 28px; bottom: 52px; padding: 10px 13px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: rgba(4, 21, 32, .58); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.done-check svg { width: 15px; height: 15px; fill: none; stroke: #63dfa0; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.done-check span { font-size: 9px; font-weight: 700; }

.install-footnote { padding: 21px 23px; display: flex; align-items: center; justify-content: space-between; gap: 28px; border-left: 4px solid var(--brand); border-radius: 6px; background: white; box-shadow: 0 4px 16px rgba(24, 43, 58, .06); }
.install-footnote strong { font-size: .9rem; }
.install-footnote p { max-width: 720px; margin: 5px 0 0; color: var(--muted); font-size: .8rem; line-height: 1.48; }
.install-footnote > a { flex: 0 0 auto; color: var(--brand-dark); font-size: .82rem; font-weight: 800; text-decoration: none; }

@media (max-width: 720px) {
  .recall-report-form { align-items: stretch; flex-direction: column; }
  .recall-report-form .button { width: 100%; }
  .app-header { min-height: 58px; }
  .brand-logo { width: 108px; }
  .brand-product { display: none; }
  .neutral-brand-mark { width: 62px; }
  .neutral-brand-copy small { display: block; }
  .page-shell { width: min(100% - 18px, 1100px); margin-top: 18px; }
  .page-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .page-heading > .button { width: 100%; }
  .quick-draft-trash { display: inline-flex; }
  .workspace-heading { align-items: stretch; flex-direction: column; gap: 16px; }
  .workspace-heading > .button { width: 100%; }
  .header-install-link { min-height: 40px; padding: 3px 6px 3px 3px; gap: 3px; }
  .header-install-link img { width: 31px; height: 31px; }
  .header-install-link small { display: none; }
  .header-install-link strong { font-size: .7rem; }
  .prebooking-launch { min-height: 0; padding: 18px; grid-template-columns: minmax(0, 1fr) 116px; gap: 10px; }
  .prebooking-launch::after { width: 210px; height: 210px; right: -78px; top: -40px; }
  .prebooking-launch-copy > strong { font-size: 1.12rem; }
  .prebooking-launch-copy > small { font-size: .76rem; }
  .prebooking-launch-art { height: 112px; }
  .prebooking-launch-art img { width: 128px; max-width: 128px; }
  .field-report-launch { align-items: stretch; flex-direction: column; gap: 12px; }
  .field-report-launch .button { width: 100%; }
  .closeout-reminder { min-height: 0; padding: 12px 13px; grid-template-columns: 54px minmax(0, 1fr); gap: 11px; }
  .closeout-reminder > img { width: 52px; height: 52px; }
  .closeout-reminder > em { grid-column: 1 / -1; width: 100%; justify-content: center; }
  .closeout-queue-heading { min-height: 0; padding: 0 0 16px; display: grid; grid-template-columns: minmax(0, 1fr) 76px; gap: 8px; }
  .closeout-queue-heading > div { min-width: 0; }
  .closeout-queue-heading > img { width: 76px; height: 76px; }
  .engineer-choice-list > a { padding: 12px 13px; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; }
  .engineer-choice-list em { grid-column: 2; justify-self: start; }
  .engineer-closeout-selection > header { align-items: stretch; flex-direction: column; }
  .engineer-closeout-selection > header .button { width: 100%; }
  .closeout-report-list > a { align-items: flex-start; flex-direction: column; gap: 9px; }
  .closeout-report-list em { align-self: flex-end; }
  .prebooking-workspace-intro { padding: 17px; grid-template-columns: 78px minmax(0, 1fr); gap: 13px; }
  .prebooking-workspace-intro > img { width: 76px; height: 76px; }
  .prebooking-workspace-intro .smartsheet-source { grid-column: 2; width: 106px; }
  .prebooking-step { padding: 18px 15px; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; }
  .prebooking-step-number { width: 27px; height: 27px; }
  .dashboard-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .dashboard-search .button.secondary { grid-column: 1 / -1; }
  .form-section { padding: 16px 14px; }
  .field-grid.two, .field-grid.three { grid-template-columns: 1fr; }
  .job-assist { padding: 14px; }
  .job-assist-heading { align-items: flex-start; }
  .job-assist-grid { grid-template-columns: 1fr; }
  .prebooking-builder { align-items: stretch; flex-direction: column; }
  .prebooking-actions { display: grid; }
  .prebooking-preview dl > div { grid-template-columns: 50px minmax(0, 1fr); }
  .photo-upload { grid-template-columns: 1fr; }
  .photo-picker span { width: 100%; }
  .photo-preview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .supporting-upload { grid-template-columns: 1fr; }
  .supporting-picker { width: 100%; justify-self: stretch; }
  .supporting-picker span { width: 100%; }
  .closeout-hero { min-height: 0; padding: 20px 18px; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
  .closeout-hero::after { width: 220px; height: 220px; right: -91px; top: -57px; }
  .closeout-hero h2 { font-size: 1.17rem; }
  .closeout-hero img { width: 125px; max-width: 125px; }
  .closeout-content { grid-template-columns: 1fr; }
  .closeout-setup { border-right: 0; border-bottom: 1px solid var(--line); }
  .closeout-setup, .closeout-email-editor { padding: 18px 15px; }
  .closeout-package-summary { align-items: stretch; flex-direction: column; }
  .closeout-package-summary .button { width: 100%; }
  .closeout-actions { display: grid; }
  .closeout-finish { align-items: stretch; flex-direction: column; gap: 12px; }
  .closeout-finish .button { width: 100%; }
  .city-row { grid-template-columns: minmax(0, 2fr) minmax(90px, .8fr); }
  .check-grid.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signature-field canvas { height: 155px; }
  .signature-options { grid-template-columns: 1fr; }
  .sticky-submit { align-items: stretch; flex-direction: column; position: static; }
  .sticky-submit .button-row { display: grid; }
  .sticky-submit .draft-trash-button { display: none; }
  .checklist-hub-heading { align-items: stretch; flex-direction: column; }
  .checklist-hub-heading .button { width: 100%; }
  .checklist-hub-title { align-items: flex-start; }
  .checklist-hub-icon { width: 46px; height: 46px; flex-basis: 46px; }
  .checklist-workflow-line { align-items: stretch; flex-direction: column; gap: 7px; }
  .checklist-workflow-line i { display: none; }
  .draft-checklist-list article { align-items: stretch; grid-template-columns: 1fr; }
  .draft-checklist-list .button { width: 100%; }
  .checklist-card-status { justify-self: start; }
  .checklist-catalog { grid-template-columns: 1fr; }
  .checklist-machine-picker { grid-template-columns: 1fr; gap: 16px; }
  .checklist-catalog article { grid-template-columns: 40px minmax(0, 1fr); }
  .checklist-catalog article form { grid-column: 1 / -1; }
  .checklist-catalog article .button { width: 100%; }
  .checklist-item { grid-template-columns: 1fr; }
  .checklist-notes { grid-column: auto; }
  .checklist-structured-notes { grid-column: auto; grid-template-columns: 1fr; }
  .checklist-review-status { grid-template-columns: 32px minmax(0, 1fr); }
  .checklist-review-progress { grid-column: 1 / -1; }
  .checklist-delete-panel { align-items: stretch; flex-direction: column; }
  .checklist-delete-panel .button { width: 100%; }
  .checklist-ready-download { align-items: stretch; flex-direction: column; }
  .checklist-ready-download .button { width: 100%; }
  .draft-list article { align-items: stretch; flex-direction: column; }
  .draft-actions { justify-content: space-between; }
  .report-list article { align-items: stretch; }
  .report-list article > a { padding-right: 5px; }
  .report-list article > form { padding: 8px 7px 8px 0; display: flex; align-items: center; }
  .button-row { display: grid; }
  .report-next-step > small { display: none; }
  .regenerate-link-form { align-items: stretch; flex-direction: column; }
  .regenerate-link-form label { width: 100%; }
  .report-trash-panel { align-items: stretch; flex-direction: column; }
  .report-trash-panel .button { width: 100%; }
  .trash-list article { align-items: stretch; flex-direction: column; gap: 13px; }
  .trash-report-actions { justify-items: stretch; text-align: left; }
  .trash-report-actions .button { width: 100%; }
  .qr-panel > div { align-items: flex-start; flex-direction: column; }
  .qr-panel img { width: min(232px, 100%); max-width: 100%; }
  .offline-recovery { align-items: flex-start; flex-direction: column; }
  .pdf-panel iframe { height: 62vh; }
  .customer-sign-form { padding: 18px 14px; }
  .customer-sign-intro { align-items: stretch; flex-direction: column; gap: 12px; }
  .customer-sign-intro .button { width: 100%; }
  .install-page { gap: 32px; }
  .install-hero { min-height: 0; padding: 28px 18px 30px; grid-template-columns: 1fr; gap: 30px; background: linear-gradient(180deg, #ffffff 0 55%, #eaf5fa 55% 100%); }
  .install-hero-copy { max-width: none; }
  .install-hero h1 { font-size: clamp(2rem, 10vw, 2.75rem); }
  .install-home-preview { width: 232px; height: 430px; }
  .install-section-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .install-section-heading > p { width: 100%; }
  .install-steps { grid-template-columns: 1fr; }
  .install-step { padding: 18px 14px; }
  .ios-device { width: 246px; max-width: 100%; }
  .install-footnote { align-items: flex-start; flex-direction: column; gap: 13px; }
  .theme-neutral { background-attachment: scroll; background-position: 48% center; }
  .theme-neutral .app-header { min-height: 88px; padding: 12px 18px; }
  .theme-neutral .neutral-brand-copy strong { font-size: 1rem; }
  .theme-neutral .neutral-brand-copy small { font-size: .7rem; }
  .theme-neutral .page-shell { min-height: 100svh; padding: 104px 14px 30px; }
  .theme-neutral .login-panel { padding: 27px 20px 24px; transform: none; }
  .theme-neutral .login-panel h1 { font-size: clamp(1.65rem, 7.2vw, 2rem); overflow-wrap: anywhere; }
  .theme-neutral .login-panel > .muted { margin-top: 15px; }
  .theme-neutral .login-panel .stack-form { margin-top: 24px; }
}

@media (max-width: 390px) {
  .app-header { gap: 8px; padding-left: 12px; padding-right: 12px; }
  .brand-logo { width: 96px; }
  .header-actions { gap: 0; }
  .header-link { padding: 9px 7px; font-size: .78rem; }
  .install-home-preview { width: 222px; height: 416px; }
}

/* Compact engineer workspace */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.workspace-heading-redesigned { margin-bottom: 20px; }
.workspace-new-report { gap: 8px; box-shadow: 0 5px 14px rgba(0, 79, 125, .14); }
.workspace-new-report svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.workflow-overview { overflow: hidden; margin-bottom: 22px; background: white; border: 1px solid #c8d2d8; border-radius: var(--radius); box-shadow: 0 5px 18px rgba(24, 43, 58, .055); }
.workflow-overview > header { min-height: 62px; padding: 13px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); background: #f8fafb; }
.workflow-overview > header h2 { margin: 0; font-size: 1rem; letter-spacing: -.018em; }
.workflow-overview > header .eyebrow { margin-bottom: 2px; font-size: .62rem; }
.workflow-overview > header > span { color: var(--muted); font-size: .72rem; font-weight: 650; }
.workflow-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workflow-steps.without-prebooking { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workflow-step, .workflow-steps > .closeout-reminder { position: relative; min-width: 0; min-height: 118px; margin: 0; padding: 15px 14px; display: grid; grid-template-columns: 27px 72px minmax(0, 1fr) 18px; align-items: center; gap: 11px; color: var(--ink); background: white; border: 0; border-right: 1px solid var(--line); border-radius: 0; box-shadow: none; text-decoration: none; transition: background .15s ease, box-shadow .15s ease; }
.workflow-step:last-child, .workflow-steps > .closeout-reminder:last-child { border-right: 0; }
.workflow-step:hover, .workflow-steps > .closeout-reminder:hover { background: #f5fafc; box-shadow: inset 0 -3px var(--brand); transform: none; }
.workflow-step:focus-visible, .workflow-steps > .closeout-reminder:focus-visible { z-index: 2; outline: 3px solid var(--brand-focus); outline-offset: -3px; }
.workflow-steps > .closeout-reminder[data-attention="true"] { background: #fffaf0; }
.workflow-steps > .closeout-reminder[data-attention="true"]:hover { background: #fff6e5; box-shadow: inset 0 -3px #bd7b16; }
.workflow-step-number, .workflow-steps > .closeout-reminder > .workflow-step-number { width: 25px; height: 25px; min-width: 25px; display: grid; place-items: center; color: white; background: var(--brand); border-radius: 5px; font-size: .72rem; font-weight: 850; }
.workflow-steps > .closeout-reminder[data-attention="true"] .workflow-step-number { background: #a86b10; }
.workflow-step-art { width: 72px; height: 72px; display: grid; place-items: center; overflow: hidden; background: #edf7fb; border: 1px solid #cfe2eb; border-radius: 10px; box-shadow: inset 0 1px white, 0 5px 12px rgba(12, 67, 96, .08); }
.workflow-steps > .closeout-reminder[data-attention="true"] .workflow-step-art { background: #fff4dc; border-color: #ead19a; }
.workflow-step-art img { width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 5px 5px rgba(12, 67, 96, .12)); }
.workflow-step-art.create-art img { width: 62px; height: 62px; }
.workflow-step > span:nth-last-of-type(1), .workflow-steps > .closeout-reminder > span:nth-last-of-type(1) { min-width: 0; display: grid; gap: 3px; }
.workflow-step > span small, .workflow-steps > .closeout-reminder > span small { color: var(--muted); font-size: .61rem; font-weight: 750; letter-spacing: .045em; line-height: 1.2; text-transform: uppercase; }
.workflow-step > span strong, .workflow-steps > .closeout-reminder > span strong { font-size: .84rem; letter-spacing: -.01em; }
.workflow-step > span em, .workflow-steps > .closeout-reminder > span em { color: var(--muted); font-size: .68rem; font-style: normal; font-weight: 580; line-height: 1.3; }
.workflow-steps > .closeout-reminder[data-attention="true"] > span em { color: #795216; font-weight: 700; }
.workflow-arrow { width: 17px; height: 17px; fill: none; stroke: #79909d; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s ease; }
.workflow-step:hover .workflow-arrow { transform: translateX(2px); }

.work-queue { overflow: hidden; background: white; border: 1px solid #c8d2d8; border-radius: var(--radius); box-shadow: 0 6px 20px rgba(24, 43, 58, .06); }
.work-queue-header { min-height: 78px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.work-queue-header h2 { margin: 0; font-size: 1.18rem; letter-spacing: -.025em; }
.work-queue-header .eyebrow { margin-bottom: 2px; font-size: .62rem; }
.engineer-view-form { display: grid; grid-template-columns: auto minmax(170px, 240px) auto; align-items: center; gap: 7px; }
.engineer-view-form label { color: var(--muted); font-size: .7rem; font-weight: 750; }
.engineer-view-form select { min-height: 38px; padding: 7px 31px 7px 10px; font-size: .78rem; }
.engineer-view-form .button { min-height: 38px; }
.engineer-view-form.enhanced { grid-template-columns: auto minmax(190px, 260px); }
.engineer-view-form.enhanced .engineer-view-apply { display: none; }
.work-filters { padding: 0 18px 14px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.work-filters a { min-width: 0; min-height: 52px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 7px; color: #52616c; background: #f3f6f7; border: 1px solid transparent; border-radius: 6px; text-decoration: none; transition: color .14s ease, background .14s ease, border-color .14s ease; }
.work-filters a:hover { color: var(--brand-dark); background: #eaf4f8; border-color: #b8d2df; }
.work-filters a.active { color: var(--brand-dark); background: var(--brand-soft); border-color: #83b6ce; box-shadow: inset 0 -2px var(--brand); }
.work-filters a.attention:not(.active) { color: #765012; background: #fff8e8; }
.work-filters span { min-width: 0; font-size: .68rem; font-weight: 720; line-height: 1.15; }
.work-filters strong { min-width: 25px; height: 25px; padding: 0 6px; display: grid; place-items: center; flex: 0 0 auto; color: #44535d; background: white; border: 1px solid #d3dce1; border-radius: 13px; font-size: .68rem; }
.work-filters a.active strong { color: white; background: var(--brand); border-color: var(--brand); }
.work-filters a.active.attention strong { background: #a86b10; border-color: #a86b10; }
.work-queue .dashboard-search { max-width: none; padding: 14px 18px; background: #f8fafb; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.search-input-wrap { position: relative; min-width: 0; flex: 1; display: flex; }
.search-input-wrap svg { position: absolute; left: 13px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); fill: none; stroke: #71818d; stroke-width: 1.7; stroke-linecap: round; pointer-events: none; }
.search-input-wrap input { width: 100%; padding-left: 40px; background: white; }
.work-queue .search-summary { margin: 0; padding: 10px 18px; background: #f8fafb; border-bottom: 1px solid var(--line); }
.work-list { display: grid; }
.work-row { min-width: 0; min-height: 74px; display: flex; align-items: stretch; border-bottom: 1px solid var(--line); transition: background .14s ease, box-shadow .14s ease; }
.work-row:last-child { border-bottom: 0; }
.work-row:hover { background: #f8fbfc; }
.work-row.needs-closeout { background: #fffcf5; box-shadow: inset 4px 0 #bd7b16; }
.work-row.is-demo { box-shadow: inset 4px 0 #627985; }
.work-row.needs-closeout.is-demo { box-shadow: inset 4px 0 #bd7b16; }
.work-row-main { min-width: 0; padding: 11px 8px 11px 16px; flex: 1; display: flex; align-items: center; gap: 12px; text-decoration: none; }
.work-row-main > span:last-child { min-width: 0; }
.work-row-main strong { display: block; font-size: .84rem; overflow-wrap: anywhere; }
.work-row-main small { display: block; margin-top: 3px; color: var(--muted); font-size: .68rem; line-height: 1.35; overflow-wrap: anywhere; }
.work-row-main small.work-customer-activity { margin-top: 4px; font-weight: 650; }
.work-row-main small.work-customer-activity.viewed { color: var(--brand-dark); }
.work-row-main small.work-customer-activity.expired { color: var(--danger); }
.work-row-icon { width: 36px; height: 36px; display: grid; place-items: center; flex: 0 0 auto; color: var(--brand-dark); background: #edf5f8; border-radius: 6px; }
.work-row-icon.draft { color: #735b20; background: #faf3df; }
.work-row-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.work-row-actions { padding: 9px 12px 9px 4px; display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex: 0 0 auto; }
.work-row-actions form { margin: 0; }
.status.draft { color: #705711; background: #f7edcf; }
.status.demo { color: #3f5662; background: #e8eef1; border: 1px solid #c8d3d8; }
.status.correction { color: var(--brand-dark); background: #e8f4f9; border: 1px solid #a7cbdc; text-decoration: none; }
.work-queue-footer { min-height: 52px; padding: 9px 14px 9px 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--muted); background: #f8fafb; border-top: 1px solid var(--line); font-size: .7rem; }
.report-identity { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.report-identity .status { letter-spacing: 0; text-transform: none; }
.demo-report-option { min-height: 66px; padding: 11px 13px; display: flex; align-items: flex-start; gap: 10px; background: #f7f9fa; border: 1px solid #c7d1d7; border-radius: 6px; cursor: pointer; }
.demo-report-option:has(input:checked) { background: #eef5f7; border-color: #829eaa; box-shadow: inset 0 0 0 1px #829eaa; }
.demo-report-option input { width: 19px; height: 19px; min-height: auto; margin: 1px 0 0; accent-color: var(--brand); flex: 0 0 auto; }
.demo-report-option > span { display: grid; gap: 3px; }
.demo-report-option strong { font-size: .82rem; }
.demo-report-option small { color: var(--muted); font-size: .71rem; line-height: 1.35; }

@media (max-width: 820px) {
  .workflow-step, .workflow-steps > .closeout-reminder { grid-template-columns: 25px 64px minmax(0, 1fr) 16px; padding: 13px 10px; gap: 9px; }
  .workflow-step-art { width: 64px; height: 64px; }
  .workflow-step-art img { width: 60px; height: 60px; }
  .workflow-step-art.create-art img { width: 55px; height: 55px; }
  .work-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .customer-journey > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .customer-journey > header > span { text-align: left; }
  .customer-journey ol { grid-template-columns: 1fr; }
  .customer-journey li { min-height: 62px; border-right: 0; border-bottom: 1px solid var(--line); }
  .customer-journey li:last-child { border-bottom: 0; }
  .workspace-heading-redesigned { align-items: stretch; }
  .workspace-heading-redesigned .workspace-new-report { width: 100%; }
  .workflow-overview > header { align-items: flex-start; }
  .workflow-overview > header > span { display: none; }
  .workflow-steps, .workflow-steps.without-prebooking { grid-template-columns: 1fr; }
  .workflow-step, .workflow-steps > .closeout-reminder { grid-template-columns: 25px 60px minmax(0, 1fr) 16px; border-right: 0; border-bottom: 1px solid var(--line); }
  .workflow-step-art { width: 60px; height: 60px; border-radius: 9px; }
  .workflow-step-art img { width: 58px; height: 58px; }
  .workflow-step-art.create-art img { width: 53px; height: 53px; }
  .workflow-step:last-child, .workflow-steps > .closeout-reminder:last-child { border-bottom: 0; }
  .workflow-step:hover, .workflow-steps > .closeout-reminder:hover { box-shadow: inset 3px 0 var(--brand); }
  .workflow-steps > .closeout-reminder[data-attention="true"]:hover { box-shadow: inset 3px 0 #bd7b16; }
  .work-queue-header { align-items: stretch; flex-direction: column; gap: 12px; }
  .engineer-view-form { grid-template-columns: minmax(0, 1fr) auto; }
  .engineer-view-form.enhanced { grid-template-columns: minmax(0, 1fr); }
  .engineer-view-form label { grid-column: 1 / -1; }
  .work-filters { padding: 0 12px 12px; gap: 5px; }
  .work-filters a { min-height: 49px; padding: 7px 8px; }
  .work-queue .dashboard-search { padding: 11px 12px; }
  .work-row { align-items: stretch; flex-direction: column; }
  .work-row-main { padding: 11px 12px 5px; }
  .work-row-actions { padding: 5px 9px 10px 60px; justify-content: flex-start; flex-wrap: wrap; }
  .work-row-actions .text-button { min-height: 38px; }
  .work-queue-footer { padding-left: 12px; }
}

@media (max-width: 430px) {
  .work-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .work-queue .dashboard-search > div { grid-template-columns: minmax(0, 1fr) auto; }
  .work-row-actions { padding-left: 12px; }
  .work-row-actions .button { margin-left: auto; }
}
