@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Regular.otf") format("opentype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-Medium.otf") format("opentype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("/fonts/Montserrat-SemiBold.otf") format("opentype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Raleway"; src: url("/fonts/Raleway-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Raleway"; src: url("/fonts/Raleway-Light.ttf") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "Raleway"; src: url("/fonts/Raleway-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }

:root {
 color-scheme: dark;
 --canvas: #050505; --paper: #151515; --ink: #f3ebdd; --white-warm: #fffdf8; --muted: #a7a095;
 --gold: #d6a84a; --gold-bright: #f5c45b; --on-gold: #0b0905;
 --line: rgba(214,168,74,.34); --quiet-line: rgba(243,235,221,.18); --line-strong: var(--gold);
 --surface-low: #0a0a0a; --surface: #151515; --surface-raised: #1d1c1a; --control: var(--surface-low); --control-hover: var(--surface-raised);
 --forest: var(--gold); --forest-dark: #b9852f; --forest-pale: var(--surface); --gold-pale: rgba(245,196,91,.10); --accent: var(--gold-bright);
 --danger: #f08c82; --danger-pale: rgba(224,121,111,.12); --danger-border: rgba(224,121,111,.62);
 --success: #b9dc7a; --success-pale: rgba(167,200,107,.12); --success-border: rgba(167,200,107,.58);
 --warning: #f0a060; --warning-pale: rgba(240,160,96,.12); --warning-border: rgba(240,160,96,.60);
 --disabled-fill: #1a1917; --disabled-border: rgba(243,235,221,.16); --disabled-text: rgba(243,235,221,.38);
 --selected-fill: rgba(245,196,91,.10); --quiet-fill: rgba(167,160,149,.10);
 --vignette-green: radial-gradient(ellipse at 0% 15%,rgba(19,66,45,.20),transparent 48%);
 --vignette-purple: radial-gradient(ellipse at 100% 85%,rgba(57,29,76,.18),transparent 48%);
 --surface-panel: #151515;
 --surface-raised-gradient: #1d1c1a;
 --control-gradient: #171717;
 --gold-gradient: linear-gradient(180deg,#ebbd5f 0%,#b9852f 100%);
 --gold-hover-gradient: linear-gradient(180deg,#ffd57d 0%,#ca9438 100%);
 --ambient: var(--vignette-green),var(--vignette-purple),radial-gradient(circle at 70% 8%,rgba(214,168,74,.06),transparent 28rem);
 --specular: inset 0 1px rgba(255,255,255,.07);
 --shadow: inset 0 1px rgba(255,255,255,.07),0 18px 48px rgba(0,0,0,.32),0 0 24px rgba(214,168,74,.05);
 --primary-shadow: inset 0 1px rgba(255,255,255,.42),0 0 0 3px rgba(214,168,74,.10),0 0 22px rgba(245,196,91,.16);
 --primary-hover-shadow: inset 0 1px rgba(255,255,255,.55),0 0 0 4px rgba(214,168,74,.14),0 0 28px rgba(245,196,91,.28);
 --secondary-shadow: inset 0 1px rgba(255,255,255,.08),0 0 0 3px rgba(214,168,74,.06);
 --pressed-shadow: inset 0 2px 5px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.18),0 0 10px rgba(245,196,91,.10);
 --logo-shadow: 0 0 18px rgba(214,168,74,.14);
 --radius-large: 16px; --radius-medium: 12px;
 --font-display: "Montserrat",system-ui,sans-serif; --font-body: "Raleway",system-ui,sans-serif;
 font-family: var(--font-body); font-synthesis: none;
}


.app-nav {
  display: flex;
  gap: .35rem;
  max-width: 1180px;
  margin: -1.2rem auto 1.2rem;
  padding: 0 1.5rem;
}
.app-nav a {
  color: var(--ink, #18212b);
  font-weight: 600;
  text-decoration: none;
  padding: .65rem .9rem;
  border-radius: .65rem;
}
.app-nav a:hover, .app-nav a:focus-visible { background: rgba(36, 99, 235, .09); }
.operations-shell { max-width: 1180px; margin: 0 auto; padding: 1.5rem; }
.operations-hero { display: flex; justify-content: flex-start; align-items: center; gap: 2rem; margin: .5rem 0 1.25rem; }
.operations-hero h2 { margin: .15rem 0; font-size: clamp(2rem, 5vw, 3.25rem); }
.queue-tabs { display: flex; gap: .5rem; margin: 1rem 0; overflow-x: auto; }
.queue-tabs button { border: 1px solid #d6dce4; border-radius: 999px; background: #fff; padding: .7rem 1rem; font: inherit; font-weight: 600; white-space: nowrap; }
.queue-tabs button[aria-pressed="true"] { background: #17233a; border-color: #17233a; color: #fff; }
.queue-tabs span { display: inline-grid; place-items: center; min-width: 1.5rem; margin-left: .35rem; padding: .05rem .35rem; border-radius: 999px; background: rgba(128,128,128,.18); }
.operations-layout { display: grid; grid-template-columns: minmax(18rem, .9fr) minmax(28rem, 1.45fr); gap: 1rem; align-items: start; }
.queue-panel, .operations-detail { background: #fff; border: 1px solid #dfe3e8; border-radius: 1rem; box-shadow: 0 8px 24px rgba(26, 37, 53, .06); }
.queue-panel > h3 { padding: 1rem 1.1rem; margin: 0; border-bottom: 1px solid #e6e9ed; }
.operations-list { display: grid; gap: .6rem; padding: .7rem; max-height: 72vh; overflow: auto; }
.operation-card { display: grid; gap: .4rem; width: 100%; text-align: left; padding: .9rem; background: #fff; border: 1px solid #e0e5eb; border-radius: .75rem; font: inherit; cursor: pointer; }
.operation-card:hover, .operation-card:focus-visible, .operation-card.is-selected { border-color: #315eaa; box-shadow: 0 0 0 2px rgba(49, 94, 170, .12); }
.operation-card-top { display: flex; justify-content: space-between; gap: .75rem; }
.appointment-time { color: #425069; font-size: .85rem; text-align: right; }
.operation-address { font-weight: 600; }
.operation-services { color: #566177; font-size: .9rem; }
.operation-alerts, .detail-alerts { display: flex; gap: .35rem; flex-wrap: wrap; }
.attention-chip { display: inline-block; width: max-content; padding: .25rem .5rem; color: #8a4100; background: #fff0dc; border-radius: 999px; font-size: .75rem; font-weight: 600; }
.queue-empty, .empty-detail { padding: 2rem; color: #566177; text-align: center; }
.operations-detail { min-height: 24rem; overflow: hidden; }
.detail-header { padding: 1.25rem; color: #fff; background: var(--surface-panel); }
.detail-header h3 { margin: .2rem 0 .5rem; font-size: 1.45rem; }
.detail-header .eyebrow { color: #bcd0f1; }
.detail-section { padding: 1.1rem 1.25rem; border-bottom: 1px solid #e5e8ec; }
.detail-section:last-child { border-bottom: 0; }
.detail-section h4 { margin: 0 0 .5rem; font-size: 1.05rem; }
.detail-copy { color: #596579; margin: 0 0 .8rem; }
.operation-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; padding: .8rem; background: #f7f9fb; border-radius: .75rem; margin-top: .75rem; }
.operation-field { display: grid; gap: .3rem; font-weight: 600; font-size: .85rem; }
.operation-field input, .operation-field select { min-width: 0; padding: .65rem; border: 1px solid #cbd2dc; border-radius: .5rem; background: #fff; font: inherit; }
.operation-form .button { align-self: end; }
.window-list, .workstream-list { display: grid; gap: .45rem; margin: .8rem 0 0; padding: 0; }
.window-row { display: flex; justify-content: space-between; align-items: center; gap: .75rem; padding: .65rem 0; border-top: 1px solid #e2e6eb; }
.inline-action, .assignment-row { display: grid; grid-template-columns: 1fr auto; gap: .65rem; align-items: end; margin-top: .75rem; }
.assignment-row { grid-template-columns: minmax(9rem, 1fr) minmax(10rem, 1fr) minmax(8rem, 1fr) auto; padding-top: .75rem; border-top: 1px solid #e2e6eb; }
@media (max-width: 820px) {
  .operations-layout { grid-template-columns: 1fr; }
  .operations-list { max-height: none; }
  .operation-form, .assignment-row, .inline-action { grid-template-columns: 1fr; }
  .operations-hero { align-items: start; flex-direction: column; }
}

* {
  box-sizing: border-box;
}

html {
  background: var(--canvas);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100vh;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% -10%, rgba(185, 130, 46, 0.12), transparent 30rem),
    linear-gradient(180deg, #faf8f1 0, var(--canvas) 28rem);
  line-height: 1.55;
}

button,
input {
  font: inherit;
}

button,
input[type="checkbox"] {
  accent-color: var(--forest);
}

[hidden] {
  display: none !important;
}

.skip-link {
  position: fixed;
  z-index: 100;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  border-radius: 8px;
  color: #fff;
  background: var(--forest-dark);
  transform: translateY(-180%);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header,
.boundary-notice,
.progress-shell,
.console-shell,
footer {
  width: min(1040px, calc(100% - 40px));
  margin-inline: auto;
}

.site-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 52px 0 28px;
}

.eyebrow,
.step-kicker {
  margin: 0 0 8px;
  color: var(--forest);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

h1,
h2,
h3,
p {
  overflow-wrap: anywhere;
}

h1,
h2,
h3 {
  color: var(--ink);
  line-height: 1.15;
}

h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.5rem, 7vw, 4.7rem);
  font-weight: 500;
  letter-spacing: -0.04em;
}

.lede {
  max-width: 630px;
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 1.1rem;
}

.environment-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid #dfc38d;
  border-radius: 999px;
  color: #68450e;
  background: var(--gold-pale);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.environment-badge span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 4px rgba(185, 130, 46, 0.14);
}

.boundary-notice {
  display: flex;
  gap: 15px;
  padding: 17px 20px;
  border: 1px solid #d9c08c;
  border-radius: var(--radius-medium);
  background: rgba(255, 243, 215, 0.76);
}

.boundary-notice h2 {
  margin: 1px 0 4px;
  font-size: 0.96rem;
}

.boundary-notice p {
  margin: 0;
  color: #5f5139;
  font-size: 0.9rem;
}

.notice-mark {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border: 1px solid #b78632;
  border-radius: 50%;
  color: #68450e;
  font-family: Georgia, serif;
  font-weight: 600;
}

.progress-shell {
  padding: 30px 0 22px;
  overflow-x: auto;
}

.progress-list {
  display: grid;
  min-width: 760px;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(6, 1fr);
  list-style: none;
}

.progress-list li {
  position: relative;
  display: grid;
  gap: 7px;
  justify-items: center;
  color: #78827e;
  font-size: 0.78rem;
  font-weight: 600;
  text-align: center;
}

.progress-list li::before {
  position: absolute;
  z-index: 0;
  top: 15px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: var(--line);
  content: "";
}

.progress-list li:first-child::before {
  display: none;
}

.progress-list span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 2px solid var(--line-strong);
  border-radius: 50%;
  background: var(--canvas);
  font-size: 0.78rem;
}

.progress-list li[aria-current="step"] {
  color: var(--forest-dark);
}

.progress-list li[aria-current="step"] span {
  border-color: var(--forest);
  color: #fff;
  background: var(--forest);
  box-shadow: 0 0 0 5px rgba(23, 79, 67, 0.12);
}

.progress-list li.is-complete {
  color: var(--forest);
}

.progress-list li.is-complete::before,
.progress-list li.is-complete span {
  border-color: var(--forest);
  background: var(--forest-pale);
}

.console-shell {
  padding-bottom: 52px;
}

.startup-status,
.error-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding: 15px 18px;
  border-radius: 12px;
}

.startup-status {
  border: 1px solid #b9cec6;
  color: var(--forest-dark);
  background: var(--forest-pale);
}

.startup-status.has-error,
.error-summary {
  border: 1px solid #e4aaa4;
  color: #76231f;
  background: var(--danger-pale);
}

.startup-status.has-error .spinner {
  display: none;
}

.startup-status .button {
  margin-left: auto;
}

.error-summary {
  display: block;
}

.error-summary h2 {
  margin: 0 0 4px;
  color: #76231f;
  font-size: 1rem;
}

.error-summary p {
  margin: 0;
}

.step-card {
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid var(--line);
  border-radius: var(--radius-large);
  background: var(--paper);
  box-shadow: var(--shadow);
}

.step-heading {
  max-width: 700px;
  margin-bottom: 34px;
}

.step-heading h2,
.confirmation-heading h2,
.centered-card h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 5vw, 3.15rem);
  font-weight: 500;
  letter-spacing: -0.03em;
}

.step-heading > p:last-child,
.confirmation-heading p:last-child,
.centered-card > p:last-child {
  margin: 11px 0 0;
  color: var(--muted);
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.required-note {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 0.82rem;
}

.required-note span,
label > span[aria-hidden="true"] {
  color: var(--danger);
}

.field-grid {
  display: grid;
  gap: 22px 18px;
  grid-template-columns: repeat(12, 1fr);
}

.field {
  grid-column: span 6;
}

.field-wide {
  grid-column: span 12;
}

.field-locality {
  grid-column: span 5;
}

.field-region {
  grid-column: span 3;
}

.field-postal,
.field-country {
  grid-column: span 2;
}

.field-square-feet {
  grid-column: span 5;
}

label {
  color: var(--ink);
  font-size: 0.9rem;
  font-weight: 600;
}

.optional {
  margin-left: 7px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 500;
}

input[type="text"],
input[type="email"],
input[type="number"] {
  display: block;
  width: 100%;
  min-height: 48px;
  margin-top: 7px;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 9px;
  color: var(--ink);
  background: #fff;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

input:hover {
  border-color: #798c84;
}

input:focus-visible,
button:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(23, 79, 67, 0.28);
  outline-offset: 3px;
}

input:focus {
  border-color: var(--forest);
  box-shadow: 0 0 0 3px rgba(23, 79, 67, 0.11);
}

input[aria-invalid="true"] {
  border-color: var(--danger);
  box-shadow: 0 0 0 3px rgba(157, 49, 43, 0.11);
}

.field-hint,
.basis-note {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
}

.form-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 38px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}

.form-actions-end {
  justify-content: flex-end;
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.button-primary {
  border-color: var(--forest);
  color: #fff;
  background: var(--forest);
}

.button-primary:hover:not(:disabled) {
  background: var(--forest-dark);
}

.button-secondary {
  border-color: var(--line-strong);
  color: var(--ink);
  background: #fff;
}

.button-secondary:hover:not(:disabled) {
  border-color: var(--forest);
  color: var(--forest-dark);
  background: var(--forest-pale);
}

.button-emphasis {
  min-width: 190px;
  box-shadow: 0 8px 20px rgba(23, 79, 67, 0.18);
}

.button-compact {
  min-height: 38px;
  padding: 8px 12px;
  font-size: 0.82rem;
}

.button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  transform: none;
}

.catalog-status {
  padding: 20px;
  border: 1px dashed var(--line-strong);
  border-radius: 12px;
  color: var(--muted);
  text-align: center;
}

.catalog-choices {
  display: grid;
  gap: 14px;
}

.catalog-choice {
  display: grid;
  gap: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
  transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.catalog-choice:hover {
  border-color: #9cadA6;
}

.catalog-choice.is-selected {
  border-color: var(--forest);
  background: #f8fcfa;
  box-shadow: 0 0 0 2px rgba(23, 79, 67, 0.09);
}

.choice-control {
  display: grid;
  align-items: start;
  gap: 14px;
  grid-template-columns: 22px minmax(0, 1fr);
  cursor: pointer;
}

.choice-control input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
}

.choice-copy,
.choice-title-row {
  display: flex;
}

.choice-copy {
  flex-direction: column;
  gap: 5px;
}

.choice-title-row {
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
}

.choice-name {
  font-size: 1rem;
}

.choice-kind {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  color: var(--forest-dark);
  background: var(--forest-pale);
  font-size: 0.66rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.choice-description,
.choice-amount {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 500;
}

.choice-amount {
  color: var(--forest);
  font-weight: 600;
}

.choice-details {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0 0 36px;
  padding-top: 14px;
  border-top: 1px solid #e7e8e1;
}

.choice-details label {
  display: flex;
  align-items: center;
  gap: 9px;
}

.choice-details input[type="number"] {
  width: 84px;
  min-height: 40px;
  margin: 0;
}

.choice-details input:disabled {
  color: #77807c;
  background: #f0f0eb;
}

.catalog-disclosure {
  margin: 18px 0 0;
  padding-left: 13px;
  border-left: 3px solid var(--gold);
  color: var(--muted);
  font-size: 0.82rem;
}

.review-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

.summary-card,
.confirmation-section {
  padding: 21px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fff;
}

.summary-card-wide {
  grid-column: 1 / -1;
}

.summary-card h3,
.confirmation-section h3,
.review-assurance h3,
.next-step-note h3 {
  margin: 0 0 14px;
  font-size: 1rem;
}

.definition-list {
  display: grid;
  gap: 12px;
  margin: 0;
}

.definition-row {
  display: grid;
  gap: 3px;
  grid-template-columns: minmax(90px, 0.35fr) minmax(0, 1fr);
}

.definition-row dt {
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 600;
}

.definition-row dd {
  margin: 0;
  font-weight: 600;
}

.review-services,
.confirmation-items,
.outcome-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.review-service,
.confirmation-items li,
.outcome-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 13px 0;
  border-top: 1px solid #e8e8e2;
}

.review-service:first-child,
.confirmation-items li:first-child,
.outcome-list li:first-child {
  padding-top: 0;
  border-top: 0;
}

.review-service div,
.confirmation-items li div {
  display: grid;
  gap: 2px;
}

.review-service div span,
.confirmation-items li div span {
  color: var(--muted);
  font-size: 0.8rem;
}

.review-amount,
.confirmation-amount {
  flex: 0 0 auto;
  color: var(--forest-dark);
  font-weight: 600;
}

.review-total,
.confirmation-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
  padding-top: 17px;
  border-top: 2px solid var(--ink);
}

.preview-expiry,
.preview-disclosure {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  text-align: right;
}

.preview-disclosure {
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.review-total strong,
.confirmation-total strong {
  font-size: 1.2rem;
}

.review-assurance,
.next-step-note {
  margin-top: 18px;
  padding: 18px 20px;
  border-radius: 12px;
  color: #31554d;
  background: var(--forest-pale);
}

.review-assurance p,
.next-step-note p {
  margin: 0;
  font-size: 0.88rem;
}

.centered-card {
  min-height: 360px;
  text-align: center;
}

.centered-card,
.centered-card .spinner {
  place-items: center;
}

.centered-card {
  display: grid;
  align-content: center;
  justify-items: center;
}

.spinner {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(23, 79, 67, 0.22);
  border-top-color: var(--forest);
  border-radius: 50%;
  animation: spin 800ms linear infinite;
}

.spinner-large {
  width: 42px;
  height: 42px;
  margin-bottom: 22px;
  border-width: 4px;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.confirmation-heading {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 30px;
}

.success-mark {
  display: grid;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--success);
  font-size: 1.45rem;
  font-weight: 600;
}

.confirmation-content {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

.confirmation-section:nth-child(2),
.confirmation-section.compact-section {
  grid-column: 1 / -1;
}

.outcome-list li span {
  color: var(--muted);
}

.outcome-list li strong {
  text-transform: lowercase;
}

.outcome-list li strong::first-letter {
  text-transform: uppercase;
}

.compact-section p {
  margin: 0;
}

footer {
  padding: 0 0 38px;
  color: #6c7772;
  font-size: 0.78rem;
  text-align: center;
}

.visually-hidden {
  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;
}

/* Legacy layout retained; current shared brand components follow below. */


html, body { background: var(--canvas); }
body { color: var(--ink); background: radial-gradient(circle at 8% -5%, rgba(255, 255, 255, .045), transparent 30rem), var(--canvas); }
h1, h2, h3, h4 { color: var(--ink); font-family: var(--font-display); }
h1 { font-family: var(--font-display); font-weight: 600; letter-spacing: -.04em; }
.step-heading h2, .confirmation-heading h2, .centered-card h2 { font-family: var(--font-display); font-weight: 600; }
.site-header { align-items: center; padding-top: 34px; }
.brand-logo { width: 176px; height: auto; border-radius: 8px; border: 1px solid var(--quiet-line); background: #000; }
.header-copy { flex: 1; }
.operations-mode .site-header { padding-bottom: .65rem; }
.operations-mode .header-copy h1 { margin: 0; font-size: clamp(2rem, 3.6vw, 3.35rem); line-height: 1; letter-spacing: -.045em; white-space: nowrap; }
.operations-mode .operations-shell { padding-top: .25rem; }
.eyebrow, .step-kicker { color: var(--muted); }
.environment-badge { color: var(--muted); border-color: var(--line); background: var(--surface-raised); }
.environment-badge span { background: var(--gold-bright); box-shadow: 0 0 0 4px rgba(255,193,7,.12); }
.app-nav a { color: var(--ink); text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; }
.app-nav a:hover, .app-nav a:focus-visible { color: #fff; background: var(--quiet-line); }
.workspace-toolbar { position: relative; z-index: 20; display: flex; align-items: center; gap: .35rem; width: min(1180px, calc(100% - 40px)); margin: 0 auto 1rem; padding: .4rem; background: var(--surface); border: 1px solid #3a3a3a; border-radius: 10px; box-shadow: 0 10px 28px rgba(0,0,0,.22); }
.workspace-toolbar-link, .workspace-menu > summary { min-height: 44px; display: inline-flex; align-items: center; padding: .65rem .9rem; color: var(--muted); background: transparent; border: 0; border-radius: 7px; cursor: pointer; font: inherit; font-size: .82rem; font-weight: 600; letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.workspace-toolbar-link:hover, .workspace-toolbar-link:focus-visible, .workspace-menu > summary:hover, .workspace-menu > summary:focus-visible { color: #fff; background: var(--quiet-line); outline: none; }
.workspace-toolbar-link[aria-current="page"] { color: var(--gold-bright); background: var(--quiet-line); box-shadow: inset 0 -2px var(--gold-bright); }
.workspace-menu { position: relative; }
.workspace-menu > summary { list-style: none; }
.workspace-menu > summary::-webkit-details-marker { display: none; }
.workspace-menu > summary::after { content: "⌄"; margin-left: .45rem; color: var(--muted); }
.workspace-menu[open] > summary { color: #fff; background: var(--quiet-line); }
.workspace-menu-panel { position: absolute; top: calc(100% + .45rem); left: 0; display: grid; gap: .15rem; min-width: 15rem; padding: .55rem; background: #292929; border: 1px solid #4a4a4a; border-radius: 9px; box-shadow: 0 18px 40px rgba(0,0,0,.45); }
.workspace-menu-panel span { padding: .65rem .7rem; color: #aaa; border-radius: 6px; }
.workspace-menu-heading { margin: .2rem .7rem .3rem; color: var(--gold-bright); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.boundary-notice { border-color: #4a4020; background: #211f18; }
.boundary-notice h2, .boundary-notice p { color: #ddd7c7; }
.step-card, .summary-card, .confirmation-section, .queue-panel, .operations-detail { color: var(--ink); background: var(--paper); border-color: var(--quiet-line); border-radius: 8px; }
.queue-panel > h3, .detail-section, .window-row, .assignment-row { border-color: var(--quiet-line); }
.operations-layout { grid-template-columns: minmax(19rem, 36fr) minmax(34rem, 64fr); gap: 14px; }
.operations-list { background: var(--surface-low); }
.operation-card { color: var(--ink); background: var(--paper); border-color: var(--quiet-line); border-radius: 8px; }
.operation-card:hover, .operation-card:focus-visible { border-color: #666; box-shadow: 0 0 0 2px rgba(255,255,255,.06); }
.operation-card.is-selected { border-color: var(--gold-bright); box-shadow: 0 0 0 2px rgba(255,193,7,.11); }
.appointment-time, .operation-services, .detail-copy, .queue-empty, .empty-detail { color: var(--muted); }
.detail-header { color: var(--ink); background: var(--surface-panel); border-bottom: 1px solid #444; }
.detail-header .eyebrow { color: var(--muted); }
.attention-chip { color: #e7e7e7; background: #303030; border: 1px solid #505050; }
.queue-tabs button, .detail-tabs button { color: var(--ink); background: var(--paper); border: 1px solid var(--quiet-line); }
.queue-tabs button[aria-pressed="true"], .detail-tabs button[aria-pressed="true"] { color: var(--gold-bright); background: var(--quiet-line); border-color: var(--line); box-shadow: inset 0 -2px var(--gold-bright); }
.operation-form { background: var(--surface-low); }
.operation-field input, .operation-field select, .operation-field textarea, input, select, textarea { color: var(--ink); background: var(--canvas); border-color: #444; }
.operation-field textarea { width: 100%; resize: vertical; padding: .65rem; border: 1px solid #444; border-radius: .5rem; font: inherit; }
.operation-field-wide { grid-column: 1 / -1; }
.button-primary { color: var(--canvas); background: var(--gold-bright); border-color: var(--gold-bright); font-weight: 600; }
.button-primary:hover:not(:disabled) { background: var(--gold-bright); border-color: var(--gold-bright); }
.button-secondary { color: #e0e0e0; background: var(--surface-raised); border-color: var(--line); }
.button-secondary:hover:not(:disabled) { color: #fff; background: #3a3a3a; border-color: #777; }
.detail-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 1px; background: var(--quiet-line); border-bottom: 1px solid var(--quiet-line); }
.detail-tabs button { min-height: 48px; border: 0; border-radius: 0; font: inherit; font-weight: 600; cursor: pointer; }
.detail-pane { min-height: 22rem; }
.mission-status-row, .mission-actions, .mission-version-row, .mission-version-actions { display: flex; align-items: center; justify-content: space-between; gap: .65rem; flex-wrap: wrap; }
.mission-state, .visibility-chip { display: inline-flex; width: max-content; padding: .28rem .55rem; border-radius: 999px; font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.mission-state.is-draft, .visibility-chip { color: var(--gold-bright); background: #302813; }
.mission-state.is-issued { color: #6bd89b; background: #193125; }
.mission-editor, .mission-version-list { display: grid; gap: .8rem; }
.mission-section-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .5fr); gap: .7rem; padding: .85rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.mission-section-heading, .mission-section-card .operation-field-wide { grid-column: 1 / -1; }
.mission-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.mission-note-form { grid-template-columns: minmax(11rem, .6fr) minmax(18rem, 1.4fr) auto; }
.mission-version-row { padding: .8rem 0; border-top: 1px solid var(--quiet-line); }
.mission-version-row:first-child { border-top: 0; }
.mission-version-row > div:first-child { display: grid; }
.mission-version-meta { color: var(--muted); font-size: .78rem; }
.mission-stale { background: #302813; border-left: 3px solid var(--gold-bright); }
.mission-selection-form, .mission-note-list { display: grid; gap: .6rem; }
.mission-choice { display: flex; align-items: center; gap: .65rem; min-height: 46px; padding: .6rem .7rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; cursor: pointer; }
.mission-choice input { width: 18px; height: 18px; flex: 0 0 auto; }
.mission-contact-row { display: grid; grid-template-columns: 1fr auto; gap: .6rem; align-items: center; }
.mission-contact-link { color: var(--gold-bright); padding: .55rem .7rem; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; text-decoration: none; }
.mission-note-list { margin-top: .9rem; }
.mission-note-row { padding: .75rem 0; border-top: 1px solid var(--quiet-line); }
.mission-note-row p { margin: .4rem 0 0; }
.review-assurance, .next-step-note { color: #d9d9d9; background: #2d2d2d; }
footer { color: #666; }

/* High-contrast controls and package-first ordering */
.field input[type="text"],
.field input[type="email"],
.field input[type="number"],
.choice-details input[type="number"] {
  color: var(--ink);
  background: var(--canvas);
  border-color: var(--line);
}
.field input::placeholder, .operation-field input::placeholder, textarea::placeholder { color: #888; }
.field input:focus, .operation-field input:focus, .operation-field select:focus, .operation-field textarea:focus {
  border-color: var(--gold-bright);
  box-shadow: 0 0 0 3px rgba(255, 193, 7, .14);
}
.catalog-choices { gap: 1rem; }
.service-path { display: grid; gap: .65rem; padding: 1rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.service-path-title { margin: 0; color: var(--ink); font-weight: 600; }
.service-path-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.service-path-button { min-height: 52px; padding: .75rem 1rem; color: var(--ink); background: #222; border: 1px solid #444; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
.service-path-button[aria-pressed="true"] { color: var(--canvas); background: var(--gold-bright); border-color: var(--gold-bright); }
.catalog-section { display: grid; gap: .75rem; }
.catalog-section > h3 { margin: .7rem 0 0; font-size: 1.25rem; }
.section-intro { margin: -.35rem 0 .25rem; color: #a8a8a8; }
.package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.catalog-choice, .catalog-choice.is-selected {
  min-width: 0;
  padding: 1rem;
  color: var(--ink);
  background: #1b1b1b;
  border-color: #3d3d3d;
}
.catalog-choice:hover { border-color: #796317; }
.catalog-choice.is-selected { background: #27230f; border-color: var(--gold-bright); box-shadow: 0 0 0 2px rgba(255,193,7,.12); }
.choice-name { color: var(--ink); }
.choice-description { color: #aaa; }
.choice-amount { color: var(--gold-bright); white-space: nowrap; }
.recommended-chip { display: inline-flex; width: max-content; padding: .18rem .45rem; color: var(--canvas); background: var(--gold-bright); border-radius: 999px; font-size: .68rem; font-weight: 600; }
.choice-details { margin-top: .8rem; padding-top: .8rem; border-color: var(--quiet-line); }
.choice-details > label { color: #d7d7d7; }
.choice-quantity.is-fixed { display: none; }
.choice-details input:disabled { color: #aaa; background: var(--canvas); opacity: .72; }
.package-inclusions { color: #aaa; font-size: .82rem; }
.package-inclusions summary, .add-on-group > summary, .service-help > summary { color: #dedede; cursor: pointer; font-weight: 600; }
.package-inclusions ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.add-on-prompt { margin: 0; padding: 1rem; color: #bbb; background: var(--surface-low); border: 1px dashed var(--line); border-radius: 8px; text-align: center; }
.add-on-group { overflow: hidden; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.add-on-group > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; list-style-position: inside; }
.group-count { color: var(--muted); font-size: .78rem; font-weight: 600; }
.add-on-grid { display: grid; gap: .5rem; padding: 0 .7rem .7rem; }
.catalog-choice.is-compact { padding: .8rem; }
.service-help { margin-top: 1rem; padding: 1rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.service-help p { margin: .65rem 0; color: #aaa; }

/* Streamlined operations workspace */
.operations-success { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; padding: .8rem 1rem; color: #d9f7e5; background: #193125; border: 1px solid #2d6747; border-radius: 8px; }
.operations-success p { margin: 0; }
.operations-success > span { color: #6bd89b; font-weight: 600; }
.error-summary, .startup-status.has-error { color: #ffb4ac; background: #321f20; border-color: #8f4a48; }
.error-summary h2 { color: #ffb4ac; }
.operation-card { gap: .28rem; padding: .78rem .85rem; }
.operation-card-top strong { color: var(--gold-bright); }
.operation-services { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.5rem; }
.detail-header h3 { font-size: clamp(1.55rem, 3vw, 2.15rem); }
.detail-header-copy { display: grid; justify-items: start; gap: .55rem; min-width: 0; }
.detail-header-copy h3, .detail-header-copy p { margin: 0; }
.detail-header > .button { flex: 0 0 auto; text-decoration: none; }
.detail-header-actions, .field-action-strip { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .9rem; }
.field-action-strip a { text-decoration: none; }
.detail-pane-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; padding: .8rem 1rem; background: #151515; border-bottom: 1px solid var(--quiet-line); }
.brief-card { padding: .85rem; background: #1b1b1b; border: 1px solid var(--quiet-line); border-radius: 8px; }
.brief-card h4 { margin: 0 0 .45rem; color: var(--muted); font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.brief-card p, .brief-card ul { margin: 0; }
.brief-card ul { padding-left: 1.15rem; }
.mission-edit-details { border-bottom: 1px solid var(--quiet-line); }
.mission-edit-details > summary { padding: 1rem 1.25rem; color: #dedede; cursor: pointer; font-weight: 600; }
.mission-edit-details > div { border-top: 1px solid var(--quiet-line); }
.operations-dialog { width: min(34rem, calc(100% - 2rem)); padding: 0; color: var(--ink); background: transparent; border: 0; }
.operations-dialog::backdrop { background: rgba(0,0,0,.72); backdrop-filter: blur(3px); }
.dialog-card { display: grid; gap: 1rem; padding: 1.25rem; background: var(--paper); border: 1px solid #444; border-radius: 10px; box-shadow: 0 24px 70px rgba(0,0,0,.6); }
.dialog-heading h2 { margin: 0; }
.dialog-actions { display: flex; justify-content: flex-end; gap: .65rem; padding-top: .9rem; border-top: 1px solid var(--quiet-line); }

/* Mission Control: read-first selected-property workspace */
.hero-actions, .compact-actions { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.hero-actions a, .compact-actions a { text-decoration: none; }
.mission-control-summary { display: grid; gap: .8rem; padding: 1rem; background: #151515; border-block: 1px solid var(--quiet-line); }
.summary-block { min-width: 0; padding: 1.15rem 1.25rem; background: #1b1b1b; border: 1px solid var(--quiet-line); border-radius: 8px; }
.summary-block h4 { margin: 0 0 1rem; padding-bottom: .65rem; color: var(--ink); border-bottom: 1px solid var(--quiet-line); font-size: 1rem; }
.summary-block strong { display: block; color: var(--ink); }
.summary-block p { margin: .25rem 0 .75rem; color: #aaa; overflow-wrap: anywhere; }
.summary-information-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.summary-metadata-grid { grid-template-columns: 1.3fr 1fr 1fr; align-items: start; }
.summary-customer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: .9rem; }
.summary-field { min-width: 0; }
.summary-status-wrap { display: grid; gap: .45rem; }
.status-chip,
.status-pill {
  display: inline-flex;
  width: max-content;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: .24rem .58rem;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: .02em;
}
.status-chip.status-scheduled,
.status-pill.status-scheduled {
  color: #d9f7e5;
  background: #193125;
  border-color: #2f6d53;
}
.status-pill.status-not-confirmed {
  color: #ffd9de;
  background: #3f1d23;
  border-color: #7d2f38;
}
.summary-status-controls { display: grid; gap: .5rem; }
.summary-status-action-group { display: flex; gap: .5rem; flex-wrap: wrap; }
.summary-scheduling-form { max-width: min(100%, 640px); margin-top: .15rem; }
.summary-label { display: block; margin-bottom: .35rem; color: #929292; font-size: .72rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.summary-field > strong { overflow-wrap: anywhere; }
.summary-field .compact-actions { margin-top: .75rem; }
.clean-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.clean-list li { color: var(--ink); }
.info-list { display: grid; gap: .25rem; }
.info-list p { margin: 0; }
.inline-editor { width: max-content; max-width: 100%; margin-top: .75rem; }
.inline-editor > summary { display: inline-flex; align-items: center; list-style: none; cursor: pointer; }

.listing-overview-card { overflow: hidden; background: #1b1b1b; border: 1px solid #383838; border-radius: 10px; }
.overview-row { min-width: 0; padding: .85rem 1rem; border-top: 1px solid var(--quiet-line); }
.overview-row:first-child { border-top: 0; }
.overview-appointment { display: flex; align-items: flex-start; justify-content: space-between; gap: .85rem; }
.overview-appointment-time { color: var(--ink); text-align: right; }
.overview-appointment-time.is-requested { color: #ff8c85; }
.overview-crew .info-list { display: flex; gap: .7rem; flex-wrap: wrap; }
.overview-crew .info-list p { color: #dedede; }
.overview-crew .inline-editor { margin-top: .45rem; }
.overview-muted { color: #9a9a9a; }
.overview-services { display: grid; gap: .35rem; }
.overview-service { overflow: hidden; background: var(--surface); border: 1px solid #343434; border-radius: 7px; }
.overview-service > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; align-items: center; padding: .65rem .75rem; color: #eee; cursor: pointer; list-style-position: inside; }
.overview-service > summary strong { color: #d8d8d8; font-size: .88rem; white-space: nowrap; }
.overview-service > p { margin: 0; padding: 0 .75rem .75rem; color: #aaa; font-size: .84rem; }
.overview-client { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.overview-client-name { min-width: 10rem; margin-right: auto; color: var(--ink); }
.overview-client-actions { display: flex; gap: .35rem; }
.overview-icon-action, .overview-edit-client { display: inline-grid; width: 2.45rem; height: 2.45rem; place-items: center; padding: 0; color: #e6e6e6; background: #292929; border: 1px solid #4a4a4a; border-radius: 50%; font: inherit; font-size: 1rem; text-decoration: none; cursor: pointer; }
.overview-icon-action:hover, .overview-icon-action:focus-visible, .overview-edit-client:hover, .overview-edit-client:focus-visible { color: #fff; background: #3a3a3a; border-color: #777; outline: none; }
.overview-client-details { position: relative; }
.overview-client-details > summary { padding: .45rem .2rem; color: #ddd; cursor: pointer; font-size: .84rem; font-weight: 600; list-style: none; }
.overview-client-details > summary::-webkit-details-marker { display: none; }
.overview-client-detail-content { position: absolute; z-index: 8; top: calc(100% + .45rem); right: 0; display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; min-width: 18rem; padding: .8rem; background: #292929; border: 1px solid #505050; border-radius: 8px; box-shadow: 0 14px 38px rgba(0,0,0,.45); }
.overview-client-detail-content p { grid-column: 1; margin: 0; color: #ddd; font-size: .82rem; }
.overview-edit-client { grid-column: 2; grid-row: 1 / span 2; align-self: start; width: 2rem; height: 2rem; }
.inline-editor > summary::-webkit-details-marker { display: none; }
.inline-editor[open] { width: 100%; }
.inline-editor[open] > summary { margin-bottom: .75rem; }
.inline-editor > form { padding: .85rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.mission-plan-pane { border-top: 8px solid var(--canvas); }
.mission-accordions { display: grid; gap: .5rem; padding: .9rem 1.15rem 1.15rem; border-bottom: 1px solid var(--quiet-line); }
.mission-accordion { overflow: hidden; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.mission-accordion > summary { padding: .9rem 1rem; color: var(--ink); cursor: pointer; font-weight: 600; }
.mission-accordion[open] > summary { color: var(--gold-bright); border-bottom: 1px solid var(--quiet-line); }
.mission-accordion-content { margin: 0; padding: 1rem; color: #d2d2d2; white-space: pre-wrap; }

/* Web-first production status; source media remains in Desktop. */
.workspace-switcher { display: flex; gap: .35rem; padding: .75rem 1rem; background: var(--canvas); border-top: 1px solid var(--quiet-line); }
.workspace-switch { min-height: 44px; padding: .65rem 1rem; color: #bbb; background: #1b1b1b; border: 1px solid #3a3a3a; border-radius: 8px; cursor: pointer; font: inherit; font-weight: 600; }
.workspace-switch[aria-pressed="true"] { color: var(--gold-bright); background: var(--quiet-line); border-color: var(--line); box-shadow: inset 0 -2px var(--gold-bright); }
.production-workspace-pane { background: #151515; }
.production-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.25rem; border-bottom: 1px solid var(--quiet-line); }
.production-heading h3, .production-heading p { margin: 0; }
.production-heading h3 { margin-block: .2rem .4rem; font-size: 1.45rem; }
.production-muted { color: var(--muted); }
.production-mission-binding { display: grid; grid-template-columns: .65fr 1.5fr 1fr; gap: .8rem; padding: 1rem 1.25rem; background: #1b1b1b; border-bottom: 1px solid var(--quiet-line); }
.production-mission-binding strong { overflow-wrap: anywhere; }
.production-lanes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; padding: 1.25rem; }
.production-lane-card { overflow: hidden; background: var(--paper); border: 1px solid #3a3a3a; border-radius: 10px; box-shadow: 0 12px 28px rgba(0,0,0,.2); }
.production-lane-card.lane-photo { border-top: 4px solid var(--gold-bright); }
.production-lane-card.lane-video { border-top: 4px solid #6ca8ff; }
.production-lane-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; padding: 1rem; border-bottom: 1px solid var(--quiet-line); }
.production-lane-heading h4, .production-lane-heading p { margin: 0; }
.production-lane-heading h4 { margin-top: .2rem; font-size: 1.15rem; }
.production-stage { flex: 0 0 auto; padding: .35rem .55rem; color: var(--ink); background: var(--quiet-line); border-radius: 999px; font-size: .72rem; font-weight: 600; }
.production-stage.stage-complete { color: #d9f7e5; background: #214c35; }
.production-stage.stage-exception { color: #ffcbc6; background: #633331; }
.production-stage.stage-not_started, .production-stage.stage-not_ordered { color: var(--muted); background: var(--quiet-line); }
.production-workstreams { display: grid; gap: .25rem; margin: 0; padding: .85rem 2rem; color: #ddd; }
.production-lane-card > .production-muted { margin: 0; padding: .85rem 1rem; border-bottom: 1px solid var(--quiet-line); }
.production-counts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding: 1rem; }
.production-count { min-width: 0; padding: .75rem; background: var(--surface-low); border: 1px solid var(--quiet-line); border-radius: 8px; }
.production-count strong { display: block; color: var(--ink); font-size: 1.35rem; }
.production-count small { display: block; margin-top: .2rem; color: #929292; overflow-wrap: anywhere; text-transform: lowercase; }
.production-next { padding: 1rem; background: #262626; border-top: 1px solid #444; }
.production-next p { margin: .2rem 0 0; color: var(--ink); }
.production-exceptions { padding: 1rem; color: #ffcbc6; background: #321f20; border-top: 1px solid #8f4a48; }
.production-exceptions p { margin: .35rem 0 0; }
.production-disclosure { margin: 0; padding: 1rem 1.25rem 1.25rem; color: #929292; border-top: 1px solid var(--quiet-line); font-size: .84rem; }

/* Contextual Editor Review and Quick Edit open as dedicated Mission Control task rooms. */
.operation-card { overflow: hidden; padding: 0; cursor: default; }
.operation-card-main { display: grid; gap: .18rem; width: 100%; min-width: 0; padding: .72rem .82rem; color: inherit; background: transparent; border: 0; border-radius: 8px; cursor: pointer; font: inherit; text-align: left; }
.operation-card-main:focus-visible { outline: 3px solid rgba(255,193,7,.35); outline-offset: -3px; }
.operation-card-address { color: var(--ink); font-size: .98rem; line-height: 1.3; }
.operation-listing-agent { color: #b5b5b5; font-size: .82rem; line-height: 1.35; }
.appointment-time { color: #b5b5b5; font-size: .82rem; line-height: 1.35; text-align: left; }
.appointment-time.is-requested { color: #ff8c85; }
.operation-reason { display: inline-flex; width: max-content; margin-top: .38rem; padding: .2rem .45rem; border-radius: 4px; font-size: .68rem; font-weight: 600; letter-spacing: .065em; line-height: 1.25; text-transform: uppercase; }
.operation-reason-urgent { color: #ffaaa4; background: #321f20; border: 1px solid #824543; }
.operation-reason-quick-edit { color: #ffc16b; background: #32271a; border: 1px solid #76542b; }
.operation-card-actions { display: flex; gap: .45rem; flex-wrap: wrap; padding: .65rem .85rem .8rem; background: var(--surface-low); border-top: 1px solid var(--quiet-line); }
.operation-card-actions .button { flex: 1 1 8rem; min-height: 44px; }
.workspace-navigation { background: var(--canvas); }
.is-contextual-room .operations-shell { width: min(100% - 2rem, 1440px); max-width: 1440px; }
.operations-contextual-room { min-width: 0; overflow: clip; background: var(--surface-low); border: 1px solid #3d3d3d; border-radius: 12px; box-shadow: 0 18px 52px rgba(0,0,0,.35); }
.contextual-room-header { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 1rem; padding: 1.25rem; background: var(--surface-panel); border-top: 2px solid var(--gold-bright); border-bottom: 1px solid #444; }
.contextual-room-heading-copy { min-width: 0; }
.contextual-room-heading-copy h2, .contextual-room-heading-copy p { margin: 0; }
.contextual-room-heading-copy h2 { margin-block: .15rem .35rem; font-size: clamp(1.8rem, 4vw, 3rem); overflow-wrap: anywhere; }
.contextual-room-back { min-height: 48px; }
.contextual-room-loading { display: grid; justify-items: start; gap: .75rem; min-height: 20rem; align-content: center; padding: 2rem; }
.contextual-room-loading h2, .contextual-room-loading p { margin: 0; }
.contextual-context-strip { display: flex; align-items: baseline; gap: .8rem; padding: .8rem 1.25rem; background: #242424; border-bottom: 1px solid #444; }
.contextual-context-strip strong { overflow-wrap: anywhere; text-transform: none; }
.review-progress { position: sticky; z-index: 5; top: 0; display: grid; grid-template-columns: auto minmax(10rem, 1fr); align-items: center; gap: .45rem 1rem; padding: .7rem 1.25rem; background: rgba(23,23,23,.96); border-bottom: 1px solid var(--quiet-line); backdrop-filter: blur(10px); }
.review-view-toggle { display: flex; gap: .35rem; grid-row: 1 / 3; }
.review-view-toggle .button[aria-pressed="true"] { color: #fff; background: #454545; border-color: #777; }
.review-progress-copy { display: flex; justify-content: space-between; gap: .75rem; color: #aaa; }
.review-progress-copy strong { color: var(--ink); }
.review-progress progress { width: 100%; height: .75rem; accent-color: var(--gold-bright); }
.contextual-room-stage { display: grid; gap: .8rem; width: min(100%, 1120px); margin: 0 auto; padding: 1.25rem; }
.contextual-room-pager { position: sticky; z-index: 4; top: 0; display: grid; grid-template-columns: minmax(7rem, auto) 1fr minmax(7rem, auto); align-items: center; gap: .75rem; padding: .65rem; background: rgba(18,18,18,.96); border: 1px solid var(--quiet-line); border-radius: 10px; backdrop-filter: blur(10px); }
.contextual-room-pager .button { min-height: 48px; }
.contextual-room-pager-center { display: flex; align-items: center; justify-content: center; gap: .65rem; min-width: 0; }
.contextual-room-position { color: var(--ink); text-align: center; }
.review-gallery { display: grid; gap: 1rem; width: min(calc(100% - 2.5rem), 960px); margin: 1.25rem auto; }
.review-grid-workspace { width: min(calc(100% - 2.5rem), 1120px); margin: 1.25rem auto; }
.review-grid-toolbar { position: sticky; z-index: 4; top: 4.7rem; display: flex; align-items: center; gap: .55rem; min-height: 3.4rem; margin-bottom: .75rem; padding: .55rem; background: rgba(24,24,24,.96); border: 1px solid #3b3b3b; border-radius: 10px; backdrop-filter: blur(10px); }
.review-grid-selection-count { margin-right: auto; padding-inline: .3rem; color: var(--ink); white-space: nowrap; }
.review-grid-bulk-actions { display: flex; gap: .4rem; }
.review-grid-decision.is-accept { color: #dff9e9; border-color: #397c5a; }
.review-grid-decision.is-reject-revision { color: #ffd8d4; border-color: #8d4741; }
.review-grid-decision.is-quick-edit { color: #fff1ae; border-color: #8a7624; }
.review-thumbnail-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .7rem; width: 100%; }
.review-filmstrip { display: flex; gap: .28rem; width: 100%; padding: .38rem calc(50% - 1.9rem); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; background: #171717; border: 0; border-radius: 10px; scroll-padding-inline: calc(50% - 1.9rem); scroll-snap-type: x proximity; }
.review-filmstrip::-webkit-scrollbar { display: none; }
.review-thumbnail { position: relative; display: block; min-width: 0; padding: 0; overflow: hidden; color: #ddd; background: #0d0d0d; border: 2px solid #3f3f3f; border-radius: 8px; cursor: pointer; aspect-ratio: 4 / 3; scroll-snap-align: center; }
.review-filmstrip .review-thumbnail { flex: 0 0 3.35rem; width: 3.35rem; border-width: 1px; border-radius: 6px; opacity: .76; box-shadow: 0 5px 14px rgba(0,0,0,.42); transition: flex-basis 150ms ease, width 150ms ease, opacity 150ms ease, transform 150ms ease, border-color 150ms ease; }
.review-filmstrip .review-thumbnail.is-active { flex-basis: 3.9rem; width: 3.9rem; opacity: 1; transform: translateY(-2px); box-shadow: 0 7px 18px rgba(0,0,0,.52), 0 0 0 2px rgba(255,193,7,.16); }
.review-filmstrip .review-status-light { top: .18rem; right: .18rem; width: .52rem; height: .52rem; border-width: 1px; }
.review-thumbnail:hover, .review-thumbnail:focus-visible { border-color: #888; outline: none; }
.review-thumbnail.is-active { border-color: var(--gold-bright); box-shadow: 0 0 0 2px rgba(255,193,7,.16); }
.review-thumbnail.is-selected { border-color: var(--ink); box-shadow: 0 0 0 2px rgba(255,255,255,.18); }
.review-thumbnail-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.review-thumbnail-fallback { display: grid; width: 100%; height: 100%; place-items: center; color: #999; font-size: .76rem; }
.review-status-light { position: absolute; top: .4rem; right: .4rem; width: .72rem; height: .72rem; border: 2px solid rgba(0,0,0,.7); border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.review-status-light.is-pending { background: #8a8a8a; }
.review-status-light.is-accepted { background: #55d788; }
.review-status-light.is-quick-edit { background: #ffd84d; }
.review-status-light.is-rejected { background: #ff6f68; }
.review-selection-mark { position: absolute; top: .35rem; left: .35rem; display: grid; width: 1.3rem; height: 1.3rem; place-items: center; color: #111; background: rgba(20,20,20,.82); border: 2px solid #eee; border-radius: 50%; font-size: .78rem; font-weight: 600; }
.review-thumbnail.is-selected .review-selection-mark { background: var(--ink); }
.review-single-stage { width: min(100%, 960px); }
.review-decision-card > .review-filmstrip { border-block: 1px solid #343434; border-radius: 0; }
.review-decision-card, .quick-edit-card { display: grid; min-width: 0; overflow: hidden; background: #242424; border: 1px solid #444; border-radius: 12px; box-shadow: 0 14px 34px rgba(0,0,0,.25); scroll-margin-top: 5rem; touch-action: pan-y; transform: translateX(0); transition: transform 160ms ease, border-color 160ms ease; }
.review-decision-card { grid-template-columns: 1fr; }
.review-decision-card.is-decided { border-color: var(--line); }
.quick-edit-card { grid-template-columns: minmax(18rem, 1.15fr) minmax(20rem, .85fr); }
.review-decision-card.is-swiping, .quick-edit-card.is-swiping { transform: translateX(var(--swipe-offset, 0)); transition: none; }
.review-decision-card:focus, .quick-edit-card:focus { border-color: var(--gold-bright); outline: 3px solid rgba(255,193,7,.22); outline-offset: 2px; }
.review-media-figure { display: grid; align-content: start; min-width: 0; margin: 0; background: #090909; border-right: 1px solid var(--quiet-line); }
.review-decision-card .review-media-figure { border-right: 0; }
.review-media-inspect { display: block; width: 100%; min-width: 0; padding: 0; overflow: hidden; color: inherit; background: #090909; border: 0; cursor: zoom-in; }
.review-media-inspect:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--gold-bright); outline-offset: -3px; }
.review-media-image { display: block; width: 100%; height: auto; max-height: 50svh; aspect-ratio: 4 / 3; object-fit: contain; background: #090909; }
.review-media-fallback { display: grid; min-height: 14rem; place-items: center; margin: 0; padding: 1rem; color: #aaa; text-align: center; }
.review-media-caption { padding: .38rem .65rem; color: #aaa; background: #151515; border-top: 1px solid var(--quiet-line); font-size: .75rem; overflow-wrap: anywhere; }
.review-image-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; color: var(--ink); background: rgba(0,0,0,.96); border: 0; }
.review-image-lightbox::backdrop { background: rgba(0,0,0,.82); backdrop-filter: blur(4px); }
.review-image-lightbox-shell { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: .75rem; width: 100%; height: 100%; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
.review-image-lightbox-close { justify-self: end; min-height: 48px; }
.review-image-lightbox-image { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.review-image-lightbox-caption { margin: 0; color: #bbb; text-align: center; overflow-wrap: anywhere; }
.review-decision-body, .quick-edit-body { display: grid; align-content: start; gap: .55rem; min-width: 0; padding: .65rem .75rem .75rem; }
.review-card-heading { display: grid; gap: .2rem; }
.review-card-heading h4 { font-size: .9rem; }
.review-card-heading h4, .review-card-heading p, .quick-edit-body h4, .quick-edit-body > p { margin: 0; }
.review-card-heading h4, .quick-edit-body h4 { overflow-wrap: anywhere; }
.review-textarea { display: grid; gap: .35rem; }
.review-textarea > span { color: #ddd; font-size: .82rem; font-weight: 600; }
.review-textarea textarea { min-height: 5rem; }
.review-textarea textarea[aria-invalid="true"], .quick-edit-upload input[aria-invalid="true"] { border-color: #ff7b72; box-shadow: 0 0 0 3px rgba(255,123,114,.16); }
.review-decision-controls { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
.review-decision-button { min-width: 0; min-height: 44px; padding: .55rem .65rem; font-weight: 600; }
.review-decision-button.is-accept { color: #f4fff8; background: #2b684a; border-color: #55d788; }
.review-decision-button.is-reject-revision { color: #fff5f4; background: #7d3439; border-color: #ff6f68; }
.review-decision-button.is-quick-edit { color: #17130a; background: #ffd84d; border-color: #ffe989; }
.review-decision-button[aria-pressed="true"] { filter: brightness(1.13); box-shadow: inset 0 0 0 2px rgba(255,255,255,.62), 0 0 0 2px rgba(255,255,255,.12); }
.review-note-slot:empty { display: none; }
.review-note-editor { display: grid; gap: .75rem; padding: .9rem; background: var(--surface-low); border: 1px solid #444; border-radius: 8px; }
.review-submit-host { width: 100%; }
.review-submit-gate { display: flex; justify-content: flex-end; width: min(calc(100% - 2.5rem), 960px); margin: 0 auto 1.25rem; padding: .75rem; background: #1d1d1d; border: 1px solid #444; border-radius: 10px; }
.review-submit-gate h3, .review-submit-gate p { margin: 0; }
.review-submit-gate .button { justify-self: start; }
.editor-revision-pending { color: var(--ink); background: #1d1d1d; border-left: 4px solid var(--gold-bright); }
.editor-revision-pending h4 { color: var(--gold-bright); }
.completed-review-history { display: grid; gap: .75rem; width: min(calc(100% - 2.5rem), 1120px); margin: 0 auto 1.25rem; padding: 1.25rem; border: 1px solid var(--quiet-line); border-radius: 10px; }
.completed-review-history h3, .completed-review-history > p { margin: 0; }
.completed-review-cycle { overflow: hidden; background: #1b1b1b; border: 1px solid #3a3a3a; border-radius: 8px; }
.completed-review-cycle > summary { padding: .9rem 1rem; color: #e2e2e2; cursor: pointer; font-weight: 600; text-transform: capitalize; }
.completed-review-cycle[open] > summary { border-bottom: 1px solid var(--quiet-line); }
.completed-review-totals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; padding: 1rem; }
.completed-review-decisions { display: grid; gap: .75rem; margin: 0; padding: 0 1rem 1rem 2.5rem; }
.completed-review-decisions p { margin: .25rem 0 0; overflow-wrap: anywhere; }
.quick-edit-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding-top: .85rem; border-top: 1px solid var(--quiet-line); }
.quick-edit-actions .button { width: 100%; min-height: 48px; }
.quick-edit-download { text-decoration: none; }
.quick-edit-download[aria-disabled="true"] { pointer-events: none; opacity: .48; }
.quick-edit-upload-message { margin: 0; padding: .55rem 0; color: #aaa; font-size: .84rem; overflow-wrap: anywhere; }
.quick-edit-upload-message:empty { display: none; }
.quick-edit-upload-message:focus { color: var(--ink); outline: 2px solid var(--gold-bright); outline-offset: 3px; }

@media (max-width: 760px) {
  .site-header,
  .boundary-notice,
  .progress-shell,
  .console-shell,
  footer {
    width: min(100% - 24px, 1040px);
  }

  .site-header {
    align-items: flex-start;
    flex-direction: column;
    padding-top: 30px;
  }

  .workspace-toolbar { width: calc(100% - 24px); align-items: stretch; }
  .workspace-toolbar-link { flex: 1 1 auto; justify-content: center; padding-inline: .55rem; font-size: .74rem; }
  .workspace-menu { flex: 0 0 auto; }
  .workspace-menu > summary { justify-content: center; min-width: 48px; padding-inline: .65rem; font-size: 0; }
  .workspace-menu > summary::before { content: "☰"; font-size: 1.15rem; }
  .workspace-menu > summary::after { display: none; }
  .workspace-menu-panel { right: 0; left: auto; }
  .operations-mode .header-copy h1 { white-space: normal; }

  .brand-logo { width: 148px; }
  .operations-layout { grid-template-columns: 1fr; }
  .package-grid, .service-path-buttons, .detail-pane-summary, .mission-control-summary,
  .summary-information-grid, .summary-customer-grid, .summary-metadata-grid, .production-mission-binding,
  .production-lanes, .contextual-context-strip, .review-decision-card, .quick-edit-card,
  .completed-review-totals { grid-template-columns: 1fr; }
  .detail-header { align-items: stretch; flex-direction: column; }
  .production-heading { align-items: stretch; flex-direction: column; }
  .workspace-switcher { display: grid; grid-template-columns: 1fr 1fr; }
  .workspace-switch { min-height: 52px; }
  .review-progress-copy { align-items: stretch; flex-direction: column; }
  .review-progress { grid-template-columns: 1fr; }
  .review-view-toggle { grid-row: auto; }
  .review-view-toggle .button { flex: 1 1 0; }
  .operation-card-actions { display: grid; grid-template-columns: 1fr; }
  .is-contextual-room .operations-shell { width: 100%; padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)); }
  .operations-contextual-room { border-radius: 8px; }
  .contextual-room-header { grid-template-columns: 1fr; padding: 1rem; }
  .contextual-room-back { justify-self: start; }
  .contextual-room-stage { padding: .75rem; }
  .contextual-room-pager { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: .4rem; padding: .5rem; }
  .contextual-room-pager .button { width: 100%; min-width: 0; min-height: 52px; padding-inline: .55rem; }
  .contextual-room-pager-center { display: grid; gap: .3rem; }
  .review-overview-trigger { min-height: 44px !important; font-size: .78rem; }
  .contextual-room-position { font-size: .82rem; }
  .review-media-figure { border-right: 0; border-bottom: 1px solid var(--quiet-line); }
  .review-media-image { max-height: 48svh; }
  .review-gallery { width: calc(100% - 1.5rem); margin-block: .75rem; gap: .75rem; }
  .review-grid-workspace { width: calc(100% - 1.5rem); margin-block: .75rem; }
  .review-grid-toolbar { top: 4.2rem; align-items: stretch; flex-wrap: wrap; }
  .review-grid-selection-count { width: 100%; margin-right: 0; }
  .review-grid-bulk-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
  .review-thumbnail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
  .review-filmstrip .review-thumbnail { flex-basis: 3rem; width: 3rem; }
  .review-filmstrip .review-thumbnail.is-active { flex-basis: 3.55rem; width: 3.55rem; }
  .overview-appointment { align-items: stretch; flex-direction: column; }
  .overview-appointment-time { text-align: left; }
  .overview-client-name { flex-basis: 100%; }
  .overview-client-details { margin-left: auto; }
  .overview-client-detail-content { position: static; min-width: min(18rem, calc(100vw - 3rem)); margin-top: .35rem; }
  .review-decision-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .quick-edit-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .review-submit-gate, .completed-review-history { width: calc(100% - 1.5rem); margin-bottom: .75rem; padding: 1rem; }
  .review-submit-gate .button, .quick-edit-actions .button { width: 100%; min-height: 52px; }
  .mission-section-card, .mission-note-form { grid-template-columns: 1fr; }
  .mission-contact-row { grid-template-columns: 1fr; }
  .mission-section-heading, .mission-section-card .operation-field-wide { grid-column: 1; }
  .detail-tabs button { font-size: .82rem; }

  .progress-shell {
    padding-bottom: 17px;
  }

  .progress-list {
    min-width: 620px;
  }

  .step-card {
    padding: 25px 18px;
    border-radius: 16px;
  }

  .field,
  .field-locality,
  .field-region,
  .field-postal,
  .field-country,
  .field-square-feet {
    grid-column: span 12;
  }

  .review-grid,
  .confirmation-content {
    grid-template-columns: 1fr;
  }

  .summary-card-wide,
  .confirmation-section:nth-child(2),
  .confirmation-section.compact-section {
    grid-column: 1;
  }

  .form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .form-actions-end {
    flex-direction: column;
  }

  .button {
    width: 100%;
    min-height: 52px;
  }

  .startup-status {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .startup-status .button {
    width: auto;
    margin: 4px 0 0;
  }

  .choice-title-row,
  .choice-details,
  .review-service,
  .confirmation-items li,
  .outcome-list li {
    align-items: flex-start;
    flex-direction: column;
  }

  .choice-details {
    margin-left: 36px;
  }

  .definition-row {
    grid-template-columns: 1fr;
  }

  .confirmation-heading {
    gap: 12px;
  }

  .success-mark {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  .review-decision-card, .quick-edit-card { transition: none !important; }
}

@media print {
  .skip-link,
  .progress-shell,
  .form-actions,
  .startup-status,
  .error-summary {
    display: none !important;
  }

  body {
    background: #fff;
    color: #111;
  }

  h1, h2, h3, h4 { color: #111; }

  .step-card {
    border: 0;
    box-shadow: none;
  }
}

/* Approved MediaLab Design System v1 (2026-08-28): shared app components. */
html, body { background: var(--canvas); }
body { color: var(--ink); font: 400 1rem/1.6 var(--font-body); background: var(--ambient), var(--canvas); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, button, .button, label, summary, .eyebrow, .step-kicker, .environment-badge, .workspace-toolbar-link, .progress-list, .choice-name, .choice-amount { font-family: var(--font-display); }
h1, h2, h3, h4, h5, .step-heading h2, .confirmation-heading h2, .centered-card h2 { color: var(--white-warm); font-weight: 600; }
h1, .operations-mode .header-copy h1 { font-family: var(--font-display); font-size: clamp(1.25rem, 2.1vw, 1.75rem); font-weight: 500; line-height: 1.25; letter-spacing: -.03em; white-space: normal; }
.site-header, .boundary-notice, .progress-shell, .console-shell, footer, .workspace-toolbar, .operations-shell { width: min(1240px, calc(100% - 64px)); max-width: 1240px; }
.site-header, .operations-mode .site-header { min-height: 100px; padding: 20px 0; gap: 24px; align-items: center; }
.brand-logo { flex: 0 0 auto; width: 192px; height: auto; border: 0; border-radius: 7px; background: var(--canvas); box-shadow: var(--logo-shadow); }
.header-copy { min-width: 0; }
.header-copy .eyebrow { margin-bottom: 5px; font: 600 .65rem/1.4 var(--font-display); color: var(--muted); letter-spacing: .18em; }
.header-copy .lede { margin: 5px 0 0; font-size: .85rem; line-height: 1.5; color: var(--muted); }
.environment-badge { padding: 8px 12px; flex-shrink: 0; color: var(--muted); background: var(--surface-panel); border: 1px solid var(--line); border-radius: 999px; font-size: .65rem; font-weight: 600; }
.environment-badge span { background: var(--gold); box-shadow: none; }
.workspace-toolbar { flex-wrap: wrap; padding: 8px; gap: 8px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-panel); box-shadow: var(--shadow); }
.workspace-toolbar-link, .workspace-menu > summary { min-height: 44px; padding: 12px 20px; color: var(--muted); font: 600 .72rem/1.3 var(--font-display); letter-spacing: .08em; border-radius: 8px; }
.workspace-toolbar-link:hover, .workspace-toolbar-link:focus-visible, .workspace-menu > summary:hover { color: var(--white-warm); background: var(--selected-fill); }
.workspace-toolbar-link[aria-current="page"] { color: var(--gold-bright); background: var(--control-gradient); box-shadow: inset 0 -1px var(--gold-bright), var(--specular); }
.operations-shell, .operations-mode .operations-shell { padding: 0 0 32px; }
.operations-hero { margin: 0 0 24px; }
.queue-tabs { gap: 8px; margin: 0 0 24px; flex-wrap: wrap; overflow: visible; }
.queue-tabs button, .detail-tabs button, .workspace-switch, .service-path-button { min-height: 44px; padding: 12px 18px; color: var(--muted); background: var(--control-gradient); border: 1px solid var(--line); border-radius: 999px; font: 600 .75rem/1.3 var(--font-display); box-shadow: var(--specular); }
.queue-tabs button[aria-pressed="true"], .detail-tabs button[aria-pressed="true"], .workspace-switch[aria-pressed="true"], .service-path-button[aria-pressed="true"] { color: var(--gold-bright); background: var(--selected-fill); border-color: var(--gold); box-shadow: var(--specular); }
.queue-tabs span { color: inherit; background: var(--quiet-fill); }
.step-card, .summary-card, .confirmation-section, .queue-panel, .operations-detail, .operations-contextual-room, .review-card, .quick-edit-card { color: var(--ink); background: var(--surface-panel); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow); }
.step-card { padding: clamp(24px, 3vw, 40px); }
.step-heading h2, .confirmation-heading h2, .centered-card h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 1.15; letter-spacing: -.03em; }
.step-kicker, .eyebrow { color: var(--gold); font-weight: 600; }
.step-intro, .field-hint, .detail-copy, .section-intro, .choice-description, .operation-services, .appointment-time, footer { color: var(--muted); }
.queue-panel > h3 { padding: 20px 24px; color: var(--white-warm); font-size: .85rem; font-weight: 600; border-bottom-color: var(--line); }
.operations-list { background: transparent; padding: 12px; }
.queue-empty, .empty-detail { min-height: 260px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 32px; color: var(--muted); }
.queue-empty strong, .empty-detail h3 { color: var(--white-warm); font: 500 1.1rem/1.4 var(--font-display); }
.queue-empty p, .empty-detail p { max-width: 32ch; font-size: .9rem; }
.operations-detail { min-height: 328px; }
.operation-card, .catalog-choice, .catalog-choice.is-selected { color: var(--ink); background: var(--surface-raised-gradient); border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--specular); }
.operation-card:hover, .catalog-choice:hover { border-color: var(--gold); }
.operation-card.is-selected, .catalog-choice.is-selected { border-color: var(--gold-bright); background: var(--selected-fill); box-shadow: var(--shadow); }
.choice-name { color: var(--white-warm); font-weight: 600; }
.choice-amount { color: var(--gold-bright); }
.detail-header, .listing-overview-card, .detail-section, .operation-form, .service-path, .workspace-switcher, .workspace-navigation { color: var(--ink); background: var(--surface-panel); border-color: var(--line); }
.detail-section, .window-row, .assignment-row { border-color: var(--quiet-line); }
.button { min-height: 50px; padding: 14px 24px; border-radius: 999px; font: 600 .72rem/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; transition: transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease, background 200ms ease; }
.button-compact { min-height: 42px; padding: 10px 18px; }
.button-primary { color: var(--on-gold); background: var(--gold-gradient); border: 1px solid var(--gold-bright); box-shadow: var(--primary-shadow); font-weight: 600; }
.button-primary:hover:not(:disabled), .button-primary:focus-visible { color: var(--on-gold); background: var(--gold-hover-gradient); border-color: var(--gold-bright); box-shadow: var(--primary-hover-shadow); transform: translateY(-2px); }
.button-secondary { color: var(--ink); background: var(--control-gradient); border: 1px solid var(--gold); box-shadow: var(--secondary-shadow); }
.button-secondary:hover:not(:disabled) { color: var(--white-warm); border-color: var(--gold-bright); background: var(--selected-fill); transform: translateY(-2px); }
.button:active:not(:disabled) { transform: none; box-shadow: var(--pressed-shadow); }
.button:disabled { opacity: 1; color: var(--disabled-text); border-color: var(--disabled-border); background: var(--disabled-fill); box-shadow: none; transform: none; }
input, select, textarea, .field input[type="text"], .field input[type="email"], .field input[type="number"], .operation-field input, .operation-field select, .operation-field textarea { color: var(--ink); background: var(--canvas); border: 1px solid var(--quiet-line); border-radius: 10px; font-family: var(--font-body); }
input::placeholder, .field input::placeholder, textarea::placeholder { color: var(--muted); }
.field input:focus, .operation-field input:focus, .operation-field select:focus, .operation-field textarea:focus { border-color: var(--gold-bright); box-shadow: var(--secondary-shadow); }
:where(a, button, input, select, textarea, summary):focus-visible, .workspace-toolbar-link:focus-visible { outline: 2px solid var(--white-warm); outline-offset: 3px; }
.progress-list { font-weight: 500; }
.progress-list li { color: var(--muted); }
.progress-list span { color: var(--muted); background: var(--control-gradient); border-color: var(--quiet-line); }
.progress-list li[aria-current="step"] { color: var(--gold-bright); }
.progress-list li[aria-current="step"] span { color: var(--on-gold); background: var(--gold-gradient); border-color: var(--gold-bright); box-shadow: var(--primary-shadow); }
.boundary-notice { padding: 16px 20px; color: var(--muted); border-color: var(--quiet-line); background: var(--surface-panel); border-radius: 12px; }
.boundary-notice h2, .boundary-notice p { color: var(--muted); }
.error-summary { color: var(--danger); background: var(--danger-pale); border-color: var(--danger-border); }
.attention-chip { color: var(--warning); background: var(--warning-pale); border-color: var(--warning-border); }
.operations-success { color: var(--success); background: var(--success-pale); border-color: var(--success-border); }
footer { padding-top: 24px; font-size: .75rem; }
@media (max-width: 1080px) { .site-header, .boundary-notice, .progress-shell, .console-shell, footer, .workspace-toolbar, .operations-shell { width: calc(100% - 48px); } .operations-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .site-header, .boundary-notice, .progress-shell, .console-shell, footer, .workspace-toolbar, .operations-shell { width: calc(100% - 32px); }
  .site-header, .operations-mode .site-header { flex-wrap: wrap; gap: 16px; padding: 16px 0; }
  .brand-logo { width: 150px; }
  .header-copy { order: 3; flex: 1 0 100%; }
  .environment-badge { margin-left: auto; }
  .workspace-toolbar { gap: 4px; padding: 4px; }
  .workspace-toolbar-link { flex: 1 1 40%; justify-content: center; padding: 10px; font-size: .7rem; }
  .queue-tabs { display: grid; grid-template-columns: 1fr; }
  .queue-tabs button { text-align: left; white-space: normal; }
  .hero-actions { width: 100%; flex-wrap: wrap; }
  .hero-actions .button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; } .button:hover:not(:disabled) { transform: none; } }

.history-search-tools { display: grid; gap: 8px; padding: 16px 20px 0; }
.history-search-tools label { color: var(--muted); font-size: .8rem; }
.history-search-tools input { width: 100%; min-width: 0; padding: 12px; }
.history-card-meta { color: var(--muted); font-size: .75rem; }
.history-fields { margin: 0; display: grid; gap: 12px; }
.history-fields > div { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(0, 2fr); gap: 16px; }
.history-fields dt { color: var(--muted); font-size: .85rem; }
.history-fields dd { margin: 0; color: var(--ink); overflow-wrap: anywhere; white-space: pre-wrap; }
.history-service { padding: 12px 0; border-bottom: 1px solid var(--quiet-line); }
.history-service:last-child { border: 0; }
.history-service p { margin: 4px 0; }

.history-listing-card { padding: 16px; gap: 6px; cursor: pointer; }
.history-listing-card .operation-address { font-family: var(--font-display); font-weight: 500; line-height: 1.45; }
.history-listing-card .operation-services { color: var(--muted); }

/* Completed orders: compact summary with distinct navigable detail panels. */
.completed-detail-header { padding: 24px; border-bottom: 1px solid var(--line); }
.completed-detail-header h3 { margin: 8px 0; font: 500 clamp(1.2rem,2vw,1.65rem)/1.35 var(--font-display); }
.completed-client { margin: 0; color: var(--muted); }
.completed-statuses { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.completed-status { padding: 4px 10px; border: 1px solid var(--success-border); border-radius: 999px; color: var(--success); background: var(--success-pale); font: 500 .72rem/1.4 var(--font-display); text-transform: capitalize; }
.completed-detail-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 20px; border-bottom: 1px solid var(--quiet-line); }
.completed-detail-tabs button { padding: 10px 14px; border: 1px solid transparent; border-radius: 8px; color: var(--muted); background: transparent; cursor: pointer; font: 500 .8rem/1.4 var(--font-display); }
.completed-detail-tabs button[aria-selected="true"] { color: var(--gold-bright); border-color: var(--line); background: var(--selected-fill); }
.completed-detail-content { padding: 20px; display: grid; gap: 16px; }
.completed-amounts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.completed-amount { display: grid; gap: 8px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--control-gradient); }
.completed-amount span { color: var(--muted); font-size: .75rem; }
.completed-amount strong { color: var(--gold-bright); font: 500 clamp(1rem,1.5vw,1.4rem)/1.2 var(--font-display); overflow-wrap: anywhere; }
.completed-info-card { padding: 20px; border: 1px solid var(--quiet-line); border-radius: 12px; background: rgba(255,255,255,.025); }
.completed-info-card h4 { margin: 0 0 16px; font: 500 .92rem/1.4 var(--font-display); color: var(--white-warm); }
.completed-info-card .history-fields > div { padding: 8px 0; border-bottom: 1px solid rgba(243,235,221,.07); grid-template-columns: minmax(100px,1fr) minmax(0,2fr); }
.completed-info-card .history-fields > div:last-child { border: 0; padding-bottom: 0; }
.completed-info-card .history-fields { gap: 0; }
.service-price { margin: 12px 0 0; color: var(--gold-bright); font: 500 .85rem/1.5 var(--font-display); }

.client-contact { display:block; margin: 0 0 12px; color:var(--ink); overflow-wrap:anywhere; text-decoration:none; }
.client-contact:hover { color:var(--gold-bright); }
.client-order-link { display:block; width:100%; margin:6px 0; padding:12px; color:var(--ink); border:1px solid var(--quiet-line); border-radius:8px; background:var(--control-gradient); text-decoration:none; text-align:left; font:400 .85rem/1.5 var(--font-body); cursor:pointer; }
.client-order-link:hover { color:var(--gold-bright); border-color:var(--gold); }

/* Unified order entry: owner-approved desktop composition. */
.order-details-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.order-details-layout[hidden]{display:none}.order-details-layout .step-card{margin:0;min-width:0}.order-full-row,#services-step{grid-column:1/-1}
.order-details-layout .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-details-layout .field-wide{grid-column:1/-1}
.customer-results{display:grid;gap:8px;max-height:290px;overflow:auto;margin-top:12px}.customer-result{width:100%;text-align:left;border:1px solid var(--border,#484236);border-radius:12px;background:#20201e;color:#f5f1e7;padding:13px;cursor:pointer}.customer-result span{display:block;color:#bdb8ac;font-size:.85rem;margin-top:4px}.customer-result:hover,.customer-result:focus-visible{border-color:#d5aa4c;background:#302b20}.selected-customer{padding:12px;border-left:3px solid #c99e43;white-space:pre-line}.service-help{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:18px;border-radius:14px;background:#29261e}.appointment-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.appointment-mode{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.appointment-mode label{display:block;padding:18px;border:1px solid #51462f;border-radius:14px}.appointment-mode span{display:block;font-size:.85rem;color:#c5beae;margin:8px 0 0 24px}.appointment-summary{white-space:pre-line}.order-details-layout textarea,.order-details-layout select{width:100%;box-sizing:border-box;padding:12px;border:1px solid #665637;border-radius:10px;color:#f4efdf;background:#171716;font:inherit}.order-details-layout textarea{resize:vertical}
@media(max-width:850px){.order-details-layout{grid-template-columns:1fr}.appointment-fields,.appointment-mode{grid-template-columns:1fr 1fr}.order-details-layout .field-grid{grid-template-columns:1fr}}

.order-details-layout .field{grid-column:auto;min-width:0}.order-details-layout .field-wide{grid-column:1/-1}.order-details-layout input:not([type="radio"]):not([type="checkbox"]){display:block;width:100%;min-height:48px;box-sizing:border-box;margin-top:7px;padding:10px 12px}.order-details-layout .step-card{padding:26px}.order-details-layout .step-heading h2{font-size:1.6rem}.order-details-layout .step-heading{margin-bottom:22px}.order-details-layout .field label{display:block}.appointment-mode input{width:auto}.order-details-layout .field-grid{gap:16px}

/* Keep the arrival time visible in the selected property overview. */
.appointment-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.overview-appointment{padding:22px!important;background:#191815;border:1px solid #a78136;border-radius:14px;margin-bottom:18px;gap:24px}
.arrival-highlight{display:grid;gap:8px}.arrival-highlight .eyebrow{color:#d9b966}.overview-appointment-time{font-size:clamp(1.35rem,2vw,1.9rem);line-height:1.3;text-align:left;color:#fff0c9}.payment-note{color:var(--muted)}

.directory-tabs{display:flex;gap:12px}.directory-tabs [aria-pressed="true"]{border-color:#e9bc56;background:#423314}.directory-edit-form{display:grid;gap:20px;padding:24px}.directory-edit-form .field{grid-column:auto}.team-member-editor{display:grid;gap:10px;max-height:55vh;overflow:auto}.team-member-row{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:12px;background:#22201a;border-radius:10px}.team-member-row label{display:flex;gap:12px;align-items:center}.team-member-row input{width:auto}.team-member-row select,.history-search-tools select{padding:10px;color:var(--ink);background:#201e18;border:1px solid #66532a;border-radius:8px}

.order-management-actions{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0}

/* Expandable service cards, preserving selected choices in view. */
.add-on-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.add-on-category-grid .add-on-group{margin:0;border:1px solid #67512a;border-radius:20px;background:#151515;overflow:hidden}
.add-on-category-grid .add-on-group>summary{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:30px;cursor:pointer;list-style:none}
.add-on-group>summary::-webkit-details-marker{display:none}.category-icon{font-size:44px;color:#e0b75b;line-height:1}.category-description{font-size:15px;font-weight:400;line-height:1.5;color:#c4bfb4;max-width:370px}.category-action{font-size:12px;color:#e0b75b}.add-on-group.has-selections{border-color:#edbf57;box-shadow:0 0 0 1px #edbf5744}.add-on-group.has-selections>summary{cursor:default}.add-on-group[open]>summary{padding:20px}.add-on-group[open] .category-icon{font-size:30px}.add-on-group .add-on-grid{display:grid;grid-template-columns:1fr;padding:0 18px 18px}.selected-order-summary{position:sticky;bottom:12px;z-index:5;margin:24px 0 0;padding:20px 24px;background:#191710;border:2px solid #e0b75b;border-radius:16px;box-shadow:0 6px 24px #0009}.selected-total-heading{display:block;color:#f7d37e;font-size:24px}.selected-line-items{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:14px;color:#eee5d0}.appointment-fields input,.appointment-fields select{min-height:50px;height:50px;background:#121212;color:#eee8dc;border:1px solid #726754;border-radius:10px;padding:10px 12px;font:inherit;box-sizing:border-box;width:100%}.arrival-parts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.choice-quantity.is-fixed{display:none}[hidden]{display:none!important}@media(max-width:750px){.add-on-category-grid{grid-template-columns:1fr}.selected-order-summary{position:static}}

/* Final operator review: restrained green/purple vignettes and readable details. */
.step-card,.completed-info-card,.listing-overview-card{background:var(--surface-panel)}
/* Listing cards use the same solid neutral surfaces as other sections. */
.review-appointment-highlight{padding:26px!important;border:1px solid #a78136;background:#181715}
.review-appointment-time{display:block;font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;color:#fff0c9;margin:12px 0}.review-appointment-zone{display:block;font-weight:700;color:#d5cdbd}
.job-card-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:10px}.job-order-number{font-weight:700;color:#e7c879;font-size:13px}.job-status-badges{display:flex;gap:6px;flex-wrap:wrap}.job-status-badge{border:1px solid;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700;line-height:1.3}.job-status-badge.is-green{color:#b5efc8;background:#163e2b;border-color:#36694c}.job-status-badge.is-red{color:#ffcccd;background:#462329;border-color:#895057}.queue-tabs button.has-attention{color:#ffd7d8;border-color:#a44d56;background:#462027}.queue-tabs button.has-attention[aria-pressed="true"]{box-shadow:0 0 0 1px #a44d56}
.history-listing-card .operation-card-main{width:100%;text-align:left}.operation-listing-agent,.appointment-time{display:block}.history-listing-card{padding:0}.operation-card-main{min-width:0}
.overview-client-actions{gap:10px;flex-wrap:wrap}.overview-icon-action{display:inline-flex!important;align-items:center;gap:9px;width:auto!important;height:auto!important;min-height:44px;padding:9px 14px!important;font-size:15px!important;font-weight:700}.contact-action-icon{font-family:Arial,sans-serif;font-size:25px;line-height:1.1}
.crew-assigned-summary{display:grid;gap:5px;margin-bottom:12px}.crew-service-form{display:grid;gap:16px;padding:16px 0}.crew-choice-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.crew-choice-card{border:1px solid #61563e;border-radius:12px;padding:16px;min-width:0;background:#141414}.crew-person-label,.crew-service-option{display:flex;gap:10px;align-items:flex-start}.crew-service-options{display:grid;gap:12px}.crew-service-option input,.crew-person-label input{width:18px;height:18px;flex-shrink:0;accent-color:#e0b75b}.crew-service-option{font-size:14px;line-height:1.4}.crew-service-option:has(input:disabled){opacity:.55}
.field-hint,.detail-copy,.overview-muted,.history-card-meta,.operation-reason,.category-action,.choice-description,.selected-line-items,.catalog-disclosure,.state-note,.eyebrow,.step-kicker,.completed-detail-content dt,.completed-detail-content dd,.overview-client-detail-content,.operation-listing-agent,.appointment-time,.section-intro,.review-appointment-zone,small{font-weight:700}.field-hint,.detail-copy,.overview-muted,.choice-description,.catalog-disclosure,.state-note{color:#c9c5bc}
@media(max-width:700px){.crew-choice-rows{grid-template-columns:1fr}.job-card-heading{align-items:flex-start}}

/* Address suggestions and client business lanes preserve the accepted form scale. */
.field-address-line-1 { position: relative; }
.address-suggestions { border: 1px solid #826629; border-radius: 12px; background: #171915; padding: 8px; margin-top: 6px; }
.address-option { display: block; width: 100%; text-align: left; padding: 12px; background: transparent; color: #f4efe5; border: 0; border-radius: 8px; font: inherit; cursor: pointer; }
.address-option:hover,.address-option[aria-selected="true"] { background: #393528; outline: 1px solid #bf963c; }
.maps-attribution { display: block; margin: 8px 12px 2px; font: normal 400 13px sans-serif; color: white; letter-spacing: normal; white-space: nowrap; }
.client-lane-tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid #665330; padding-bottom: 14px; margin-bottom: 6px; }
.client-lane-tabs [aria-pressed="true"] { background: #40371f; border-color: #d4aa4d; color: #fff4d6; }
.client-lane-picker { border: 1px solid #665330; border-radius: 12px; padding: 16px; }
.client-lane-picker label { display: flex; gap: 12px; align-items: center; padding: 8px 0; }
.client-lane-picker input { width: 20px; height: 20px; accent-color: #d4aa4d; }

/* Photo review keeps the working image above the fold. */
.is-contextual-room > .site-header,
.is-contextual-room > .workspace-toolbar,
.is-contextual-room > .boundary-notice { display: none; }
.is-review-room .operations-shell { width: calc(100% - 24px); max-width: none; margin: 12px auto; padding: 0; }
.is-review-room .operations-contextual-room { overflow-anchor: none; }
.is-review-room .contextual-room-header { padding: .55rem .85rem; align-items: center; gap: .75rem; }
.is-review-room .contextual-room-heading-copy h2 { font-size: 1.15rem; margin: 0 0 .15rem; }
.is-review-room .review-property { margin: 0; font-size: .85rem; color: var(--muted); }
.is-review-room .contextual-room-back { min-height: 38px; padding: .4rem .7rem; }
.is-review-room .review-progress { padding: .4rem .85rem; gap: .25rem .75rem; }
.is-review-room .review-progress progress { height: .35rem; }
.is-review-room .review-view-toggle .button[aria-pressed="true"] { color: var(--gold-bright); background: #393222; border-color: var(--gold-bright); }
.is-review-room .review-single-stage { width: 100%; padding: .6rem; }
.is-review-room .review-media-image { height: max(240px, calc(100dvh - 295px)); max-height: none; width: 100%; aspect-ratio: auto; }
.is-review-room .review-decision-card:focus { outline: none; }
.is-review-room .review-media-caption { padding: .15rem .55rem; font-size: .7rem; }
.is-review-room .review-grid-workspace { width: calc(100% - 1.2rem); }
.is-review-room .review-submit-gate { margin-bottom: .5rem; padding: .5rem; }

/* Reuse the approved gold materials with quiet green/purple edge lighting. */
.is-review-room { background: radial-gradient(ellipse at 0% 25%,rgba(19,66,45,.24),transparent 44%), radial-gradient(ellipse at 100% 70%,rgba(57,29,76,.22),transparent 45%),var(--canvas); }
.is-review-room .operations-contextual-room { background: var(--surface-panel); border-color: var(--line); box-shadow: var(--shadow); }
.is-review-room .contextual-room-header { background: var(--surface-panel); border-color: var(--line); border-top-width: 1px; }
.is-review-room .review-progress, .is-review-room .review-grid-toolbar { background: var(--surface-panel); border-color: var(--line); }
.is-review-room .review-view-toggle .button[aria-pressed="true"] { color: var(--on-gold); background: var(--gold-gradient); border-color: var(--gold-bright); box-shadow: var(--primary-shadow); }
.is-review-room .review-decision-card { background: var(--surface-panel); border-color: var(--line); box-shadow: var(--specular); }
.is-review-room .review-decision-card.is-decided { border-color: var(--gold); }
.is-review-room .review-filmstrip { background: var(--control-gradient); border-color: var(--quiet-line); }
.is-review-room .review-thumbnail { background: var(--canvas); border-color: var(--quiet-line); }
.is-review-room .review-thumbnail.is-active { border-color: var(--gold-bright); box-shadow: var(--secondary-shadow); }
.is-review-room .review-decision-button { min-height: 32px; padding: .35rem .65rem; font-size: .68rem; background: var(--control-gradient); box-shadow: var(--specular); }
.is-review-room .review-decision-button.is-accept { color: var(--success); border-color: var(--success-border); background: #153322; }
.is-review-room .review-decision-button.is-reject-revision { color: var(--danger); border-color: var(--danger-border); background: #3c1b20; }
.is-review-room .review-decision-button.is-quick-edit, .is-review-room .review-grid-decision.is-quick-edit { color: #211006; border-color: #f6a166; background: #e98435; }
.is-review-room .review-decision-button[aria-pressed="true"] { filter: none; box-shadow: inset 0 0 0 2px currentColor,var(--secondary-shadow); }
.is-review-room .review-note-editor, .is-review-room .review-submit-gate { background: var(--surface-panel); border-color: var(--line); }
.is-review-room .review-progress progress { appearance: none; border: 0; border-radius: 4px; overflow: hidden; background: var(--quiet-fill); }
.is-review-room .review-progress progress::-webkit-progress-bar { background: var(--quiet-fill); }
.is-review-room .review-progress progress::-webkit-progress-value { background: var(--gold-gradient); }
.is-review-room .review-progress progress::-moz-progress-bar { background: var(--gold-gradient); }

/* One compact attention list remains available across the listing queues. */
.operations-attention { margin: 0 0 16px; padding: 12px; border: 2px solid #a45460; border-radius: 12px; background: var(--surface-panel); box-shadow: var(--specular); }
.operations-attention h3 { margin: 0 0 8px; font-size: .85rem; }
.attention-compact-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 8px; max-height: 180px; overflow-y: auto; }
.attention-compact-card { display: grid; gap: 3px; min-width: 0; padding: 10px 12px; text-align: left; color: var(--ink); background: var(--control-gradient); border: 1px solid var(--quiet-line); border-radius: 9px; cursor: pointer; font: inherit; }
.attention-compact-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.attention-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; font-size: .73rem; line-height: 1.4; }
.attention-card-order { color: var(--muted); }
.attention-reason-badge { display: inline-flex; padding: 2px 7px; border: 1px solid #895057; border-radius: 999px; color: #ffcccd; background: #462329; font-weight: 600; }
.attention-reason-badge.is-review { color: #e4d3f5; background: #302339; border-color: #75588a; }
.attention-reason-badge.is-quick-edit { color: #f3daa0; background: #382f1c; border-color: #8c7443; }
.attention-compact-card:hover { border-color: var(--gold); background: var(--selected-fill); }

/* Keep review entry beside the property heading, above the long details. */
.property-review-actions:empty { display: none; }
.property-review-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Detail reserves space for controls; the selected image receives the rest. */
.review-detail-strip { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .6rem; padding: .3rem .6rem; border-top: 1px solid var(--quiet-line); }
.review-detail-position { white-space: nowrap; font-size: .75rem; color: var(--muted); }
.review-detail-strip .review-filmstrip { position: relative; min-width: 0; max-width: 100%; }
.review-detail-strip .review-decision-controls { display: flex; gap: .35rem; }
.review-detail-strip .review-decision-button { white-space: nowrap; }
.review-decision-body:has(> .review-note-slot:empty) { display: none; }
.is-review-room .review-progress { grid-template-columns: auto minmax(0,1fr) auto; }
.review-progress .review-submit-host { grid-column: 3; grid-row: 1 / 3; width: auto; }
.review-progress .review-submit-host:empty { display: none; }
.is-review-room .review-progress .review-submit-gate { width: auto; margin: 0; padding: 0; border: 0; background: transparent; }
.is-review-room .review-progress .button { min-height: 32px; padding: .35rem .7rem; font-size: .68rem; }
@media (min-width: 761px) and (min-height: 500px) {
  body.is-review-room:has(.review-single-stage) { height: 100dvh; overflow: hidden; }
  .is-review-room:has(.review-single-stage) .operations-shell { display: flex; flex-direction: column; height: calc(100dvh - 16px); margin: 8px auto; }
  .is-review-room:has(.review-single-stage) > footer { display: none; }
  .is-review-room:has(.review-single-stage) .operations-contextual-room { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0 !important; }
  .is-review-room:has(.review-single-stage) .contextual-room-header,
  .is-review-room:has(.review-single-stage) .review-progress { flex: 0 0 auto; }
  .is-review-room .review-single-stage { flex: 1 1 0; min-height: 0; margin: 0; padding: .35rem; }
  .is-review-room .review-single-stage .review-decision-card { min-height: 0; grid-template-rows: minmax(0,1fr) auto auto; }
  .is-review-room .review-single-stage .review-media-figure { min-height: 0; grid-template-rows: minmax(0,1fr) auto; align-content: stretch; }
  .is-review-room .review-single-stage .review-media-inspect { min-height: 0; height: 100%; }
  .is-review-room .review-single-stage .review-media-image { height: 100%; min-height: 0; max-height: 100%; object-fit: contain; }
  .is-review-room .review-single-stage .review-media-fallback { min-height: 0; }
  .is-review-room .review-single-stage .review-decision-body { padding: .3rem .6rem; }
  .is-review-room .review-single-stage .review-note-editor { padding: .35rem .5rem; }
  .is-review-room .review-single-stage .review-textarea { grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .6rem; }
  .is-review-room .review-single-stage .review-textarea textarea { min-height: 48px; height: 48px; max-height: 48px; resize: none; }
  .is-review-room:has(.review-single-stage) .completed-review-history { display: none; }
}
@media (max-width: 900px) {
  .review-detail-strip { grid-template-columns: auto minmax(0,1fr); }
  .review-detail-strip .review-decision-controls { grid-column: 1 / -1; justify-content: center; }
}

.review-note-summary { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: .2rem .4rem; background: transparent; border: 0; color: var(--muted); font: inherit; font-size: .75rem; text-align: left; cursor: pointer; }
.review-note-summary:hover { color: var(--ink); }
.quick-edit-instructions { padding: .75rem; background: #151515; border: 1px solid var(--quiet-line); border-radius: 8px; }
.quick-edit-instructions h4 { margin: 0 0 .4rem; font-size: .9rem; }
.quick-edit-instructions p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }

.photo-revision-handoffs:empty { display: none; }
.revision-request-note { white-space: pre-wrap; overflow-wrap: anywhere; }

/* Property entry shares the review badge with a larger click target. */
.property-review-badge { padding: 7px 13px; min-height: 34px; font-size: .85rem; letter-spacing: .045em; cursor: pointer; }
.property-review-badge:hover { background: #402e4d; border-color: #aa85c3; }
.property-review-badge:focus-visible { outline: 2px solid #c4a3de; outline-offset: 3px; }

.editor-handoff-log { margin: 0 0 18px; }
.editor-handoff-log-title { margin: 0 0 12px; font-size: 1rem; font-weight: 650; }
.editor-handoff-log.is-history { margin-top: 24px; }

/* One current editor handoff; contrast comes from border and count typography. */
.operations-mode .handoff-dashboard { margin: 16px 0; padding: 16px 20px; border: 1px solid #77668e; border-left: 4px solid #9d86b7; border-radius: 12px; background: #171719; }
.handoff-dashboard h4 { margin: 0 0 12px; font-size: 1rem; color: #eee9f3; }
.handoff-metrics { display: flex; flex-wrap: wrap; gap: 14px 32px; }
.handoff-metric { display: grid; gap: 3px; min-width: 105px; }
.handoff-metric strong { font-size: 1.65rem; line-height: 1.15; font-variant-numeric: tabular-nums; color: #f0ece5; }
.handoff-metric span { font-size: .8rem; color: #bcb8b1; }
.handoff-metric.is-accepted strong { color: #8ccca7; }
.handoff-metric.is-quick strong { color: #e8a064; }
.handoff-metric.is-revision strong { color: #d7969c; }
.handoff-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.handoff-status-line { font-size: .85rem; color: #bcb8b1; margin: 10px 0 0; }
.operations-mode .handoff-quick-action { border-color: #b57745; color: #e8a064; }

/* Private Hub preparation uses plain surfaces; color stays in the page background. */
.delivery-room {padding:0;}
.delivery-room .contextual-room-header {padding:.75rem 1rem;gap:1rem;flex-wrap:wrap;}
.delivery-caption {margin:0;color:var(--muted,#aaa);font-size:.9rem;}
.delivery-toolbar {display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;padding:.65rem 1rem;background:#141414;}
.delivery-toolbar input,.delivery-toolbar select {width:auto;max-width:100%;}
.delivery-save-status {margin-left:auto;font-size:.85rem;color:#c8c5bc;}
.delivery-readiness {margin:.45rem 1rem;color:#c8c5bc;font-size:.9rem;}
.delivery-stage {padding:.4rem 1rem 1rem;}
.delivery-detail {position:relative;display:flex;height:max(360px,calc(100dvh - 150px));}
.delivery-main-photo {margin:0;min-width:0;min-height:0;flex:1;display:flex;align-items:center;justify-content:center;background:#090909;}
.delivery-main-photo img {width:100%;height:100%;object-fit:contain;}
.delivery-inspect-nav {position:absolute;bottom:.5rem;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:.6rem;padding:.3rem;background:#141414e8;border-radius:7px;white-space:nowrap;}
.delivery-filename {overflow-wrap:anywhere;font-size:.85rem;color:#d8c58c;margin:.4rem 0;}
.delivery-filmstrip-row {display:flex;gap:.5rem;align-items:center;margin-top:.65rem;min-width:0;}
.delivery-counter {flex-shrink:0;font-size:.88rem;}
.delivery-filmstrip {display:flex;gap:.4rem;overflow-x:auto;flex:1;min-width:0;position:relative;scroll-behavior:instant;padding:.2rem;}
.delivery-thumb {flex:0 0 84px;height:62px;padding:2px;background:#161616;border:1px solid #48453b;border-radius:5px;}
.delivery-thumb.is-selected {border:2px solid #e6ba45;}
.delivery-thumb img {width:100%;height:100%;object-fit:contain;}
.delivery-gallery {display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;}
.delivery-gallery-card {min-width:0;background:#151515;padding:.5rem;border:1px solid #34332e;border-radius:7px;}
.delivery-image-button {display:block;width:100%;height:160px;padding:0;border:0;background:#080808;cursor:pointer;}
.delivery-image-button img {height:100%;width:100%;object-fit:contain;}
.delivery-photo-choice {display:flex;align-items:center;gap:.5rem;font-size:.9rem;margin-top:.5rem;}
.delivery-photo-choice input {width:auto;}
.delivery-group-heading {grid-column:1 / -1;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;border-bottom:1px solid #39352c;padding:.4rem 0;}
.delivery-group-heading h3 {margin:0 auto 0 0;}
.delivery-links {margin:0 1rem 1rem;padding-top:.75rem;border-top:1px solid #39352c;}
.delivery-links h3 {font-size:1rem;margin:.25rem 0 .75rem;}
.delivery-link-row {display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.35rem 0;}
.delivery-link-form {display:grid;grid-template-columns:140px minmax(130px,1fr) 180px minmax(180px,2fr) auto;gap:.5rem;align-items:center;}
.delivery-link-form input,.delivery-link-form select {min-width:0;width:100%;}
.delivery-room .button-compact {font-size:.8rem;padding:.45rem .75rem;min-height:34px;}
.delivery-room button[aria-pressed="true"] {border-color:#d5ae47;color:#ecd590;}
@media(max-width:850px){.delivery-detail{grid-template-columns:minmax(0,1fr);height:auto;}.delivery-main-photo{height:50dvh;}.delivery-inspector{display:grid;grid-template-columns:1fr 1fr;}.delivery-link-form{grid-template-columns:1fr 1fr;}.delivery-link-form input[type=url]{grid-column:1 / -1;}.delivery-counter{font-size:.75rem;}}

/* Room assignment stays in Gallery; Detail is a full inspection surface. */
.delivery-room-palette {position:sticky;top:0;z-index:3;background:#141414;border-bottom:1px solid #454039;padding:.7rem 0;margin-bottom:.7rem;}
.delivery-room-palette h3 {margin:.15rem 0 .4rem;font-size:1rem;}
.delivery-room-tags,.delivery-palette-actions,.delivery-gallery-actions {display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;}
.delivery-palette-actions {margin-top:.5rem;}
.delivery-gallery-actions {margin:.6rem 0 1rem;font-size:.85rem;}
.delivery-room-palette .overview-muted {margin:.3rem 0 .6rem;font-size:.85rem;}
.delivery-gallery-card.is-selected {border:2px solid #d5ae47;padding:calc(.5rem - 1px);}
.delivery-gallery-card[draggable=true] {cursor:grab;}
.delivery-gallery-card.is-dragging {opacity:.45;}
.delivery-gallery-card.drop-before {box-shadow:-5px 0 #d5ae47;}
.delivery-gallery-card.drop-after {box-shadow:5px 0 #d5ae47;}
.delivery-photo-choice {justify-content:space-between;}
.delivery-card-moves {display:flex;justify-content:center;gap:.4rem;margin-top:.3rem;}
.delivery-room [hidden] {display:none!important;}
@media(max-width:850px){.delivery-detail{display:flex;height:calc(100dvh - 170px);}.delivery-main-photo{height:100%;}.delivery-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}}

.delivery-room .contextual-room-heading-copy h2 {font-size:1.25rem;}
body.is-contextual-room:has(.delivery-detail) {height:100dvh;overflow:hidden;}
.is-contextual-room:has(.delivery-detail) .operations-shell {display:flex;flex-direction:column;height:calc(100dvh - 16px);width:calc(100% - 16px);max-width:none;margin:8px auto;padding:0;}
.is-contextual-room:has(.delivery-detail) > footer {display:none;}
.is-contextual-room:has(.delivery-detail) .delivery-room {display:flex;flex-direction:column;flex:1 1 0;min-height:0!important;}
.delivery-room:has(.delivery-detail) .delivery-stage {display:flex;flex:1 1 0;min-height:0;padding:.25rem;}
.delivery-room .delivery-detail {flex:1 1 0;min-height:0;height:auto;}

/* Delivery controls: plain navigation, compact tags, one clear primary action. */
.delivery-control,.delivery-room-tag,.delivery-primary-action {font:inherit;font-size:.84rem;letter-spacing:normal;text-transform:none;line-height:1.25;border-radius:7px;box-shadow:none;min-height:34px;padding:.45rem .7rem;cursor:pointer;}
.delivery-control {background:transparent;color:#c8c5bf;border:1px solid #42413d;}
.delivery-control:hover {background:#272622;color:#fff;}
.delivery-room .delivery-room-tag {background:#20201e;color:#dbd8d0;border:1px solid #555045;}
.delivery-room .delivery-room-tag[aria-pressed="true"],.delivery-primary-action {background:#d7ad50;color:#15130c;border:1px solid #edc971;font-weight:650;}
.delivery-room .delivery-room-tag[aria-pressed="true"]:disabled {opacity:1;color:#15130c;background:#d7ad50;}
.delivery-control:disabled,.delivery-primary-action:disabled {opacity:.4;cursor:default;}
.delivery-control:focus-visible,.delivery-room-tag:focus-visible,.delivery-primary-action:focus-visible {outline:2px solid #e5c477;outline-offset:3px;}
.delivery-toolbar {gap:.8rem;padding:.7rem 1rem;border-bottom:1px solid #34332e;}
.delivery-segmented {display:flex;gap:2px;padding:3px;background:#0e0e0e;border:1px solid #383731;border-radius:8px;}
.delivery-segmented .delivery-control {border:0;border-radius:5px;}
.delivery-room .delivery-segmented .delivery-control[aria-pressed="true"] {background:#34312a;color:#f0e8d7;}
.delivery-save-actions {display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-left:auto;}
.delivery-save-actions .button {text-transform:none;letter-spacing:normal;border-radius:7px;box-shadow:none;}
.delivery-save-actions .button-secondary {background:transparent;border:1px solid #555045;color:#d8d4c9;}
.delivery-palette-actions {border-top:1px solid #38352d;padding-top:.85rem;margin-top:.85rem;gap:.8rem;}
.delivery-palette-actions .delivery-primary-action {margin-left:auto;min-width:150px;}
.delivery-room-tags {gap:.45rem;}
.delivery-group-heading .delivery-control {font-size:.73rem;min-height:26px;padding:.25rem .4rem;color:#aaa69c;border-color:transparent;}
.delivery-photo-choice .delivery-control {font-size:.73rem;min-height:26px;padding:.25rem .4rem;border:0;}
.delivery-detail-rooms {flex:0 0 166px;display:flex;flex-direction:column;align-items:stretch;gap:.45rem;overflow-y:auto;padding:.8rem .6rem;background:#141414;border-left:1px solid #39352d;}
.delivery-detail-rooms h3 {font-size:.8rem;color:#b8b3a8;margin:0 0 .3rem;}
.delivery-detail-rooms .delivery-room-tag {text-align:left;flex-shrink:0;}
.delivery-detail:has(.delivery-detail-rooms) .delivery-inspect-nav {left:calc((100% - 166px)/2);}
@media(max-width:650px){.delivery-detail-rooms{flex-basis:125px;padding:.5rem .35rem;}.delivery-detail-rooms .delivery-room-tag{font-size:.75rem;}.delivery-detail:has(.delivery-detail-rooms) .delivery-inspect-nav{left:calc((100% - 125px)/2);}.delivery-save-actions{margin-left:0;}.delivery-inspect-nav{gap:.2rem;}.delivery-inspect-nav .delivery-control{font-size:.7rem;padding:.3rem;}}

/* Shared MediaLab button materials; retain distinct compact tags and segmented navigation. */
.delivery-room {overflow-anchor:none;}
.delivery-control,.delivery-room-tag,.delivery-primary-action {font-family:var(--font-display);font-weight:500;}
.delivery-room .delivery-control {background:var(--control-gradient);color:var(--ink);border-color:var(--line);box-shadow:var(--specular);border-radius:999px;}
.delivery-room .delivery-control:hover {border-color:var(--gold);color:var(--white-warm);}
.delivery-room .delivery-room-tag {background:var(--surface-panel);color:var(--ink);border-color:var(--line);box-shadow:var(--specular);}
.delivery-room .delivery-room-tag[aria-pressed="true"],.delivery-room .delivery-room-tag[aria-pressed="true"]:disabled {background:var(--gold-gradient);color:var(--on-gold);border-color:var(--gold-bright);box-shadow:var(--specular);}
.delivery-room .delivery-primary-action {background:var(--gold-gradient);color:var(--on-gold);border-color:var(--gold-bright);border-radius:999px;box-shadow:var(--primary-shadow);}
.delivery-room .delivery-segmented {background:var(--surface-low);border-color:var(--line);}
.delivery-room .delivery-segmented .delivery-control {border-radius:5px;background:transparent;box-shadow:none;}
.delivery-room .delivery-segmented .delivery-control[aria-pressed="true"] {background:var(--selected-fill);color:var(--gold-bright);box-shadow:var(--specular);}
.delivery-room .delivery-save-actions .button {font-family:var(--font-display);border-radius:999px;}
.delivery-room .delivery-save-actions .button-primary {background:var(--gold-gradient);color:var(--on-gold);border-color:var(--gold-bright);box-shadow:var(--primary-shadow);}
.delivery-room .delivery-save-actions .button-secondary {background:var(--control-gradient);color:var(--ink);border-color:var(--line);box-shadow:var(--secondary-shadow);}
.delivery-room .delivery-group-heading .delivery-control,.delivery-room .delivery-photo-choice .delivery-control {background:transparent;box-shadow:none;border-color:transparent;}

/* Private Hub overview is separate from photo organization. */
.hub-media-panel {padding:1rem;margin:0 0 .75rem;border:1px solid var(--line);border-radius:12px;background:var(--surface-panel);}
.hub-media-panel summary {cursor:pointer;font-family:var(--font-display);font-weight:600;}
.hub-media-panel h3 {margin:0 0 .7rem;}
.hub-media-set {margin-top:1rem;}
.hub-media-set h4 {font-size:.9rem;margin:.5rem 0;}
.delivery-room-tag[draggable="true"] {cursor:grab;}
.delivery-room-tag.room-drop-target {outline:2px solid var(--gold-bright);outline-offset:3px;}
.delivery-links {border-top:0;padding-top:0;}

/* Hub media remain plain panels; preview imagery is the focus. */
.hub-floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:16px 0}
.hub-floor-card{display:flex;flex-wrap:wrap;align-content:start;gap:8px;padding:12px;background:#151515;border:1px solid #393833;border-radius:12px}
.hub-floor-card>strong{flex-basis:100%}.hub-floor-image{width:100%;aspect-ratio:4/3;object-fit:contain;background:white;border-radius:6px}
.hub-video{width:100%;max-height:70vh;background:#080808;display:block;margin-bottom:12px}
a.delivery-control{text-decoration:none;display:inline-flex;align-items:center}

/* Hub browsing is distinct from the photo arrangement room. */
.hub-photos-toolbar {display:flex;justify-content:flex-end;margin:1rem 0;}
.hub-photo-overview {display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;}
.hub-photo-card {min-width:0;background:#171717;border:1px solid #343434;border-radius:10px;overflow:hidden;}
.hub-photo-card .delivery-photo {display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#0c0c0c;}
.hub-photo-label {display:block;padding:.45rem .65rem;color:#bcbab4;font-size:.8rem;}
.hub-photo-downloads {display:flex;flex-wrap:wrap;gap:.4rem;padding:0 .65rem .65rem;}
.hub-download-link {display:inline-flex;align-items:center;padding:.4rem .55rem;color:#eae6dc;border:1px solid #555044;border-radius:6px;text-decoration:none;font-size:.75rem;background:#20201e;}
.hub-download-link:hover,.hub-download-link:focus-visible {border-color:#d6b258;color:#fff;}
.hub-video-status {display:block;font-size:.85rem;color:#c4c0b5;}

.hub-photo-room-heading {grid-column:1/-1;margin:1rem 0 .1rem;padding:.35rem 0 .65rem;border-bottom:1px solid #363633;color:#c9c5ba;font-size:.95rem;font-weight:500;}
.hub-photo-room-heading:first-child {margin-top:0;}
/* Private Hub: one property identity above a quiet, linear order invoice. */
.delivery-room .hub-navigation-header .contextual-room-heading-copy h2 {font-size:1rem;}
.hub-property-header {margin:0 0 1rem;padding:1.3rem 1.5rem;background:transparent;}
.hub-property-header .eyebrow {color:var(--gold-bright);}
.hub-property-client {font-size:1rem;color:var(--ink);}
.hub-property-team {font-size:.85rem;color:var(--muted);}
.hub-property-statuses {display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;}
.hub-property-badge {padding:.4rem .85rem;border:1px solid #665737;border-radius:999px;color:#e5cf9a;background:#352e1e;font-size:.9rem;font-weight:600;}
.hub-property-badge.is-complete {color:#b5e0c8;background:#1c3429;border-color:#365b48;}
.hub-order-invoice {max-width:1050px;margin:0 auto;padding:.25rem clamp(.2rem,2vw,1.5rem) 1rem;}
.hub-invoice-section {padding:1.2rem 0;border-bottom:1px solid #343431;}
.hub-invoice-section:last-child {border-bottom:0;padding-bottom:0;}
.hub-invoice-section h4 {margin:0 0 .85rem;color:#d8c79f;font:500 .95rem/1.4 var(--font-display);}
.hub-invoice-appointment+.hub-invoice-appointment {margin-top:1rem;padding-top:1rem;border-top:1px solid #292927;}
.hub-invoice-appointment h5 {margin:0 0 .5rem;font-size:.83rem;color:var(--muted);font-weight:500;}
.hub-invoice-fields {margin:0;display:grid;gap:.45rem;font-size:.85rem;line-height:1.5;}
.hub-invoice-fields>div {display:grid;grid-template-columns:minmax(120px,24%) minmax(0,1fr);gap:1rem;}
.hub-invoice-fields dt {color:#aaa69c;}
.hub-invoice-fields dd {margin:0;color:#e7e3db;overflow-wrap:anywhere;white-space:pre-wrap;}
.hub-invoice-table-wrap {overflow-x:auto;}
.hub-invoice-table {width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums;}
.hub-invoice-table th {font-size:.75rem;font-weight:500;color:var(--muted);border-bottom:1px solid #58503a;}
.hub-invoice-table th,.hub-invoice-table td {padding:.7rem .6rem;text-align:right;vertical-align:top;}
.hub-invoice-table th:first-child,.hub-invoice-table td:first-child {text-align:left;padding-left:0;width:65%;}
.hub-invoice-table th:last-child,.hub-invoice-table td:last-child {padding-right:0;}
.hub-invoice-table td {border-bottom:1px solid #2c2c29;}
.hub-invoice-table td:not(:first-child) {white-space:nowrap;}
.hub-invoice-table strong {font-weight:500;}
.hub-invoice-description {display:block;margin-top:.3rem;font-size:.8rem;color:var(--muted);}
.hub-invoice-summary {display:flex;justify-content:space-between;gap:1rem;}
.hub-invoice-totals {width:min(100%,360px);font-variant-numeric:tabular-nums;}
.hub-invoice-totals>div {grid-template-columns:minmax(0,1fr) auto;padding:.15rem 0;}
.hub-invoice-totals dd {text-align:right;}
.hub-invoice-totals>div:last-child {border-top:1px solid #58503a;padding-top:.65rem;margin-top:.3rem;font-size:1rem;font-weight:600;}
@media(max-width:600px){.hub-property-header {padding:1rem .5rem;}.hub-invoice-summary {display:block;}.hub-invoice-totals {margin-left:auto;}.hub-invoice-fields>div {grid-template-columns:minmax(95px,32%) minmax(0,1fr);gap:.6rem;}.hub-invoice-table th,.hub-invoice-table td {padding:.6rem .3rem;}}



/* Owner's final Mission Control cleanup: scoped compact actions and assignments. */
.operations-attention {padding:0;border:0;background:transparent;box-shadow:none;margin:0 0 12px;}
.operations-attention[hidden],.handoff-dashboard[hidden] {display:none!important;}
.operations-attention h3 {color:#ff7777;margin-bottom:7px;}
.attention-compact-list {display:flex;gap:14px;max-height:none;overflow-x:auto;overflow-y:hidden;padding-bottom:3px;}
.attention-compact-card {flex:0 0 calc((100% - 14px)*.36);border:2px solid #e44e4e;background:var(--surface-panel);box-shadow:none;min-width:19rem;}
.attention-reason-badge.is-action {color:#ffbaba;background:#491a1a;border-color:#e44e4e;}
.attention-compact-card:hover {border-color:#ff7777;background:var(--surface-panel);}
.queue-tabs {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;}
.queue-tabs .queue-icon-action {display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;font-size:1.65rem;font-weight:700;line-height:1;text-decoration:none;border:1px solid var(--line);border-radius:50%;color:var(--gold-bright);background:var(--surface-panel);}
.queue-tabs .queue-icon-action:focus-visible {outline:2px solid var(--gold-bright);outline-offset:3px;}
body:has(#operations-attention[hidden]) .workspace-toolbar {margin-bottom:12px;}
.property-contact-strip {display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;width:100%;}
.property-contact-strip .overview-client-actions {margin:0;}
.property-contact-strip .overview-icon-action {padding:.3rem .6rem;min-height:34px;font-size:.8rem;}
.property-contact-strip .overview-client-name {margin-right:.3rem;font-weight:500;}
.property-header-statuses {margin:.25rem 0 0;justify-content:flex-start;}
.property-hub-entry {margin-top:.7rem!important;}
.completed-detail-header>.property-hub-entry {display:inline-flex;}
.crew-service-board {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.crew-assignment-column {display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;min-width:0;padding:.4rem 0;}
.crew-column-name {border:0;background:transparent;color:var(--ink);font:600 1rem var(--font-display);padding:0;cursor:pointer;}
.crew-service-badge {max-width:100%;padding:.4rem .65rem;border:1px solid #706044;border-radius:8px;background:#25231e;color:var(--ink);font:500 .8rem/1.4 var(--font-display);text-align:left;cursor:grab;}
.crew-service-badge[aria-pressed="true"] {background:var(--gold-gradient);color:var(--on-gold);border-color:var(--gold-bright);}
.crew-column-name:focus-visible,.crew-service-badge:focus-visible {outline:2px solid var(--gold-bright);outline-offset:3px;}
.crew-unassigned {grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;}
.crew-person-choices {display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 0;}
.crew-pending {font-size:.8rem;color:var(--gold-bright);margin:.5rem 0;}
.crew-pending:empty {display:none;}
.crew-service-section>button[hidden] {display:none;}
.mission-history {padding:1rem;border-top:1px solid var(--quiet-line);}
.mission-history>summary {font-size:.85rem;color:var(--muted);cursor:pointer;}
.mission-plan-collapse {border:1px solid var(--line);border-radius:12px;background:var(--surface-panel);overflow:hidden;}
.mission-plan-collapse>summary {padding:1rem 1.25rem;cursor:pointer;font:500 1.1rem var(--font-display);}
.mission-plan-collapse[open]>summary {border-bottom:1px solid var(--quiet-line);}
.mission-plan-collapse .mission-status-row {justify-content:flex-start;gap:.6rem;}
.mission-plan-collapse .mission-status-row .mission-save-icon {padding:.45rem .7rem;font-size:1.2rem;min-width:42px;}
.mission-plan-collapse-content>.detail-section:first-child>h4 {display:none;}
.delivery-toolbar .hub-save-actions {margin-left:0;order:-1;}
.hub-save-actions>button:last-child {order:-1;}
.hub-unlock-strip {margin-left:auto;display:flex;align-items:center;gap:1rem;}
.hub-lock-icon {display:inline-block;position:relative;width:40px;height:48px;color:#ef5555;flex-shrink:0;}
.hub-lock-icon:before {content:"";position:absolute;left:9px;top:0;width:22px;height:25px;border:4px solid currentColor;border-radius:13px 13px 0 0;box-sizing:border-box;}
.hub-lock-icon:after {content:"";position:absolute;left:1px;bottom:0;width:38px;height:29px;border-radius:5px;background:currentColor;}
@media(max-width:1080px){.attention-compact-card {flex-basis:min(100%,420px);min-width:min(100%,280px);}}
@media(max-width:600px){.queue-tabs {display:flex;}.queue-tabs button {white-space:nowrap;}.property-contact-strip {gap:.5rem;}.crew-service-board {gap:.7rem;}.hub-unlock-strip {margin-left:0;}.hub-property-statuses {margin-top:.35rem;}}

.hub-photo-downloads {gap:.5rem;}
.hub-photo-downloads .hub-download-link {flex:1 1 130px;justify-content:center;gap:.4rem;min-height:36px;padding:.45rem .65rem;border-radius:999px;font:500 .72rem/1.3 var(--font-display);box-shadow:var(--specular);text-align:center;}
.hub-photo-downloads .hub-download-link:before {content:"↓";font-size:1rem;font-weight:700;}
.hub-photo-downloads .hub-download-web {background:var(--gold-gradient);color:var(--on-gold);border-color:var(--gold-bright);}
.hub-photo-downloads .hub-download-print {background:var(--control-gradient);color:var(--ink);border-color:var(--line);}
.hub-photo-downloads .hub-download-link:hover {filter:brightness(1.1);border-color:var(--gold-bright);}
.hub-photo-downloads .hub-download-link:focus-visible {outline:2px solid var(--gold-bright);outline-offset:3px;}
.property-contact-strip .overview-icon-action {padding:.3rem .6rem!important;font-size:.8rem!important;}
.property-contact-strip .contact-action-icon {font-size:1.1rem;}
.job-status-badge.is-red {color:#ffc3c3;background:#431919;border-color:#cf4a4a;}

/* Owner web finishing pass: clear hierarchy, aligned controls, quiet surfaces. */
.queue-tabs #new-section-entry[href="/"] {font-family:Arial,sans-serif;font-size:2.3rem;font-weight:700;}
.property-header-top,.property-header-statuses {display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;margin:0 0 12px;}
.property-header-top .eyebrow,.property-header-statuses .job-order-number {margin:0;color:var(--gold);font:600 .78rem/1.3 var(--font-display);letter-spacing:.12em;text-transform:uppercase;}
.property-header-top .completed-statuses {margin:0;}
.mission-save-icon .save-download-symbol {display:block;position:relative;width:20px;height:24px;border-bottom:3px solid #111;box-sizing:border-box;margin:2px;}
.save-download-symbol::before {content:"";position:absolute;background:#111;width:3px;height:15px;left:8px;top:0;}
.save-download-symbol::after {content:"";position:absolute;left:4px;top:7px;width:9px;height:9px;border-right:3px solid #111;border-bottom:3px solid #111;transform:rotate(45deg);}
.attention-filmstrip {min-width:0;}
.attention-compact-list {scroll-snap-type:x proximity;scrollbar-color:#d55252 #181818;scrollbar-width:thin;}
.attention-compact-card {scroll-snap-align:start;}
.attention-filmstrip-controls {display:flex;justify-content:flex-end;gap:6px;margin-top:5px;}
.attention-scroll-button {display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;border:1px solid #e44e4e;border-radius:6px;color:#ff7777;background:var(--surface-panel);font:600 20px/1 var(--font-display);cursor:pointer;}
.attention-scroll-button:disabled {opacity:.3;cursor:default;}
.service-help strong {font-size:1.25rem;}
.service-help .button {font-size:.88rem;padding:14px 24px;min-height:48px;text-decoration:none;}
.appointment-fields>.field {display:flex;flex-direction:column;gap:7px;}
.order-details-layout .appointment-fields input:not([type="hidden"]),.appointment-fields select {margin-top:0;height:50px;min-height:50px;}
.order-details-layout .appointment-fields input[type="hidden"] {display:none;}
.appointment-fields .arrival-parts {margin:0;}
#address-manual {margin-top:8px;}
.client-lane-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-bottom:14px;}
.client-lane-tabs .client-lane-tab {width:100%;min-width:0;min-height:48px;padding:12px 8px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;color:var(--muted);background:transparent;box-shadow:none;font:600 .72rem/1.3 var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.client-lane-tabs .client-lane-tab[aria-pressed="true"] {color:var(--gold-bright);background:var(--surface-panel);box-shadow:inset 0 -2px var(--gold-bright);}
.client-lane-tab:hover {color:var(--white-warm);}
.service-reference-list {margin:10px 0;padding-left:22px;line-height:1.65;}
.service-reference-source {font-size:.72rem;color:var(--muted);text-underline-offset:3px;}
.service-reference-details {margin-top:7px;font-size:.82rem;}
@media(max-width:650px){.appointment-fields{grid-template-columns:1fr;}.service-help{align-items:flex-start;flex-direction:column;gap:12px;}}

.queue-tabs #new-section-entry[href="/"] {font-size:0;position:relative;}
.queue-tabs #new-section-entry[href="/"]::before,.queue-tabs #new-section-entry[href="/"]::after {content:"";position:absolute;background:currentColor;border-radius:1px;}
.queue-tabs #new-section-entry[href="/"]::before {width:24px;height:4px;}
.queue-tabs #new-section-entry[href="/"]::after {width:4px;height:24px;}

/* Compact list browsing and explicit populated/selected category states. */
.list-search-disclosure {border:1px solid var(--quiet-line);border-radius:8px;background:var(--surface-panel);}
.list-search-disclosure>summary {padding:11px 12px;cursor:pointer;color:var(--muted);font-size:.82rem;}
.list-search-fields {display:grid;gap:8px;padding:0 12px 12px;}
.completed-pages {display:flex;gap:6px;flex-wrap:wrap;padding:4px 20px 12px;}
.listing-page-button {min-width:34px;min-height:34px;padding:6px 10px;border:1px solid var(--gold);border-radius:6px;color:var(--gold-bright);background:#101010;font:600 .85rem/1 var(--font-display);cursor:pointer;}
.listing-page-button[aria-current="page"] {color:#111;background:var(--gold-bright);}
.queue-tabs button[data-queue][data-has-items="true"] {color:var(--gold-bright);border-color:var(--gold);background:#0a0a0a;box-shadow:none;}
.queue-tabs button[data-queue][data-has-items="true"][aria-pressed="true"] {color:#111;border-color:var(--gold-bright);background:var(--gold-bright);box-shadow:none;}
.queue-tabs button[data-queue][data-has-items="true"][aria-pressed="true"] span {color:#111;background:rgba(0,0,0,.09);}
.queue-tabs button[data-queue][data-has-items="false"] {color:var(--muted);border-color:var(--quiet-line);background:var(--surface-panel);box-shadow:none;}
.directory-tabs {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
.directory-tabs .directory-view-tab {width:100%;min-width:0;min-height:50px;padding:12px 8px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;color:var(--muted);background:transparent;box-shadow:none;font:600 .92rem/1.3 var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.directory-tabs .directory-view-tab[aria-pressed="true"] {color:var(--gold-bright);background:var(--surface-panel);box-shadow:inset 0 -2px var(--gold-bright);}
.directory-tabs .directory-view-tab:hover {color:var(--white-warm);}

.hub-photo-open {display:block;width:100%;padding:0;border:0;background:#0c0c0c;cursor:zoom-in;}
.hub-photo-open:focus-visible {outline:3px solid var(--gold,#e5b84d);outline-offset:-3px;}

.hub-lock-icon.is-unlocked{display:none;}.hub-unlock-strip{flex-wrap:wrap;}.hub-release-dialog{max-width:580px;width:calc(100% - 2rem);background:#171714;color:#f5efdf;border:1px solid #d6ae4d;border-radius:18px;padding:1.5rem;}.hub-release-dialog::backdrop{background:#000b;}.hub-release-dialog li{margin:.55rem 0;}

.hub-document-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:16px;background:#24221b;border:1px solid #bba26966;border-radius:10px}.hub-document-row .delivery-toolbar{margin:0}.hub-saved-tour{background:#25241e;border:1px solid #bba26955;border-radius:10px;padding:16px;margin-bottom:18px}.hub-add-video{margin-left:12px;background:#3c3521!important;color:#f1d17a!important}@media(max-width:600px){.hub-document-row{flex-wrap:wrap}}

.hub-document-row>strong{flex-basis:auto}.hub-document-row{flex-wrap:nowrap}@media(max-width:600px){.hub-document-row{flex-wrap:wrap}}

.hub-pdf-download{color:#efd281!important}.hub-document-row .delivery-toolbar{width:100%}.hub-document-row .hub-pdf-download{margin-right:auto}

.zip-progress{position:fixed;right:1rem;bottom:1rem;z-index:10000;width:min(26rem,calc(100vw - 2rem));box-sizing:border-box;background:#191916;border:1px solid #bc9845;border-radius:14px;padding:1rem;box-shadow:0 8px 32px #0008;color:#f3ecdc}.zip-progress progress{display:block;width:100%;height:12px;margin:1rem 0;accent-color:#e4b84f}.zip-progress p{font-size:.9rem;margin:.65rem 0}.zip-progress button{background:#151512;border:1px solid #bc9845;border-radius:16px;color:#e4b84f;padding:.4rem 1rem}

.hub-trash-button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:8px;color:#aaa;background:transparent;border:1px solid #555;border-radius:8px}.hub-trash-button:hover{color:#ff7979;border-color:#ff7979}.hub-trash-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #444}.hub-trash-row span{overflow-wrap:anywhere}

.custom-order-item{padding:16px 0;border-bottom:1px solid var(--color-border,#333);margin-bottom:12px;align-items:end}.custom-order-item .button{justify-self:start}

/* Service dropdowns contain the normal photo grid; they are not photo cards. */
.hub-photo-overview.hub-photo-services{display:block}.hub-photo-services>.hub-service-photos{margin-top:1rem}

/* The same saved unit/room arrangement is used in both scopes. */
.delivery-unit {margin:1rem 0 1.5rem;border:1px solid #39352c;border-radius:8px;padding:.8rem;}
.delivery-unit-heading {display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:0 0 .8rem;padding:.4rem 0;border-bottom:1px solid #39352c;}
.delivery-unit-heading h3 {margin:0 auto 0 0;font-size:1.1rem;}
.delivery-unit-handle {order:-1;background:transparent;border:1px solid #60543a;border-radius:5px;color:#d5ae47;padding:.2rem .55rem;min-height:36px;cursor:grab;font-size:1.35rem;}
.delivery-unit-handle:active {cursor:grabbing;}
.delivery-unit-heading.unit-drop-before {box-shadow:0 -4px #d5ae47;}
.delivery-unit-heading.unit-drop-after {box-shadow:0 4px #d5ae47;}
.delivery-unit-empty {grid-column:1/-1;border:1px dashed #60543a;border-radius:5px;padding:1.25rem;color:#aaa69c;}
.delivery-unit .photo-drop-target,.delivery-unit-legacy .photo-drop-target {outline:2px dashed #d5ae47;outline-offset:3px;background:#272318;}
.hub-service-arrangement select {max-width:100%;min-height:36px;}
.delivery-photo-choice {flex-wrap:wrap;}
@media(max-width:600px){.delivery-unit{padding:.5rem;}.delivery-unit-heading{gap:.45rem;}.delivery-unit-heading h3{flex-basis:calc(100% - 60px);}.hub-service-arrangement{align-items:stretch;}.hub-service-arrangement select{width:100%;}}
