:root {
  --ink: #292b27;
  --muted: #746f65;
  --cream: #e9e1d2;
  --paper: #fbf7ed;
  --green: #303632;
  --green-2: #70513a;
  --green-soft: #eee2c7;
  --amber: #b88a45;
  --amber-soft: #f1dfb9;
  --line: #d4c7b2;
  --line-dark: #b8aa94;
  --red: #8d3d32;
  --iron: #292d2a;
  --wood: #604331;
  --brass: #b88a45;
  --rust: #8d3d32;
  --canvas: #e9e1d2;
  --shadow-sm: 0 5px 16px rgba(54, 43, 31, .08);
  --shadow-lg: 0 22px 55px rgba(40, 31, 24, .20);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background-color: var(--cream);
  background-image:
    radial-gradient(circle at 12% 16%, rgba(112,81,58,.055) 0 1px, transparent 1.5px),
    radial-gradient(circle at 78% 62%, rgba(112,81,58,.04) 0 1px, transparent 1.5px),
    linear-gradient(rgba(255,255,255,.18), rgba(255,255,255,.18));
  background-size: 19px 19px, 27px 27px, auto;
  color: var(--ink);
  font-family: "Open Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.is-working { overflow: hidden; }

.topbar {
  min-height: 72px;
  padding: 0 max(24px, calc((100vw - 1320px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(12px);
}
.brand { display: flex; gap: 12px; align-items: center; color: var(--ink); text-decoration: none; }
.brand-mark {
  width: 46px; height: 46px; display: grid; place-items: center;
  background: #252729; color: var(--amber); font: 850 12px/1 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: .08em;
  clip-path: polygon(40% 0, 59% 0, 65% 9%, 78% 5%, 88% 17%, 84% 29%, 97% 36%, 100% 52%, 90% 61%, 94% 76%, 81% 87%, 68% 83%, 60% 97%, 43% 100%, 34% 90%, 20% 94%, 9% 82%, 14% 68%, 1% 60%, 0 42%, 10% 34%, 6% 20%, 19% 9%, 32% 14%);
}
.brand strong, .brand small { display: block; }
.brand strong { font: 700 22px/1 Montserrat, "Avenir Next", Arial, sans-serif; }
.brand small { color: var(--muted); font-size: 10px; letter-spacing: .08em; margin-top: 4px; text-transform: uppercase; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.operator-switch { min-height: 38px; padding: 0 12px; display: inline-flex; align-items: center; gap: 7px; color: var(--green); background: var(--green-soft); border: 1px solid #f0d76f; border-radius: 3px; font-size: 11px; font-weight: 800; text-decoration: none; }
.operator-switch span { color: #d7a500; font-size: 9px; }

.shell { width: min(1320px, calc(100% - 40px)); margin: 28px auto 80px; }
footer { text-align: center; color: var(--muted); font-size: 12px; padding: 0 20px 32px; }

.button {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px;
  border: 1px solid transparent; border-radius: 3px; font: 750 14px/1 inherit; text-decoration: none;
  cursor: pointer; transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.button:hover { transform: translateY(-1px); }
.button-primary { background: var(--amber); color: #292b2d; }
.button-primary:hover { background: #dda900; }
.button-secondary { background: var(--paper); border-color: var(--line-dark); color: var(--ink); }
.button-secondary:hover { border-color: var(--green); }
.button-light { background: white; color: var(--green); }
.button-danger { color: white; background: var(--red); }
.button-danger:hover { background: #842f27; }
.button-danger-ghost { color: var(--red); background: transparent; border-color: #d7aaa5; }
.button-danger-ghost:hover { color: white; background: var(--red); border-color: var(--red); }
.button-large { min-height: 50px; padding-inline: 22px; }

.eyebrow { display: block; color: var(--green-2); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.back-link { display: inline-block; color: var(--green); font-weight: 750; font-size: 13px; text-decoration: none; margin-bottom: 20px; }

.messages { margin-bottom: 18px; display: grid; gap: 8px; }
.message { padding: 13px 16px; border: 1px solid #cce5d5; border-radius: 10px; background: #e8f4ec; color: #175c39; font-weight: 650; }
.message.error { border-color: #efc8c3; background: #f9dfdc; color: #842e27; }

/* Dashboard */
.dashboard-intro {
  min-height: 238px;
  padding: 38px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  color: white;
  background:
    linear-gradient(90deg, var(--amber) 0 9px, transparent 9px),
    radial-gradient(circle at 88% 12%, rgba(248,191,0,.20), transparent 27%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 13px),
    linear-gradient(125deg, #292b2d 0%, #45484b 100%);
  border-radius: 5px;
  box-shadow: var(--shadow-lg);
}
.dashboard-intro .eyebrow { color: var(--amber); }
.intro-copy h1 {
  margin: 8px 0 14px; font: 700 clamp(38px, 4.2vw, 58px)/.98 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: -.035em;
}
.intro-copy p { max-width: 620px; margin: 0; color: #e2e4e5; font-size: 16px; line-height: 1.55; }
.intro-action { min-width: 285px; display: grid; justify-items: stretch; gap: 10px; }
.intro-action small { color: #d2d4d5; text-align: center; font-size: 11px; }
.mode-indicator {
  justify-self: end; display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #dbe7e3; font-size: 11px; font-weight: 700;
}
.mode-indicator span { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 4px rgba(248,191,0,.12); }
.mode-indicator.is-live span { background: var(--amber); box-shadow: 0 0 0 4px rgba(248,191,0,.12); }

.stats {
  display: grid; grid-template-columns: repeat(6, 1fr); margin: 18px 0 42px;
  background: var(--paper); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; box-shadow: var(--shadow-sm);
}
.stats a { padding: 18px 22px; color: var(--ink); text-decoration: none; border-right: 1px solid var(--line); position: relative; }
.stats a:last-child { border-right: 0; }
.stats a::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 3px; background: transparent; border-radius: 3px 3px 0 0; }
.stats a:hover, .stats a.active { background: #faf9f4; }
.stats a.active::after { background: var(--amber); }
.stats span, .stats small { display: block; }
.stats span { font: 700 28px/1 Montserrat, "Avenir Next", Arial, sans-serif; }
.stats small { margin-top: 4px; color: var(--muted); font-size: 12px; }

.workspace-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-head h2 { margin: 5px 0 0; font: 700 31px/1.08 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: -.015em; }
.result-count { color: var(--muted); font-size: 12px; }
.filterbar { display: flex; align-items: center; gap: 9px; margin-bottom: 18px; }
.search-field {
  height: 44px; min-width: 0; flex: 1; display: flex; align-items: center; gap: 9px;
  padding: 0 13px; background: var(--paper); border: 1px solid var(--line-dark); border-radius: 10px;
}
.search-field span { color: var(--green-2); font-size: 20px; }
.search-field input { min-width: 0; width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); font: inherit; }
.search-field input::placeholder { color: #929b97; }
.clear-filter { color: var(--muted); font-size: 12px; font-weight: 700; white-space: nowrap; }

.part-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.part-card {
  min-width: 0; display: block; overflow: hidden; color: var(--ink); text-decoration: none;
  background: var(--paper); border: 1px solid var(--line); border-radius: 5px; box-shadow: var(--shadow-sm);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.part-card:hover { transform: translateY(-3px); border-color: #b8c8c1; box-shadow: 0 15px 35px rgba(23,35,31,.10); }
.part-photo { height: 215px; display: grid; place-items: center; overflow: hidden; background: #d9ddd9; }
.part-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.part-card:hover .part-photo img { transform: scale(1.025); }
.photo-placeholder { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: var(--green); color: white; font: 700 15px Montserrat, "Avenir Next", Arial, sans-serif; }
.part-body { padding: 17px 18px 16px; }
.card-topline { min-height: 27px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.card-topline > small { color: var(--muted); font-size: 10px; }
.sku { display: block; margin-top: 12px; color: var(--green-2); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.part-body h3 { margin: 5px 0 7px; min-height: 48px; font: 700 22px/1.12 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: -.01em; }
.part-body p { display: flex; gap: 6px; margin: 0; overflow: hidden; color: var(--muted); font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.card-footer { margin-top: 18px; padding-top: 14px; display: flex; justify-content: space-between; align-items: end; gap: 16px; border-top: 1px solid #ebe8df; }
.evidence-compact { min-width: 0; flex: 1; }
.score { height: 5px; overflow: hidden; margin: 0 0 6px; background: #e2e2da; border-radius: 99px; }
.score span { display: block; height: 100%; background: var(--amber); border-radius: inherit; }
.evidence-compact small { color: var(--muted); font-size: 10px; }
.card-footer strong { color: var(--green); font-size: 12px; white-space: nowrap; }
.card-footer strong span { margin-left: 4px; }

.status { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 9px; border-radius: 999px; background: #e5e8e6; color: var(--green); font-size: 10px; font-weight: 850; }
.status-ready { background: #e0f2e7; color: #197044; }
.status-review { background: var(--amber-soft); color: #8a5a00; }
.status-in_progress { background: #dcecf6; color: #245d7e; }
.status-listing { background: #eadfcf; color: #7a4d25; }
.status-listed { background: #dce9df; color: #315f40; }
.status-error { background: #f9dfdc; color: var(--red); }
.assignee-line { margin-top: 10px; display: flex; align-items: center; gap: 6px; color: #8b928f; font-size: 10px; font-weight: 750; }
.assignee-line span { color: #aaa; }
.assignee-line.assigned { color: #245d7e; }
.assignee-line.assigned span { color: #4b95ba; }

.workflow-card {
  position: sticky; top: 94px; padding: 26px; background: #fff8dc; border: 1px solid #eadb9b; border-top: 5px solid var(--amber); border-radius: 5px;
}
.workflow-card h2 { margin: 7px 0 24px; font: 700 25px/1.12 Montserrat, "Avenir Next", Arial, sans-serif; }
.workflow-card ol, .capture-guide ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.workflow-card li, .capture-guide li { display: flex; align-items: center; gap: 12px; }
.workflow-card li > span, .capture-guide li > span {
  width: 32px; height: 32px; flex: none; display: grid; place-items: center; border-radius: 50%;
  background: var(--paper); border: 1px solid #c9d4cd; color: var(--green); font-size: 11px; font-weight: 850;
}
.workflow-card li strong, .workflow-card li small, .capture-guide li strong, .capture-guide li small { display: block; }
.workflow-card li strong, .capture-guide li strong { font-size: 13px; }
.workflow-card li small, .capture-guide li small { color: var(--muted); font-size: 10px; line-height: 1.35; margin-top: 2px; }
.workflow-link { display: block; margin-top: 24px; padding: 12px 13px; color: var(--green); background: var(--paper); border-radius: 9px; text-decoration: none; font-size: 12px; font-weight: 800; }
.workflow-link span { margin-right: 5px; }
.all-clear { margin-top: 24px; padding: 12px; background: #d9eadf; color: #216343; border-radius: 9px; font-size: 12px; font-weight: 800; }
.empty { padding: 65px 24px; text-align: center; background: var(--paper); border: 1px dashed var(--line-dark); border-radius: 15px; }
.empty-icon { font-size: 40px; color: var(--green-2); }
.empty h2 { margin-bottom: 8px; font: 700 27px Montserrat, "Avenir Next", Arial, sans-serif; }
.empty p { max-width: 520px; margin: 0 auto 22px; color: var(--muted); line-height: 1.5; }

/* General form elements */
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow-sm); }
.page-head { margin: 12px 0 28px; }
.page-head h1 { margin: 7px 0 10px; font: 700 clamp(36px, 4vw, 50px)/1 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: -.025em; }
.page-head p { max-width: 700px; margin: 0; color: var(--muted); line-height: 1.55; }
.page-head-compact { max-width: 820px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.form-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.field { min-width: 0; }
.field.span-2 { grid-column: 1 / -1; }
.field label { display: block; margin-bottom: 7px; font-size: 12px; font-weight: 800; }
.required-field label::after { content: " *"; color: var(--red); }
.field input, .field select, .field textarea {
  width: 100%; padding: 11px 12px; color: var(--ink); background: white; border: 1px solid var(--line-dark);
  border-radius: 3px; font: inherit; outline: 0; transition: border-color .15s ease, box-shadow .15s ease;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--amber); box-shadow: 0 0 0 3px rgba(248,191,0,.16); }
.field textarea { resize: vertical; line-height: 1.5; }
.readonly-field { min-height: 44px; padding: 9px 11px; display: flex; align-items: center; background: #f1f2ed; border: 1px solid var(--line); border-radius: 9px; }
.field small { display: block; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.field-error, .form-errors { color: var(--red); font-size: 12px; }
.form-errors { margin-bottom: 18px; padding: 11px 13px; background: #f9dfdc; border-radius: 9px; font-weight: 700; }
.actions { display: flex; gap: 10px; }

/* Capture */
.capture-layout { display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 24px; align-items: start; }
.capture-guide { position: sticky; top: 95px; padding: 26px; color: white; background: #34373a; border-top: 6px solid var(--amber); border-radius: 5px; box-shadow: var(--shadow-lg); }
.capture-guide .eyebrow { color: var(--amber); }
.capture-guide h2 { margin: 8px 0 26px; font: 700 26px/1.12 Montserrat, "Avenir Next", Arial, sans-serif; }
.capture-guide li > span { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.18); color: white; }
.capture-guide li small { color: #b9cdc7; }
.guide-note { margin-top: 26px; padding: 13px; background: rgba(255,255,255,.08); border-radius: 9px; color: #d7e4e0; font-size: 11px; line-height: 1.5; }
.capture-form { padding: 30px; }
.form-section-heading { display: flex; align-items: center; gap: 12px; margin-bottom: 17px; }
.form-section-heading > span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; background: var(--green-soft); color: var(--green); font-size: 12px; font-weight: 850; }
.form-section-heading strong, .form-section-heading small { display: block; }
.form-section-heading strong { font: 700 19px Montserrat, "Avenir Next", Arial, sans-serif; }
.form-section-heading small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.section-divider { margin-top: 30px; padding-top: 28px; border-top: 1px solid var(--line); }
.upload-zone {
  min-height: 190px; padding: 25px; display: grid; place-items: center; align-content: center; gap: 7px; text-align: center;
  background: #fafafa; border: 2px dashed #c7c9cb; border-radius: 4px; cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
.upload-zone:hover { background: #fff9e3; border-color: var(--amber); }
.upload-zone .camera { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 3px; border-radius: 50%; background: var(--amber); color: #292b2d; font-size: 25px; }
.upload-zone > strong { font: 700 18px Montserrat, "Avenir Next", Arial, sans-serif; }
.upload-zone > small { color: var(--muted); font-size: 10px; }
.upload-zone input { max-width: 100%; margin-top: 7px; font-size: 11px; }
.upload-preview { margin-top: 12px; display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 9px; }
.upload-preview[hidden] { display: none; }
.upload-preview-item {
  height: 92px; padding: 0; overflow: hidden; background: #d9ddd9; border: 2px solid transparent;
  border-radius: 9px; cursor: zoom-in;
}
.upload-preview-item:hover { border-color: var(--green-2); }
.upload-preview-item img { width: 100%; height: 100%; display: block; object-fit: cover; }
.zip-import-row { margin-top: 14px; padding: 15px; display: grid; grid-template-columns: 42px 1fr minmax(180px, 260px); align-items: center; gap: 13px; background: #fbfaf5; border: 1px solid var(--line); border-radius: 11px; }
.zip-icon { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--green-2); border-radius: 9px; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.zip-import-row strong, .zip-import-row small { display: block; }
.zip-import-row strong { font-size: 12px; }
.zip-import-row small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.zip-import-row input { min-width: 0; width: 100%; font-size: 10px; }
.actions-separated { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--line); }

/* Detail */
.detail-titlebar { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 8px 0 22px; }
.detail-titlebar .back-link { margin-bottom: 13px; }
.title-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--muted); font-size: 10px; }
.title-meta > span:not(.status) { padding-left: 8px; border-left: 1px solid var(--line-dark); }
.detail-titlebar h1 { max-width: 820px; margin: 9px 0 0; font: 700 clamp(36px, 4.4vw, 56px)/1 Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: -.03em; }
.detail-actions { display: flex; gap: 9px; flex: none; }
.assignment-bar { margin-bottom: 20px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #714b04; background: var(--amber-soft); border: 1px solid #f0d38f; border-radius: 13px; }
.assignment-bar.is-assigned { color: #245d7e; background: #e8f2f8; border-color: #c6deeb; }
.assignment-bar.is-listed { color: #285c3b; background: #e3f0e7; border-color: #c7dfce; }
.assignment-person { min-width: 0; display: flex; align-items: center; gap: 12px; }
.assignment-avatar { width: 42px; height: 42px; flex: none; display: grid; place-items: center; color: var(--amber); background: #34373a; border-radius: 50%; font: 700 16px Montserrat, "Avenir Next", Arial, sans-serif; }
.assignment-person small, .assignment-person strong, .assignment-person div > span { display: block; }
.assignment-person small { font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.assignment-person strong { margin-top: 2px; color: var(--ink); font-size: 12px; }
.assignment-person div > span { margin-top: 2px; color: var(--muted); font-size: 9px; }
.assignment-actions { flex: none; }
.assignment-locked { font-size: 10px; font-weight: 750; }
.detail-overview { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr); gap: 20px; margin-bottom: 26px; }
.visual-panel { min-width: 0; overflow: hidden; background: #d9ddd9; border-radius: 6px; box-shadow: var(--shadow-sm); }
.main-image-button { width: 100%; padding: 0; position: relative; display: block; overflow: hidden; border: 0; background: transparent; cursor: zoom-in; }
.main-part-image { width: 100%; height: 440px; display: block; object-fit: cover; }
.image-zoom-hint {
  position: absolute; right: 14px; bottom: 14px; padding: 8px 11px; color: white;
  background: rgba(23, 35, 31, .82); border-radius: 8px; font-size: 11px; font-weight: 800;
}
.image-empty { display: grid; place-items: center; align-content: center; gap: 8px; color: var(--muted); }
.image-empty span { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 17px; background: var(--green); color: white; font: 700 15px Montserrat, "Avenir Next", Arial, sans-serif; }
.thumbnail-strip { display: flex; gap: 8px; overflow-x: auto; padding: 10px; background: var(--paper); }
.thumbnail-button { width: 70px; height: 56px; flex: none; padding: 0; overflow: hidden; background: transparent; border: 2px solid transparent; border-radius: 8px; cursor: pointer; }
.thumbnail-button.active, .thumbnail-button:hover { border-color: var(--green-2); }
.thumbnail-button img { width: 100%; height: 100%; display: block; object-fit: cover; }
.image-lightbox {
  width: min(94vw, 1280px); height: min(92vh, 920px); padding: 0; overflow: hidden;
  background: #111714; border: 0; border-radius: 14px; box-shadow: 0 30px 100px rgba(0, 0, 0, .45);
}
.image-lightbox::backdrop { background: rgba(8, 12, 10, .86); backdrop-filter: blur(5px); }
.image-lightbox img { width: 100%; height: 100%; display: block; object-fit: contain; }
.lightbox-close {
  width: 42px; height: 42px; position: absolute; z-index: 2; top: 12px; right: 12px;
  color: white; background: rgba(0, 0, 0, .66); border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%; font-size: 27px; line-height: 1; cursor: pointer;
}
.lightbox-arrow {
  width: 52px; height: 70px; position: absolute; z-index: 2; top: calc(50% - 35px);
  display: grid; place-items: center; color: #fff8e8; background: rgba(35,35,31,.74);
  border: 1px solid rgba(210,180,126,.38); border-radius: 5px; font: 300 45px/1 Georgia, serif;
  cursor: pointer; transition: background .15s ease, transform .15s ease;
}
.lightbox-arrow:hover { background: rgba(141,61,50,.92); transform: scale(1.04); }
.lightbox-arrow[hidden], .lightbox-counter[hidden] { display: none; }
.lightbox-previous { left: 14px; }
.lightbox-next { right: 14px; }
.lightbox-counter {
  position: absolute; z-index: 2; left: 50%; bottom: 14px; transform: translateX(-50%);
  padding: 6px 10px; color: #f5e7cc; background: rgba(35,35,31,.78); border: 1px solid rgba(210,180,126,.28);
  border-radius: 4px; font-size: 10px; font-weight: 800; letter-spacing: .08em;
}
.analysis-summary { padding: 28px; }
.summary-top { display: grid; grid-template-columns: 92px 1fr; gap: 18px; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.score-ring { width: 90px; height: 90px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--amber) calc(var(--score) * 1%), #e2e4df 0); position: relative; }
.score-ring::after { content: ""; position: absolute; inset: 8px; background: var(--paper); border-radius: 50%; }
.score-ring > span { position: relative; z-index: 1; font: 700 28px Montserrat, "Avenir Next", Arial, sans-serif; }
.score-ring small { font-size: 12px; }
.summary-top h2 { margin: 5px 0 5px; font: 700 24px/1.1 Montserrat, "Avenir Next", Arial, sans-serif; }
.summary-top p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.summary-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 0; padding: 19px 0 4px; }
.summary-facts div { min-width: 0; padding: 11px 10px 11px 0; border-bottom: 1px solid #ece9e0; }
.summary-facts div:nth-last-child(-n+2) { border-bottom: 0; }
.summary-facts dt { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.summary-facts dd { margin: 4px 0 0; overflow: hidden; font-size: 13px; font-weight: 750; white-space: nowrap; text-overflow: ellipsis; }
.summary-alert { margin-top: 15px; padding: 12px 13px; display: flex; justify-content: space-between; gap: 10px; background: var(--amber-soft); color: #714b04; border-radius: 9px; font-size: 11px; }
.analysis-cost { margin-top: 14px; padding: 13px 14px; background: var(--green-soft); border-radius: 9px; }
.analysis-cost > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.analysis-cost span { color: var(--green); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.analysis-cost strong { color: var(--green); font-size: 17px; }
.analysis-cost small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.45; }

.review-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; align-items: start; }
.review-form { padding: 30px; }
.review-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.review-heading h2 { margin: 5px 0 0; font: 700 29px Montserrat, "Avenir Next", Arial, sans-serif; }
.review-heading > small { max-width: 220px; color: var(--muted); font-size: 10px; text-align: right; }
.review-form fieldset { min-width: 0; margin: 0; padding: 28px 0; border: 0; border-top: 1px solid var(--line); }
.review-form fieldset:first-of-type { border-top: 0; }
.review-form legend { width: 100%; margin-bottom: 19px; padding: 0; font: 700 19px Montserrat, "Avenir Next", Arial, sans-serif; }
.review-form legend span { margin-right: 8px; color: var(--green-2); font: 850 10px Inter, sans-serif; letter-spacing: .1em; }
.advanced-fields { margin: 6px 0 28px; overflow: hidden; background: #f2eadb; border: 1px solid #d4c3a5; border-radius: 5px; }
.advanced-fields > summary { min-height: 68px; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.advanced-fields > summary::-webkit-details-marker { display: none; }
.advanced-fields > summary > span:first-child { display: grid; gap: 4px; }
.advanced-fields > summary strong { color: var(--ink); font-size: 13px; }
.advanced-fields > summary small { color: var(--muted); font-size: 10px; }
.advanced-fields-toggle { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; color: var(--paper); background: var(--green); border-radius: 3px; font: 700 19px/1 Montserrat, "Avenir Next", Arial, sans-serif; transition: transform .18s ease; }
.advanced-fields[open] .advanced-fields-toggle { transform: rotate(45deg); }
.advanced-fields-body { padding: 0 18px 4px; background: var(--paper); border-top: 1px solid #d4c3a5; }
.advanced-fields-body fieldset { padding-inline: 2px; }
.savebar { margin: 2px -30px -30px; padding: 17px 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #f3f3ed; border-top: 1px solid var(--line); border-radius: 0 0 16px 16px; }
.savebar strong, .savebar small { display: block; }
.savebar strong { font-size: 12px; }
.savebar small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.side-stack { position: sticky; top: 94px; display: grid; gap: 14px; }
.evidence-panel, .warning-panel { padding: 23px; }
.side-stack h3 { margin: 6px 0 15px; font: 700 20px/1.15 Montserrat, "Avenir Next", Arial, sans-serif; }
.side-stack ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.check-list li { display: grid; grid-template-columns: 20px 1fr; gap: 7px; }
.check-list li span { color: #267048; font-weight: 850; }
.warning-panel { border-left: 4px solid var(--amber); }
.warning-panel li { position: relative; padding-left: 14px; }
.warning-panel li::before { content: ""; width: 5px; height: 5px; position: absolute; left: 0; top: 6px; border-radius: 50%; background: var(--amber); }
.review-note { padding: 18px 20px; color: #e5e5e5; background: #34373a; border-left: 5px solid var(--amber); border-radius: 4px; }
.review-note strong { font: 700 17px Montserrat, "Avenir Next", Arial, sans-serif; color: white; }
.review-note p { margin: 7px 0 0; font-size: 10px; line-height: 1.5; }
.publish-complete-panel { padding: 20px; }
.publish-complete-panel h3 { margin-bottom: 8px; }
.publish-complete-panel p { margin: 0 0 15px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.publish-complete-panel .button { width: 100%; }
.operator-head { margin-inline: auto; text-align: center; }
.operator-form { width: min(560px, 100%); margin: 0 auto; padding: 28px; }
.operator-form .button { width: 100%; margin-top: 18px; }
.operator-manage-link { margin-top: 14px; display: block; color: var(--rust); font-size: 11px; font-weight: 800; text-align: center; text-decoration: none; }
.review-savebar > div:last-child { display: flex; align-items: center; gap: 9px; }
.review-readonly-note { margin: 2px -30px -30px; padding: 18px 30px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #5c5144; background: #eee5d5; border-top: 1px solid #d1c3ac; border-radius: 0 0 16px 16px; }
.review-readonly-note strong, .review-readonly-note span { display: block; }
.review-readonly-note span { color: var(--muted); font-size: 10px; }
.review-form :disabled { cursor: not-allowed; opacity: .72; background-color: #eeeae1; }
.publish-complete-panel .field { margin-bottom: 12px; }
.publish-complete-panel .field label { font-size: 10px; }
.publish-complete-panel .field input { min-height: 39px; }

/* Simple team management */
.team-link { min-height: 38px; padding: 0 11px; display: inline-flex; align-items: center; color: #5f5446; border: 1px solid #c6b79f; border-radius: 4px; font-size: 10px; font-weight: 800; text-decoration: none; }
.team-link:hover { color: var(--rust); background: #f4ead8; }
.team-head { margin-inline: auto; text-align: center; }
.team-layout { display: grid; grid-template-columns: 330px minmax(0,1fr); gap: 20px; align-items: start; }
.team-create-form, .team-list-panel { padding: 25px; }
.team-create-form h2, .team-list-head h2 { margin: 6px 0 19px; font: 700 24px/1.1 Rockwell, "Roboto Slab", Georgia, serif; }
.team-create-form .button { width: 100%; margin-top: 15px; }
.team-list-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; }
.team-list-head > a { margin-bottom: 20px; color: var(--rust); font-size: 10px; font-weight: 800; text-decoration: none; }
.team-list { display: grid; gap: 9px; }
.team-list article { padding: 13px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto auto; align-items: center; gap: 12px; background: #f2eadb; border: 1px solid #d4c3a5; border-radius: 4px; }
.team-avatar { width: 40px; height: 40px; display: grid; place-items: center; color: #f6e5c2; background: var(--iron); border: 1px solid var(--brass); border-radius: 4px; font: 700 16px Rockwell, Georgia, serif; }
.team-list article div strong, .team-list article div small { display: block; }
.team-list article div small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.team-list article form { margin: 0; }
.team-list article .button { min-height: 34px; padding-inline: 10px; font-size: 9px; }

/* Manual eBay handoff */
.ebay-copy-panel { margin-bottom: 26px; overflow: hidden; scroll-margin-top: 92px; }
.copy-panel-heading { padding: 28px 30px 24px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.copy-panel-heading h2 { margin: 6px 0 7px; font: 700 29px/1.08 Montserrat, "Avenir Next", Arial, sans-serif; }
.copy-panel-heading p { max-width: 700px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.copy-readiness { margin: 0 30px 20px; padding: 12px 14px; display: flex; justify-content: space-between; gap: 16px; background: #e4f2e9; color: #276044; border-radius: 9px; font-size: 11px; }
.copy-readiness.has-warnings { background: var(--amber-soft); color: #714b04; }
.copy-grid { padding: 0 30px 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.copy-card { min-width: 0; padding: 17px; background: #f8f8f8; border: 1px solid #dedfe0; border-radius: 4px; }
.copy-card-wide { grid-column: 1 / -1; }
.copy-card-head { margin-bottom: 13px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.copy-card-head > div { display: flex; align-items: center; gap: 9px; }
.copy-card-head > div > span { color: var(--green-2); font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.copy-card-head strong { font-size: 12px; }
.copy-button { min-height: 32px; padding: 0 11px; display: inline-flex; align-items: center; color: var(--green); background: white; border: 1px solid #cbd1cc; border-radius: 7px; font: 750 10px/1 inherit; text-decoration: none; cursor: pointer; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.copy-button:hover, .copy-button.is-copied { color: white; background: var(--green-2); border-color: var(--green-2); }
.copy-value { min-height: 28px; color: var(--ink); font-size: 14px; line-height: 1.45; }
.copy-title { font: 700 21px/1.2 Montserrat, "Avenir Next", Arial, sans-serif; }
.copy-price { color: var(--green); font: 700 23px/1 Montserrat, "Avenir Next", Arial, sans-serif; }
.copy-card > small { display: block; margin-top: 9px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.copy-description { max-height: 420px; margin: 0; padding: 17px; overflow: auto; white-space: pre-wrap; color: #27332f; background: white; border: 1px solid var(--line); border-radius: 9px; font: 400 13px/1.6 Inter, sans-serif; }
.copy-specifics { display: grid; grid-template-columns: 1fr 1fr; margin: 0; background: white; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.copy-specifics div { min-width: 0; padding: 12px 14px; border-bottom: 1px solid #ebe8df; }
.copy-specifics div:nth-child(odd) { border-right: 1px solid #ebe8df; }
.copy-specifics div:nth-last-child(-n+2) { border-bottom: 0; }
.copy-specifics dt { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.copy-specifics dd { margin: 4px 0 0; font-size: 12px; font-weight: 700; white-space: pre-line; }
.photo-package-row { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 4px; }
.photo-package-row button { width: 92px; height: 72px; flex: none; padding: 0; position: relative; overflow: hidden; background: #d9ddd9; border: 0; border-radius: 8px; cursor: zoom-in; }
.photo-package-row img { width: 100%; height: 100%; display: block; object-fit: cover; }
.photo-package-row span { position: absolute; right: 5px; bottom: 5px; padding: 3px 5px; color: white; background: rgba(23,35,31,.78); border-radius: 4px; font-size: 8px; font-weight: 850; }
.copy-panel-footer { padding: 14px 30px; display: flex; justify-content: space-between; gap: 15px; color: var(--muted); background: #f3f3ed; border-top: 1px solid var(--line); font-size: 10px; }
.copy-panel-footer a { color: var(--green); font-weight: 800; text-decoration: none; }

/* Photo and record management */
.photo-management-panel { margin-bottom: 26px; padding: 24px 30px; }
.photo-management-heading { margin-bottom: 16px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.photo-management-heading h2 { margin: 5px 0 0; font: 700 23px Montserrat, "Avenir Next", Arial, sans-serif; }
.photo-management-heading > small { color: var(--muted); font-size: 9px; }
.photo-management-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 11px; }
.photo-management-grid article { overflow: hidden; background: #f4f3ee; border: 1px solid var(--line); border-radius: 10px; }
.managed-photo-preview { width: 100%; height: 110px; padding: 0; display: block; overflow: hidden; background: #d9ddd9; border: 0; cursor: zoom-in; }
.managed-photo-preview img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .2s ease; }
.managed-photo-preview:hover img { transform: scale(1.03); }
.photo-management-grid article > div { padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.photo-management-grid article span { color: var(--muted); font-size: 9px; font-weight: 750; }
.photo-management-grid article form button { padding: 0; color: var(--red); background: transparent; border: 0; font: 750 9px inherit; cursor: pointer; }
.photo-management-grid article form button:hover { text-decoration: underline; }
.danger-zone { margin-top: 24px; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #f3e9e7; border: 1px solid #e2cac6; border-radius: 13px; }
.danger-zone strong, .danger-zone span { display: block; }
.danger-zone strong { color: #7d3029; font-size: 12px; }
.danger-zone span { margin-top: 3px; color: #896a66; font-size: 9px; }
.delete-page { width: min(700px, 100%); margin: 50px auto; }
.delete-confirmation { padding: 38px; text-align: center; }
.danger-symbol { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 20px; color: white; background: var(--red); border-radius: 50%; font: 700 29px Montserrat, "Avenir Next", Arial, sans-serif; box-shadow: 0 0 0 9px rgba(163,61,50,.10); }
.delete-confirmation h1 { margin: 7px 0 12px; font: 700 34px/1.05 Montserrat, "Avenir Next", Arial, sans-serif; }
.delete-confirmation > p { max-width: 540px; margin: 0 auto 22px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.listed-delete-warning { margin: 0 0 20px; padding: 12px; color: #714b04; background: var(--amber-soft); border-radius: 8px; font-size: 10px; line-height: 1.45; }
.delete-confirm-field { text-align: left; }
.delete-record-summary { margin: 18px auto 0; padding: 11px 14px; display: inline-flex; align-items: center; gap: 9px; background: #eee4d1; border: 1px solid #d3c1a4; border-radius: 4px; }
.delete-record-summary span { color: var(--muted); font-size: 10px; }
.delete-record-summary strong { font-size: 11px; letter-spacing: .06em; }
.delete-actions { margin-top: 20px; display: flex; justify-content: center; gap: 10px; }

/* Blocking feedback for save and AI work */
.working-overlay[hidden] { display: none; }
.working-overlay { position: fixed; z-index: 100; inset: 0; padding: 22px; display: grid; place-items: center; background: rgba(13, 25, 21, .76); backdrop-filter: blur(9px); }
.working-card { width: min(430px, 100%); padding: 34px 30px 29px; position: relative; overflow: hidden; text-align: center; background: var(--paper); border: 1px solid rgba(255,255,255,.42); border-radius: 20px; box-shadow: 0 30px 90px rgba(0,0,0,.32); animation: working-card-in .35s cubic-bezier(.2,.8,.2,1); }
.working-card::before { content: ""; width: 220px; height: 220px; position: absolute; top: -150px; right: -80px; background: radial-gradient(circle, rgba(248,191,0,.25), transparent 68%); }
.working-card .eyebrow { margin-top: 23px; }
.working-card > strong { display: block; margin-top: 7px; font: 700 25px/1.15 Montserrat, "Avenir Next", Arial, sans-serif; }
.working-card p { max-width: 330px; margin: 9px auto 20px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.pilot-loader { width: 86px; height: 86px; position: relative; display: grid; place-items: center; margin: 0 auto; }
.pilot-loader::before, .pilot-loader::after { content: ""; position: absolute; border-radius: 50%; }
.pilot-loader::before { inset: 0; border: 2px solid #e1e2e3; border-top-color: var(--amber); border-right-color: var(--amber); animation: pilot-spin 1.15s linear infinite; }
.pilot-loader::after { inset: 11px; border: 1px dashed #85888b; animation: pilot-spin-reverse 2.4s linear infinite; }
.pilot-loader b { width: 48px; height: 48px; z-index: 2; display: grid; place-items: center; color: var(--amber); background: #34373a; border-radius: 50%; font: 700 13px Montserrat, "Avenir Next", Arial, sans-serif; letter-spacing: .08em; box-shadow: 0 8px 22px rgba(34,37,39,.22); }
.pilot-loader span { width: 8px; height: 8px; position: absolute; z-index: 3; background: var(--amber); border: 2px solid var(--paper); border-radius: 50%; animation: pilot-pulse 1.4s ease-in-out infinite; }
.pilot-loader span:nth-child(1) { top: 5px; left: 19px; }
.pilot-loader span:nth-child(2) { right: 3px; bottom: 25px; animation-delay: .25s; }
.pilot-loader span:nth-child(3) { left: 8px; bottom: 13px; animation-delay: .5s; }
.working-progress { height: 5px; overflow: hidden; background: #e2e6e2; border-radius: 99px; }
.working-progress span { width: 42%; height: 100%; display: block; background: linear-gradient(90deg, #d7a500, var(--amber), #d7a500); border-radius: inherit; animation: working-progress 1.45s ease-in-out infinite; }
@keyframes pilot-spin { to { transform: rotate(360deg); } }
@keyframes pilot-spin-reverse { to { transform: rotate(-360deg); } }
@keyframes pilot-pulse { 50% { transform: scale(1.55); box-shadow: 0 0 0 5px rgba(216,154,34,.12); } }
@keyframes working-progress { from { transform: translateX(-110%); } to { transform: translateX(260%); } }
@keyframes working-card-in { from { opacity: 0; transform: translateY(14px) scale(.97); } }
@media (prefers-reduced-motion: reduce) {
  .pilot-loader::before, .pilot-loader::after, .pilot-loader span, .working-progress span, .working-card { animation-duration: 3s; }
}

@media (max-width: 1050px) {
  .workspace-grid { grid-template-columns: 1fr; }
  .workflow-card { position: static; }
  .workflow-card ol { grid-template-columns: repeat(4, 1fr); }
  .review-layout { grid-template-columns: 1fr; }
  .side-stack { position: static; grid-template-columns: 1fr 1fr; }
  .review-note { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
  .topbar { min-height: 66px; padding: 0 16px; }
  .topbar .button { min-height: 38px; padding-inline: 12px; }
  .brand small { display: none; }
  .shell { width: min(100% - 22px, 1320px); margin-top: 15px; }
  .dashboard-intro { min-height: 0; padding: 28px 24px; display: block; }
  .intro-copy h1 { font-size: 40px; }
  .intro-action { min-width: 0; margin-top: 24px; }
  .mode-indicator { justify-self: start; }
  .stats { grid-template-columns: repeat(2, 1fr); margin-bottom: 32px; }
  .stats a:nth-child(even) { border-right: 0; }
  .stats a:nth-child(-n+4) { border-bottom: 1px solid var(--line); }
  .part-list { grid-template-columns: 1fr; }
  .workflow-card ol { grid-template-columns: 1fr; }
  .capture-layout { grid-template-columns: 1fr; }
  .capture-guide { position: static; }
  .capture-guide ol { grid-template-columns: 1fr 1fr; }
  .detail-titlebar { display: block; }
  .detail-actions { margin-top: 18px; }
  .detail-overview { grid-template-columns: 1fr; }
  .assignment-bar { align-items: flex-start; }
  .main-part-image { height: 360px; }
  .form-grid-3 { grid-template-columns: 1fr 1fr; }
  .copy-panel-heading { align-items: stretch; flex-direction: column; gap: 18px; }
  .copy-panel-heading .button { width: 100%; }
}

@media (max-width: 560px) {
  .brand strong { font-size: 19px; }
  .brand > span:last-child { display: none; }
  .topbar-actions { gap: 6px; }
  .operator-switch { width: 38px; padding: 0; justify-content: center; font-size: 0; }
  .operator-switch span { font-size: 10px; }
  .team-link { width: 38px; padding: 0; justify-content: center; overflow: hidden; font-size: 0; }
  .team-link::before { content: "T"; font-size: 11px; font-weight: 900; }
  .topbar > .button { font-size: 12px; }
  .dashboard-intro { border-radius: 15px; }
  .intro-copy h1 { font-size: 36px; }
  .stats a { padding: 15px 16px; }
  .section-head h2 { font-size: 27px; }
  .filterbar { flex-wrap: wrap; }
  .search-field { flex-basis: 100%; }
  .filterbar .button { flex: 1; }
  .part-photo { height: 205px; }
  .part-body h3 { min-height: 0; font-size: 21px; }
  .workflow-card { padding: 22px; }
  .capture-guide { padding: 23px; }
  .capture-guide ol { grid-template-columns: 1fr; }
  .capture-form, .review-form { padding: 20px; }
  .form-grid, .form-grid-3 { grid-template-columns: 1fr; }
  .field.span-2 { grid-column: auto; }
  .actions { display: grid; }
  .actions .button { width: 100%; }
  .detail-titlebar h1 { font-size: 36px; }
  .detail-actions { display: grid; }
  .detail-actions .button { width: 100%; }
  .main-part-image { height: 290px; }
  .analysis-summary { padding: 20px; }
  .summary-top { grid-template-columns: 78px 1fr; gap: 13px; }
  .score-ring { width: 76px; height: 76px; }
  .summary-facts { grid-template-columns: 1fr; }
  .summary-facts div:nth-last-child(-n+2) { border-bottom: 1px solid #ece9e0; }
  .summary-facts div:last-child { border-bottom: 0; }
  .summary-alert { display: grid; }
  .review-heading { display: block; }
  .review-heading > small { display: block; margin-top: 8px; text-align: left; }
  .savebar { margin: 2px -20px -20px; padding: 16px 20px; display: grid; }
  .savebar .button { width: 100%; }
  .side-stack { grid-template-columns: 1fr; }
  .review-note { grid-column: auto; }
  .assignment-bar { display: grid; }
  .assignment-actions, .assignment-actions form, .assignment-actions .button { width: 100%; }
  .zip-import-row { grid-template-columns: 42px 1fr; }
  .zip-import-row input { grid-column: 1 / -1; }
  .copy-panel-heading { padding: 22px 20px 18px; }
  .copy-readiness { margin: 0 20px 15px; display: grid; }
  .copy-grid { padding: 0 20px 20px; grid-template-columns: 1fr; }
  .copy-card-wide { grid-column: auto; }
  .copy-card-head { align-items: flex-start; }
  .copy-card-head .copy-button { flex: none; }
  .copy-specifics { grid-template-columns: 1fr; }
  .copy-specifics div:nth-child(odd) { border-right: 0; }
  .copy-specifics div:nth-last-child(-n+2) { border-bottom: 1px solid #ebe8df; }
  .copy-specifics div:last-child { border-bottom: 0; }
  .copy-panel-footer { padding: 13px 20px; display: grid; }
  .photo-management-panel { padding: 20px; }
  .photo-management-heading, .danger-zone { align-items: stretch; flex-direction: column; }
  .photo-management-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .delete-page { margin: 24px auto; }
  .delete-confirmation { padding: 27px 20px; }
  .delete-actions { display: grid; }
}

/* A calm digital workbench built from iron, timber and paper. */
body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(73,54,39,.025) 1px, transparent 1px);
  background-size: 96px 100%;
}

.topbar {
  min-height: 82px;
  background:
    linear-gradient(rgba(251,247,237,.96), rgba(246,239,225,.96)),
    repeating-linear-gradient(90deg, rgba(82,59,42,.04) 0 1px, transparent 1px 7px);
  border-top: 4px solid var(--iron);
  border-bottom: 1px solid #aa997f;
  box-shadow: 0 4px 18px rgba(47,37,27,.08);
}
.brand { gap: 15px; }
.brand-mark {
  width: 48px; height: 50px; position: relative;
  color: #ead9b7; background: var(--iron);
  border: 2px solid var(--brass); border-radius: 5px 5px 9px 9px;
  clip-path: none; box-shadow: inset 0 0 0 2px #202421, 0 3px 8px rgba(38,31,25,.2);
  font: 800 13px/1 Rockwell, "Roboto Slab", Georgia, serif;
  text-shadow: 0 1px #000; transform: rotate(-1deg);
}
.brand-mark::before, .brand-mark::after {
  content: ""; width: 3px; height: 3px; position: absolute; top: 4px;
  background: #d4b574; border-radius: 50%; box-shadow: 0 1px 1px #111;
}
.brand-mark::before { left: 5px; }
.brand-mark::after { right: 5px; }
.brand strong { font: 700 25px/1 Rockwell, "Roboto Slab", Georgia, serif; letter-spacing: -.02em; }
.brand small { margin-top: 5px; color: #756a59; letter-spacing: .13em; }
.operator-switch {
  color: #4d4034; background: #eee3cc; border-color: #cbb68d; border-radius: 4px;
  box-shadow: inset 0 1px rgba(255,255,255,.7);
}
.operator-switch span { color: var(--rust); }
.logout-form { margin: 0; }
.logout-form button {
  min-height: 38px; padding: 0 11px; display: inline-flex; align-items: center; gap: 6px;
  color: #5f5446; background: transparent; border: 1px solid #c6b79f; border-radius: 4px;
  font: 750 10px/1 inherit; cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.logout-form button:hover { color: var(--rust); background: #f4ead8; border-color: #aa8972; }
.logout-form button span { font-size: 14px; transform: rotate(180deg); }
.logout-form button b { font: inherit; }
.admin-link { min-height: 38px; padding: 0 11px; display: inline-flex; align-items: center; color: #f5e6c8; background: var(--iron); border: 1px solid #8d7048; border-radius: 4px; font-size: 10px; font-weight: 800; text-decoration: none; }
.admin-link:hover { color: white; background: #3c332c; }

.button { border-radius: 4px; box-shadow: inset 0 1px rgba(255,255,255,.12), 0 2px 5px rgba(53,41,30,.09); }
.button-primary { color: #fff9eb; background: var(--rust); border-color: #743027; text-shadow: 0 1px rgba(0,0,0,.2); }
.button-primary:hover { background: #763027; }
.button-secondary { background: #fbf7ed; border-color: #b8aa94; }
.button-secondary:hover { border-color: var(--wood); background: #f5eddd; }
.button-light { color: #322d27; background: #f4e5c5; border-color: #d2b77e; }
.button-light:hover { background: #fff4da; }
.eyebrow { color: var(--rust); letter-spacing: .2em; }
.back-link { color: var(--rust); }
.panel {
  background:
    linear-gradient(rgba(251,247,237,.97), rgba(251,247,237,.97)),
    repeating-linear-gradient(0deg, transparent 0 25px, rgba(112,81,58,.045) 25px 26px);
  border-color: var(--line); border-radius: 7px;
}

.dashboard-intro {
  position: relative; isolation: isolate; overflow: hidden; min-height: 252px;
  background:
    linear-gradient(90deg, transparent 49.72%, rgba(13,14,13,.58) 49.72% 50.28%, transparent 50.28%),
    radial-gradient(circle at 18px 18px, #bd985d 0 2px, #3b3028 2.5px 4px, transparent 4.5px),
    radial-gradient(circle at calc(100% - 18px) 18px, #bd985d 0 2px, #3b3028 2.5px 4px, transparent 4.5px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.022) 0 2px, transparent 2px 16.66%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.10) 0 1px, transparent 1px 44px),
    linear-gradient(100deg, #342c26 0%, #4c372a 52%, #282c29 100%);
  border: 1px solid #25231f; border-radius: 7px; box-shadow: var(--shadow-lg), inset 0 0 0 5px rgba(21,20,17,.22);
}
.dashboard-intro::before {
  content: "WERKSTATT · ERSATZTEILE · ARCHIV";
  position: absolute; z-index: -1; right: 34px; bottom: 18px;
  color: rgba(231,208,166,.08); font: 800 clamp(20px,3vw,38px)/1 Rockwell, Georgia, serif; letter-spacing: .08em;
}
.dashboard-intro::after {
  content: ""; position: absolute; z-index: -1; inset: 11px;
  border: 1px solid rgba(194,159,100,.22); border-radius: 2px; pointer-events: none;
}
.dashboard-intro .eyebrow { color: #d8b678; }
.intro-copy h1 {
  color: #fff8e8; font: 700 clamp(40px,4.4vw,61px)/.98 Rockwell, "Roboto Slab", Georgia, serif;
  letter-spacing: -.025em; text-shadow: 0 2px 1px rgba(0,0,0,.35);
}
.intro-copy p { color: #dfd4c0; }
.mode-indicator { color: #e5dac6; border-color: rgba(216,182,120,.35); background: rgba(15,17,15,.22); border-radius: 4px; }
.mode-indicator span, .mode-indicator.is-live span { background: #c49a57; box-shadow: 0 0 0 4px rgba(196,154,87,.13); }

.stats { border-color: #c8b99f; border-radius: 6px; background: #f7f0e2; box-shadow: 0 7px 18px rgba(64,47,33,.08); }
.stats a { border-color: #d3c5ad; }
.stats a:hover, .stats a.active { background: #fff9ed; }
.stats a.active::after { height: 4px; background: var(--rust); }
.stats span { font: 700 30px/1 Rockwell, "Roboto Slab", Georgia, serif; color: #332e28; }
.section-head h2, .page-head h1, .detail-titlebar h1, .review-heading h2,
.copy-panel-heading h2, .photo-management-heading h2, .delete-confirmation h1 {
  font-family: Rockwell, "Roboto Slab", Georgia, serif;
}

.search-field { background: #fbf7ed; border-color: #bdae97; border-radius: 5px; box-shadow: inset 0 1px 2px rgba(71,54,40,.06); }
.search-field span { color: var(--rust); }
.part-card { border-color: #cabba2; border-radius: 6px; box-shadow: 0 7px 18px rgba(56,42,30,.09); }
.part-card:hover { border-color: #957553; box-shadow: 0 16px 34px rgba(54,39,27,.16); }
.part-photo { background: #cbc2b2; border-bottom: 4px solid var(--wood); }
.photo-placeholder, .image-empty span { color: #ead9b7; background: var(--iron); border: 1px solid var(--brass); border-radius: 5px; font-family: Rockwell, Georgia, serif; }
.part-body { position: relative; }
.part-body::before { content: ""; position: absolute; top: 0; left: 18px; width: 42px; height: 3px; background: var(--rust); }
.part-body h3 { font: 700 23px/1.12 Rockwell, "Roboto Slab", Georgia, serif; }
.card-footer { border-color: #ded2be; }
.score { background: #dfd4c1; }
.score span { background: linear-gradient(90deg, #8d3d32, #b88a45); }
.card-footer strong { color: var(--rust); }
.status { border: 1px solid rgba(69,60,50,.14); border-radius: 3px; }
.status-review { background: #efe0b9; color: #75501f; }
.status-in_progress { background: #d9e1df; color: #345954; }
.status-ready { background: #dce7d8; color: #3d633d; }
.status-listed { background: #d9dfd5; color: #425a41; }
.assignee-line.assigned { color: #526861; }

.workflow-card {
  padding: 30px 27px; background:
    linear-gradient(90deg, rgba(145,108,57,.10) 1px, transparent 1px),
    linear-gradient(#ead9b8, #f1e4c9);
  background-size: 22px 100%, auto; border: 1px solid #b89e73; border-top: 7px solid var(--wood); border-radius: 5px;
  box-shadow: 0 8px 22px rgba(58,43,29,.11), inset 0 1px rgba(255,255,255,.55);
}
.workflow-card::before { content: ""; width: 74px; height: 16px; position: absolute; top: -12px; left: calc(50% - 37px); background: #8a7a65; border: 1px solid #65594a; border-radius: 3px; box-shadow: inset 0 2px #aaa08f; }
.workflow-card h2, .capture-guide h2, .side-stack h3, .form-section-heading strong,
.summary-top h2, .review-form legend, .review-note strong, .copy-title, .working-card > strong {
  font-family: Rockwell, "Roboto Slab", Georgia, serif;
}
.workflow-card li > span, .capture-guide li > span { color: #f2dfb9; background: var(--iron); border-color: #9a784d; border-radius: 4px; }
.workflow-link { color: #fff7e8; background: var(--rust); border-radius: 4px; }
.all-clear { background: #dbe2d4; color: #425d3d; border-radius: 4px; }

.capture-guide {
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 1px, transparent 1px 34px),
    linear-gradient(135deg, #252a27, #3b332c);
  border: 1px solid #1b1d1b; border-top: 7px solid var(--rust); border-radius: 6px;
}
.capture-guide .eyebrow { color: #d8b678; }
.capture-guide li small { color: #c8c0b0; }
.guide-note { color: #e1d5c1; border: 1px solid rgba(194,159,100,.22); border-radius: 4px; }
.form-section-heading > span { color: #f4e3c2; background: var(--wood); border: 1px solid #4f3526; border-radius: 4px; }
.upload-zone { background: #f5eddd; border-color: #b6a58c; border-radius: 5px; }
.upload-zone:hover { background: #f8ead0; border-color: var(--rust); }
.upload-zone .camera { color: #f8ead0; background: var(--rust); border-radius: 5px; }
.zip-import-row, .copy-card, .photo-management-grid article { background: #f2eadb; border-color: #d2c3aa; border-radius: 5px; }
.zip-icon { color: #e8d5af; background: var(--iron); border: 1px solid var(--brass); border-radius: 4px; }

.field input, .field select, .field textarea {
  background: #fffaf0; border-color: #bcae97; border-radius: 4px; box-shadow: inset 0 1px 2px rgba(72,52,35,.05);
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--rust); box-shadow: 0 0 0 3px rgba(141,61,50,.12); }
.readonly-field { background: #eee5d4; border-color: #d0c1aa; border-radius: 4px; }
.assignment-bar, .summary-alert, .analysis-cost, .copy-readiness, .listed-delete-warning { border-radius: 4px; }
.assignment-bar { background: #f1dfb9; border-color: #d2b274; color: #68491f; }
.assignment-avatar { color: #ead6af; background: var(--iron); border: 1px solid var(--brass); border-radius: 5px; font-family: Rockwell, Georgia, serif; }
.visual-panel { background: #c8bba7; border: 1px solid #b2a38d; border-radius: 6px; }
.image-zoom-hint { background: rgba(36,37,33,.86); border: 1px solid rgba(210,180,126,.35); border-radius: 4px; }
.thumbnail-strip { background: #f4ecdd; }
.thumbnail-button { border-radius: 3px; }
.thumbnail-button.active, .thumbnail-button:hover { border-color: var(--rust); }
.score-ring { background: conic-gradient(var(--rust) calc(var(--score) * 1%), #ddd1bc 0); }
.summary-alert, .copy-readiness.has-warnings { background: #f1dfb9; color: #68491f; }
.analysis-cost { background: #e9dfca; border: 1px solid #d5c5a8; }
.analysis-cost span, .analysis-cost strong { color: #68452e; }
.review-note { color: #ddd3c1; background: var(--iron); border-color: var(--rust); border-radius: 5px; }
.warning-panel { border-left-color: var(--rust); }
.warning-panel li::before { background: var(--rust); }
.savebar, .copy-panel-footer { background: #eee5d4; border-color: #d3c5ad; border-radius: 0 0 6px 6px; }
.copy-button { color: var(--rust); border-color: #bca98d; border-radius: 4px; }
.copy-button:hover, .copy-button.is-copied { background: var(--rust); border-color: var(--rust); }
.copy-price, .copy-panel-footer a { color: var(--rust); }
.copy-description, .copy-specifics { background: #fffaf1; border-color: #d2c4ad; border-radius: 4px; }
.danger-zone { background: #efe0da; border-color: #d6b7ae; border-radius: 5px; }

.working-overlay { background: rgba(25,24,21,.82); }
.working-card {
  background:
    linear-gradient(rgba(251,247,237,.97), rgba(246,237,220,.97)),
    repeating-linear-gradient(90deg, rgba(96,67,49,.06) 0 1px, transparent 1px 13px);
  border: 1px solid #b89359; border-radius: 7px; box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 0 0 5px #f3ead9;
}
.working-card::before { background: radial-gradient(circle, rgba(184,138,69,.25), transparent 68%); }
.pilot-loader::before { border-color: #d8cbb7; border-top-color: var(--rust); border-right-color: var(--rust); }
.pilot-loader::after { border-color: #9d886c; }
.pilot-loader b { color: #ead6ae; background: var(--iron); border: 1px solid var(--brass); border-radius: 5px; font-family: Rockwell, Georgia, serif; }
.pilot-loader span { background: var(--brass); }
.working-progress { background: #ddd1bd; }
.working-progress span { background: linear-gradient(90deg, var(--rust), var(--brass), var(--rust)); }

footer { color: #776d5f; }

@media (max-width: 820px) {
  .topbar { min-height: 70px; border-top-width: 3px; }
  .dashboard-intro { padding: 34px 29px; }
}
@media (max-width: 560px) {
  .brand-mark { width: 42px; height: 43px; }
  .dashboard-intro { border-radius: 6px; }
  .dashboard-intro::before { display: none; }
  .intro-copy h1 { font-size: 35px; }
  .workflow-card::before { display: none; }
  .logout-form button { width: 36px; padding: 0; justify-content: center; }
  .logout-form button b { display: none; }
  .admin-link { width: 36px; padding: 0; justify-content: center; overflow: hidden; font-size: 0; }
  .admin-link::before { content: "€"; font-size: 13px; }
}

/* Fast inventory cleanup */
.sr-only {
  width: 1px; height: 1px; position: absolute; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%);
}
.bulk-delete-form { min-width: 0; }
.bulk-toolbar {
  min-height: 58px; margin-bottom: 14px; padding: 10px 12px 10px 15px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  background: #eee4d1; border: 1px solid #cdbda3; border-left: 4px solid var(--wood); border-radius: 5px;
  box-shadow: inset 0 1px rgba(255,255,255,.55);
}
.bulk-select-all { display: inline-flex; align-items: center; gap: 9px; color: #4e453a; font-size: 11px; font-weight: 800; cursor: pointer; }
.bulk-select-all input, .card-selector input { accent-color: var(--rust); }
.bulk-toolbar-action { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.bulk-toolbar-action > span { color: var(--muted); font-size: 10px; font-weight: 750; }
.bulk-toolbar .button { min-height: 36px; padding-inline: 13px; font-size: 11px; }
.bulk-toolbar .button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.bulk-toolbar-ready { border-left-color: #47704c; background: #e8ebdc; }
.part-card { position: relative; }
.part-card-link { display: block; color: inherit; text-decoration: none; }
.card-selector {
  width: 35px; height: 35px; position: absolute; z-index: 3; top: 11px; right: 11px;
  display: grid; place-items: center; color: transparent; background: rgba(251,247,237,.92);
  border: 1px solid #a99981; border-radius: 4px; box-shadow: 0 3px 10px rgba(32,27,22,.2); cursor: pointer;
  transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease;
}
.card-selector:hover { transform: scale(1.05); border-color: var(--rust); }
.card-selector input { width: 1px; height: 1px; position: absolute; opacity: 0; }
.card-selector > span[aria-hidden] { font-size: 17px; font-weight: 900; }
.part-card.is-selected { border-color: var(--rust); box-shadow: 0 0 0 2px rgba(141,61,50,.18), 0 14px 30px rgba(54,39,27,.14); }
.part-card.is-selected .card-selector { color: #fff9eb; background: var(--rust); border-color: #6e2d26; }
.part-card.is-selected .part-photo { filter: saturate(.78); }

.bulk-delete-dialog {
  width: min(520px, calc(100% - 28px)); padding: 34px 32px 30px; color: var(--ink);
  text-align: center; background: var(--paper); border: 1px solid #b89359; border-radius: 7px;
  box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 0 0 5px #f3ead9;
}
.bulk-delete-dialog::backdrop { background: rgba(25,24,21,.76); backdrop-filter: blur(7px); }
.bulk-delete-dialog .danger-symbol { margin-bottom: 18px; }
.bulk-delete-dialog h2 { margin: 7px 0 10px; font: 700 28px/1.12 Rockwell, "Roboto Slab", Georgia, serif; }
.bulk-delete-dialog > p { margin: 0 auto; color: var(--muted); font-size: 12px; line-height: 1.55; }
.bulk-dialog-close { position: absolute; top: 10px; right: 11px; }
.bulk-dialog-close button { width: 34px; height: 34px; color: #695e50; background: transparent; border: 0; font-size: 24px; cursor: pointer; }
.bulk-delete-preview {
  margin: 18px 0 3px; padding: 12px 14px; color: #604e3f; background: #eee4d1;
  border: 1px solid #d3c1a4; border-radius: 4px; font-size: 10px; line-height: 1.5;
}

@media (max-width: 560px) {
  .bulk-toolbar { align-items: stretch; flex-direction: column; gap: 9px; }
  .bulk-toolbar-action { justify-content: space-between; }
  .bulk-toolbar-action .button { min-height: 38px; }
  .bulk-delete-dialog { padding: 30px 20px 24px; }
  .bulk-delete-dialog h2 { font-size: 24px; }
}

/* Login follows the same quiet, guided interface as the product flow. */
.login-body { min-height: 100vh; display: flex; flex-direction: column; padding: 0; background: #f5f4f0; }
.login-topbar { min-height: 68px; display: flex; align-items: center; background: rgba(255,255,255,.96); border-bottom: 1px solid #deddd7; }
.login-topbar-inner { width: min(1120px,calc(100% - 40px)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.login-main { width: min(100%,520px); min-height: calc(100vh - 68px); margin: 0 auto; padding: 64px 20px 28px; display: flex; flex: 1; flex-direction: column; justify-content: center; }
.login-card { padding: 40px; background: #fff; border: 1px solid #deddd7; border-radius: 18px; box-shadow: 0 18px 50px rgba(30,35,31,.07); }
.login-card-head { margin-bottom: 28px; }
.login-symbol { width: 46px; height: 46px; margin-bottom: 24px; display: grid; place-items: center; color: #fff; background: #2f493d; border-radius: 13px; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.login-card-head .eyebrow { color: #5d7569; }
.login-card-head h1 { margin: 7px 0 10px; font: 780 36px/1.02 system-ui,sans-serif; letter-spacing: -.045em; }
.login-card-head p { margin: 0; color: #70746f; font-size: 13px; line-height: 1.55; }
.login-form { display: grid; gap: 17px; }
.login-form .field label { color: #343934; font-size: 12px; }
.login-form input { min-height: 48px; padding: 0 14px; background: #fff; border: 1px solid #d5d4ce; border-radius: 9px; font: 15px/1 system-ui,sans-serif; outline: none; }
.login-form input:focus { border-color: #527361; box-shadow: 0 0 0 3px rgba(74,111,91,.11); }
.login-form .button { width: 100%; margin-top: 4px; justify-content: space-between; }
.login-form .button span { font-size: 18px; }
.login-error { margin: -7px 0 18px; padding: 12px 13px; display: flex; align-items: center; gap: 9px; color: #7a3029; background: #f7e7e4; border: 1px solid #e4c8c3; border-radius: 9px; font-size: 11px; font-weight: 750; }
.login-error span { width: 22px; height: 22px; flex: none; display: grid; place-items: center; color: white; background: var(--rust); border-radius: 50%; font-size: 11px; }
.login-help { display: block; margin-top: 17px; color: #8a8d88; text-align: center; font-size: 9px; line-height: 1.45; }
.login-footline { margin: 22px 0 0; color: #8a8d88; text-align: center; font-size: 11px; }

@media (max-width: 560px) {
  .login-topbar-inner { width: calc(100% - 24px); }
  .login-main { min-height: calc(100vh - 68px); padding: 30px 12px 20px; justify-content: flex-start; }
  .login-card { padding: 28px 22px; border-radius: 15px; }
  .login-card-head h1 { font-size: 32px; }
}

/* Operator-only usage and billing dashboard */
.admin-head { margin: 8px 0 24px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.admin-head h1 { margin: 8px 0 8px; font: 700 clamp(38px,4.2vw,56px)/.98 Rockwell, "Roboto Slab", Georgia, serif; letter-spacing: -.025em; }
.admin-head p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.admin-head-actions { flex: none; }
.admin-filter { margin-bottom: 18px; padding: 16px; display: grid; grid-template-columns: 190px minmax(220px,1fr) auto; align-items: end; gap: 13px; }
.admin-filter .button { min-height: 43px; }
.admin-kpis { margin-bottom: 22px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.admin-kpis.usage-only { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-kpis article { min-width: 0; padding: 19px 20px; background: var(--paper); border: 1px solid #cbbba1; border-top: 4px solid var(--wood); border-radius: 5px; box-shadow: var(--shadow-sm); }
.admin-kpis article:nth-child(2) { border-top-color: var(--rust); }
.admin-kpis article:nth-child(3), .admin-kpis article:nth-child(4) { border-top-color: var(--brass); }
.admin-kpis span, .admin-kpis strong, .admin-kpis small { display: block; }
.admin-kpis span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-kpis strong {
  margin: 7px 0 -1px; padding: 2px 0 3px;
  overflow: visible; font: 700 clamp(24px,2vw,29px)/1.18 Rockwell, "Roboto Slab", Georgia, serif;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.admin-kpis small { margin-top: 7px; color: #82786b; font-size: 9px; line-height: 1.4; }
.admin-section { margin-bottom: 22px; padding: 26px 28px; }
.admin-section-head { margin-bottom: 20px; display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-section-head h2 { margin: 6px 0 0; font: 700 27px/1.05 Rockwell, "Roboto Slab", Georgia, serif; }
.admin-section-head > small { max-width: 470px; color: var(--muted); font-size: 9px; line-height: 1.5; text-align: right; }
.account-usage-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.account-usage-card { padding: 19px; background: #f2eadb; border: 1px solid #d0bfa4; border-radius: 5px; }
.account-card-head { display: flex; align-items: start; justify-content: space-between; gap: 16px; }
.account-card-head strong, .account-card-head small { display: block; }
.account-card-head strong { font: 700 19px/1.1 Rockwell, "Roboto Slab", Georgia, serif; }
.account-card-head small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.account-usage-numbers { margin-top: 19px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.account-usage-numbers strong { padding-block: 2px; font: 700 24px/1.18 Rockwell, "Roboto Slab", Georgia, serif; font-variant-numeric: tabular-nums; }
.account-usage-numbers span { color: var(--muted); font-size: 9px; }
.account-meter { height: 7px; margin: 9px 0 17px; overflow: hidden; background: #ded1bd; border-radius: 99px; }
.account-meter span { max-width: 100%; height: 100%; display: block; background: linear-gradient(90deg,var(--rust),var(--brass)); border-radius: inherit; }
.account-usage-card dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border: 1px solid #d8c8ae; background: #fff8eb; }
.account-usage-card dl div { padding: 10px 11px; border-bottom: 1px solid #ded0ba; }
.account-usage-card dl div:nth-child(odd) { border-right: 1px solid #ded0ba; }
.account-usage-card dl div:nth-last-child(-n+2) { border-bottom: 0; }
.account-usage-card dt { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.account-usage-card dd { margin: 4px 0 0; padding-bottom: 1px; font-size: 12px; font-weight: 800; line-height: 1.35; font-variant-numeric: tabular-nums; }
.woocommerce-state { margin-top: 13px; padding: 9px 11px; display: flex; justify-content: space-between; gap: 12px; color: #605448; background: #e6dac6; border-radius: 3px; font-size: 9px; }
.woocommerce-state span { font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.account-usage-card > a { display: inline-block; margin-top: 13px; color: var(--rust); font-size: 10px; font-weight: 800; text-decoration: none; }
.usage-table-wrap { overflow-x: auto; border: 1px solid #d2c3aa; }
.usage-table { width: 100%; border-collapse: collapse; background: #fffaf0; font-size: 10px; }
.usage-table th { padding: 10px 12px; color: #756a5b; background: #e9decb; border-bottom: 1px solid #cdbb9e; text-align: left; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.usage-table td { min-width: 105px; padding: 11px 12px; border-bottom: 1px solid #e3d8c6; vertical-align: top; }
.usage-table tr:last-child td { border-bottom: 0; }
.usage-table td:nth-child(2) { min-width: 230px; }
.usage-table td:nth-child(4) { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.usage-table td strong, .usage-table td small { display: block; }
.usage-table td strong { padding-block: 1px 2px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.usage-table td small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.usage-empty { padding: 36px !important; color: var(--muted); text-align: center; }
.account-settings { scroll-margin-top: 96px; }
.account-settings-form .checkbox-field { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.account-settings-form .checkbox-field label { margin: 0; }
.account-settings-form .checkbox-field input { width: auto; }
.new-account { scroll-margin-top: 96px; }
.new-account > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.new-account > summary::-webkit-details-marker { display: none; }
.new-account > summary span { display: grid; gap: 6px; }
.new-account > summary strong { font-size: 20px; }
.new-account > summary b { font-size: 24px; }
.new-account[open] > summary { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--tp-line); }

@media (max-width: 980px) {
  .admin-kpis { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .admin-head, .admin-section-head { align-items: stretch; flex-direction: column; }
  .admin-head-actions .button { width: 100%; }
  .admin-filter { grid-template-columns: 1fr; }
  .account-usage-grid { grid-template-columns: 1fr; }
  .admin-section-head > small { text-align: left; }
  .team-layout { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  .admin-kpis { grid-template-columns: 1fr; }
  .admin-section { padding: 21px 18px; }
  .team-list article { grid-template-columns: 38px minmax(0,1fr) auto; }
  .team-list article form { grid-column: 2 / -1; }
}

/* Guided, deliberately simple product flow */
body { background: #f5f4f0; background-image: none; color: #20231f; }
body::before { display: none; }
.topbar { min-height: 68px; background: rgba(255,255,255,.94); border-color: #deddd7; }
.brand-mark { width: 38px; height: 38px; color: #fff; background: #252925; border-radius: 10px; clip-path: none; box-shadow: none; }
.brand strong { font: 750 20px/1 system-ui, sans-serif; letter-spacing: -.025em; }
.brand small { margin-top: 3px; font-size: 9px; letter-spacing: .05em; text-transform: none; }
.shell { width: min(1120px, calc(100% - 40px)); margin-top: 32px; }
.button { border-radius: 9px; font-weight: 700; }
.button-primary { color: #fff; background: #263c32; }
.button-primary:hover { background: #172d24; }
.button-secondary { background: #fff; border-color: #d4d2ca; }
.operator-switch { color: #27372f; background: #f1f1ec; border-color: #d8d7cf; border-radius: 9px; }
.operator-switch span { color: #4f7d66; }
.text-button { padding: 5px 0; color: #526158; background: none; border: 0; font: 700 12px/1.2 inherit; cursor: pointer; text-decoration: none; }
.text-button:hover { color: #182d24; }
.text-button.danger { color: #a05750; }

/* Simple dashboard */
.simple-dashboard-head { padding: 30px 0 27px; display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.simple-dashboard-head span, .capture-simple-head > span { color: #5d7569; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.simple-dashboard-head h1 { margin: 5px 0 5px; font: 750 clamp(36px,5vw,58px)/1 system-ui,sans-serif; letter-spacing: -.05em; }
.simple-dashboard-head p { margin: 0; color: #70746f; font-size: 15px; }
.customer-usage {
  margin-bottom: 13px; padding: 14px 16px; display: grid; grid-template-columns: minmax(230px,auto) minmax(160px,1fr) auto;
  align-items: center; gap: 20px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 13px;
}
.customer-usage.usage-only { grid-template-columns: minmax(230px,auto) minmax(160px,1fr); }
.customer-usage-copy { display: grid; gap: 3px; }
.customer-usage-copy span { color: var(--tp-accent); font-size: 9px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.customer-usage-copy strong { font-size: 14px; }
.customer-usage-copy small, .customer-usage-action > span { color: var(--tp-muted); font-size: 10px; }
.customer-usage-meter { height: 8px; overflow: hidden; background: var(--tp-surface-muted); border-radius: 99px; }
.customer-usage-meter span { height: 100%; display: block; background: var(--tp-accent); border-radius: inherit; }
.customer-usage-action .button { min-height: 38px; white-space: nowrap; font-size: 11px; }
.stage-tabs { display: flex; gap: 5px; padding: 5px; overflow-x: auto; background: #e9e8e2; border-radius: 13px; }
.stage-tabs a { min-width: max-content; flex: 1; padding: 11px 14px; color: #5e625e; border-radius: 9px; font-size: 12px; font-weight: 700; text-align: center; text-decoration: none; white-space: nowrap; }
.stage-tabs a span { margin-right: 6px; color: #222622; font-size: 15px; }
.stage-tabs a.active { color: #173126; background: #fff; box-shadow: 0 1px 4px rgba(30,34,30,.09); }
.simple-list-head { margin: 35px 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.simple-list-head > div { display: flex; align-items: baseline; gap: 10px; }
.simple-list-head h2 { margin: 0; font: 750 25px/1.1 system-ui,sans-serif; letter-spacing: -.025em; }
.simple-list-head span { color: #888b86; font-size: 12px; }
.simple-search { width: min(260px, 100%); height: 40px; display: flex; background: #fff; border: 1px solid #deddd7; border-radius: 10px; }
.simple-search input { min-width: 0; flex: 1; padding: 0 12px; background: transparent; border: 0; outline: 0; }
.simple-search button { width: 42px; color: #54665c; background: transparent; border: 0; cursor: pointer; }
.simple-bulk { min-height: 48px; margin-bottom: 12px; padding: 7px 9px 7px 14px; display: flex; align-items: center; gap: 12px; color: #727670; background: #ecebe6; border-radius: 10px; font-size: 11px; }
.simple-bulk.ready { background: #e8efe9; }
.simple-bulk label { margin-right: auto; font-weight: 700; cursor: pointer; }
.simple-bulk input { accent-color: #315d49; }
.simple-bulk .button { min-height: 34px; padding-inline: 12px; font-size: 11px; }
.simple-bulk button:disabled { opacity: .4; cursor: not-allowed; }
.simple-part-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.simple-part-card { min-width: 0; position: relative; overflow: hidden; background: #fff; border: 1px solid #deddd7; border-radius: 14px; transition: transform .15s ease, box-shadow .15s ease; }
.simple-part-card:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(29,36,31,.09); }
.simple-part-card > a { display: block; color: inherit; text-decoration: none; }
.simple-part-card.is-selected, .simple-part-card:has(.card-selector input:checked) {
  border-color: var(--green-2); box-shadow: 0 0 0 2px rgba(47,102,78,.18), 0 12px 30px rgba(29,36,31,.09);
}
.simple-part-card.is-selected .card-selector, .simple-part-card:has(.card-selector input:checked) .card-selector {
  color: #fff; background: var(--green-2); border-color: var(--green);
}
.simple-part-card.is-selected .simple-card-photo, .simple-part-card:has(.card-selector input:checked) .simple-card-photo { filter: saturate(.78); }
.simple-card-photo { height: 185px; display: grid; place-items: center; overflow: hidden; background: #e9e8e2; }
.simple-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.simple-card-photo > span { font-weight: 900; color: #8a8d88; }
.simple-card-body { padding: 16px; }
.simple-card-body > div:first-child, .simple-card-body footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.simple-card-body > div:first-child small { color: #929590; font-size: 10px; }
.simple-card-body h3 { min-height: 48px; margin: 12px 0 5px; font: 750 19px/1.25 system-ui,sans-serif; letter-spacing: -.02em; }
.simple-card-body p { margin: 0; color: #757873; font-size: 12px; }
.simple-card-body footer { margin-top: 17px; padding: 13px 0 0; color: #5f7569; border-top: 1px solid #eeede9; font-size: 11px; }
.simple-card-body footer strong { color: #243c31; }
.simple-part-card .card-selector { top: 10px; right: 10px; border-radius: 8px; }
.simple-empty { padding: 70px 20px; text-align: center; background: #fff; border: 1px solid #e1e0db; border-radius: 14px; }
.simple-empty > span { width: 45px; height: 45px; margin: auto; display: grid; place-items: center; color: #3e735a; background: #e5efe9; border-radius: 50%; }
.simple-empty h2 { margin: 16px 0 6px; font: 750 22px/1.2 system-ui,sans-serif; }
.simple-empty p { margin: 0 0 12px; color: #747873; }

/* Two-input capture */
.capture-simple-head { width: min(760px,100%); margin: 55px auto 25px; text-align: center; }
.capture-simple-head .back-link { position: absolute; left: max(20px,calc((100vw - 1120px)/2)); }
.capture-simple-head h1 { margin: 10px 0 12px; font: 780 clamp(42px,7vw,70px)/.97 system-ui,sans-serif; letter-spacing: -.065em; }
.capture-simple-head p { max-width: 610px; margin: auto; color: #6e736e; font-size: 16px; line-height: 1.55; }
.capture-simple { width: min(760px,100%); margin: 0 auto; padding: 30px; background: #fff; border: 1px solid #dfded8; border-radius: 18px; box-shadow: 0 18px 50px rgba(30,35,31,.06); }
.capture-step { position: relative; padding-left: 54px; }
.capture-step + .capture-step { margin-top: 32px; padding-top: 31px; border-top: 1px solid #ecebe7; }
.capture-number { width: 34px; height: 34px; position: absolute; left: 0; top: 0; display: grid; place-items: center; color: #fff; background: #2f493d; border-radius: 50%; font-size: 13px; font-weight: 800; }
.capture-step h2 { margin: 0 0 3px; font: 750 22px/1.2 system-ui,sans-serif; }
.capture-step > div > p { margin: 0 0 15px; color: #7a7d78; font-size: 13px; }
.simple-upload { min-height: 170px; border: 2px dashed #cdd7d0; border-radius: 13px; background: #f7faf8; }
.simple-upload:hover { border-color: #567a68; background: #f2f7f4; }
.simple-upload .camera { width: 42px; height: 42px; color: #315444; background: #dfece5; border-radius: 50%; }
.zip-option { margin-top: 10px; color: #657069; font-size: 12px; }
.zip-option summary { cursor: pointer; font-weight: 700; }
.zip-option div { margin-top: 10px; padding: 12px; background: #f4f4f1; border-radius: 9px; }
.zip-option small { display: block; margin-top: 6px; }
.capture-hint-field textarea { min-height: 135px; padding: 17px; font-size: 16px; line-height: 1.5; }
.capture-options { margin-top: 28px; border: 1px solid #e1e0da; border-radius: 12px; }
.capture-options summary, .advanced-fields summary { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; cursor: pointer; list-style: none; }
.capture-options summary strong, .capture-options summary small, .advanced-fields summary strong, .advanced-fields summary small { display: block; }
.capture-options summary small, .advanced-fields summary small { margin-top: 3px; color: #858883; font-size: 10px; }
.capture-options > .form-grid { padding: 18px; border-top: 1px solid #e7e6e1; }
.capture-submit { margin-top: 24px; display: flex; align-items: center; justify-content: flex-end; gap: 18px; }

/* Guided detail */
.guided-head { min-height: 42px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.guided-head .back-link { margin: 0; }
.guided-head > .status { justify-self: end; }
.guided-progress { display: flex; align-items: center; gap: 8px; color: #a1a39f; font-size: 10px; font-weight: 750; }
.guided-progress span { display: flex; align-items: center; gap: 5px; }
.guided-progress b { width: 22px; height: 22px; display: grid; place-items: center; border: 1px solid #cfd0cc; border-radius: 50%; }
.guided-progress i { width: 36px; height: 1px; background: #d5d6d2; }
.guided-progress .done, .guided-progress .current { color: #315847; }
.guided-progress .done b { color: #fff; background: #315847; border-color: #315847; }
.guided-progress .current b { border: 2px solid #315847; }
.guided-title { margin: 36px 0 22px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.guided-title small { color: #888c87; font-weight: 700; }
.guided-title h1 { max-width: 850px; margin: 4px 0 0; font: 780 clamp(32px,5vw,54px)/1.04 system-ui,sans-serif; letter-spacing: -.055em; }
.guided-hero { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.75fr); gap: 18px; align-items: stretch; }
.guided-gallery { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dddcd6; border-radius: 15px; }
.guided-gallery .main-part-image { height: 510px; }
.guided-gallery .thumbnail-strip { border-top: 1px solid #ecebe6; }
.next-step-card { padding: 28px; background: #fff; border: 1px solid #dddcd6; border-radius: 15px; }
.step-icon { width: 40px; height: 40px; margin-bottom: 22px; display: grid; place-items: center; color: #fff; background: #315847; border-radius: 50%; font-weight: 850; }
.step-icon.success { background: #377357; }.step-icon.locked { background: #7a7d79; }
.next-step-card > small { color: #698075; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.next-step-card h2 { margin: 7px 0 8px; font: 760 25px/1.1 system-ui,sans-serif; letter-spacing: -.03em; }
.next-step-card > p { margin: 0 0 20px; color: #737772; font-size: 13px; line-height: 1.55; }
.next-step-card > form { margin-top: 10px; }
.next-step-card .button { width: 100%; }
.quick-facts { margin: 25px 0 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #ecebe7; }
.quick-facts div { padding: 13px 5px 9px 0; border-bottom: 1px solid #ecebe7; }
.quick-facts dt { color: #929590; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.quick-facts dd { margin: 4px 0 0; font-size: 11px; font-weight: 750; }
.compact-questions, .technical-details { margin-top: 12px; color: #6e726d; font-size: 11px; }
.compact-questions summary, .technical-details summary { cursor: pointer; font-weight: 750; }
.compact-questions ul { padding-left: 18px; line-height: 1.5; }
.guided-review, .final-package, .finish-listing { margin-top: 24px; padding: 30px; background: #fff; border: 1px solid #dddcd6; border-radius: 15px; }
.guided-review > header, .final-package > header, .finish-listing { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.guided-review > header small, .final-package > header small, .finish-listing small { color: #5d776a; font-weight: 800; }
.guided-review > header h2, .final-package > header h2, .finish-listing h2 { margin: 4px 0; font: 760 30px/1.1 system-ui,sans-serif; letter-spacing: -.035em; }
.guided-review > header p, .final-package > header p, .finish-listing p { margin: 0; color: #787b77; font-size: 12px; }
.guided-review > header > span { padding: 6px 9px; color: #426451; background: #e5efe9; border-radius: 99px; font-size: 9px; font-weight: 800; }
.review-block { margin-top: 28px; padding-top: 25px; border-top: 1px solid #ebeae5; }
.review-block h3 { margin: 0 0 15px; font: 750 18px/1.2 system-ui,sans-serif; }
.ebay-draft-block { display: grid; gap: 14px; }
.ebay-draft-block textarea { min-height: 320px; }
.guided-review .advanced-fields { margin-top: 22px; border: 1px solid #e1e0db; border-radius: 11px; }
.guided-review .advanced-fields-body { padding: 19px; border-top: 1px solid #e7e6e1; }
.ai-check-details { margin-top: 12px; color: #65706a; font-size: 11px; }
.ai-check-details summary { padding: 8px 0; cursor: pointer; font-weight: 750; }
.ai-check-details ul { line-height: 1.55; }
.guided-review > footer { margin: 28px -30px -30px; padding: 18px 30px; display: flex; justify-content: flex-end; gap: 10px; background: #f2f2ee; border-radius: 0 0 15px 15px; }
.final-package > header > div:last-child { display: flex; gap: 8px; }
.final-package-actions { flex-wrap: wrap; justify-content: flex-end; }
.final-title, .final-description, .final-key-values article, .final-specifics, .final-photo-card { border: 1px solid #e0dfda; border-radius: 11px; }
.final-title { margin-top: 25px; padding: 19px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.final-title small, .final-title strong { display: block; }
.final-title small, .final-content-grid small { margin-bottom: 5px; color: #80847f; font-size: 9px; text-transform: uppercase; }
.final-title strong { font-size: 20px; }
.copy-button { padding: 8px 10px; flex: none; color: #315847; background: #fff; border: 1px solid #cfd5d1; border-radius: 8px; cursor: pointer; font-size: 11px; font-weight: 750; text-decoration: none; }
.final-content-grid { margin-top: 12px; display: grid; grid-template-columns: minmax(0,1.65fr) minmax(290px,.85fr); gap: 12px; align-items: start; }
.final-description { padding: 22px; }
.final-card-head { display: flex; align-items: center; justify-content: space-between; }
.final-card-head > div small, .final-card-head > div strong { display: block; }
.final-description pre { margin: 20px 0 0; overflow: visible; white-space: pre-wrap; font: 13px/1.7 system-ui,sans-serif; }
.final-sidebar { display: grid; gap: 12px; }
.final-key-values { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.final-key-values article { min-height: 94px; padding: 17px; display: flex; flex-direction: column; justify-content: center; }
.final-key-values strong { font-size: 19px; line-height: 1.2; }
.final-specifics, .final-photo-card { padding: 17px; }
.final-specifics dl { margin: 17px 0 0; display: grid; gap: 0; font-size: 10px; }
.final-specifics dl div { padding: 9px 0; display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 10px; border-top: 1px solid #ecebe7; }
.final-specifics dt { color: #8a8d89; }.final-specifics dd { margin: 0; font-weight: 750; line-height: 1.35; }
.final-photo-card .final-card-head a { color: #315847; font-size: 10px; font-weight: 750; text-decoration: none; }
.final-photos { margin-top: 15px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.final-photos button, .photo-tools article > button { width: 100%; height: 76px; padding: 0; position: relative; overflow: hidden; background: #eee; border: 0; border-radius: 8px; cursor: pointer; }
.final-photos img, .photo-tools img { width: 100%; height: 100%; object-fit: cover; }
.final-photos span { position: absolute; right: 5px; bottom: 5px; padding: 3px 5px; color: #fff; background: rgba(0,0,0,.65); border-radius: 4px; font-size: 8px; }
.finish-listing form { min-width: 55%; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 8px; }
.photo-tools, .danger-zone-simple { margin: 18px 0; color: #717570; font-size: 11px; }
.photo-tools summary, .danger-zone-simple summary { cursor: pointer; font-weight: 750; }
.photo-tools > div { margin-top: 10px; display: flex; gap: 8px; }
.photo-tools article form button, .danger-zone-simple a { color: #9b4c45; background: none; border: 0; font-size: 10px; cursor: pointer; }

@media (max-width: 900px) {
  .simple-part-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .guided-hero { grid-template-columns: 1fr; }
  .guided-gallery .main-part-image { height: min(62vw,510px); }
  .finish-listing { align-items: stretch; flex-direction: column; }
  .finish-listing form { min-width: 0; }
  .final-content-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .shell { width: min(100% - 24px,1120px); margin-top: 18px; }
  .topbar { padding-inline: 12px; }
  .brand small, .team-link { display: none; }
  .simple-dashboard-head { align-items: stretch; flex-direction: column; padding-top: 15px; }
  .simple-dashboard-head .button { align-self: flex-start; }
  .simple-list-head { align-items: stretch; flex-direction: column; }
  .simple-search { width: 100%; }
  .simple-part-grid { grid-template-columns: 1fr; }
  .simple-bulk { flex-wrap: wrap; }
  .simple-bulk label { width: 100%; }
  .capture-simple-head { margin-top: 30px; text-align: left; }
  .capture-simple-head .back-link { position: static; }
  .capture-simple { padding: 20px; }
  .capture-step { padding-left: 0; padding-top: 46px; }
  .capture-step + .capture-step { padding-top: 72px; }
  .capture-number { top: 0; }
  .capture-submit { align-items: stretch; flex-direction: column; }
  .guided-head { grid-template-columns: 1fr auto; }
  .guided-progress { grid-column: 1 / -1; grid-row: 2; justify-content: center; order: 3; }
  .guided-title { margin-top: 22px; align-items: start; flex-direction: column; }
  .guided-gallery .main-part-image { height: 72vw; }
  .next-step-card, .guided-review, .final-package, .finish-listing { padding: 21px; }
  .guided-review > header, .final-package > header { align-items: flex-start; flex-direction: column; }
  .guided-review > footer { margin: 23px -21px -21px; padding: 15px 21px; align-items: stretch; flex-direction: column-reverse; }
  .final-package > header > div:last-child { width: 100%; flex-direction: column; }
  .final-title { align-items: flex-start; flex-direction: column; }
  .final-key-values { grid-template-columns: 1fr; }
  .finish-listing form { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .field.span-2 { grid-column: auto; }
}

/* Unified appearance and persistent light / dark / system themes */
:root {
  color-scheme: light;
  --tp-bg: #f5f4f0;
  --tp-surface: #ffffff;
  --tp-surface-soft: #f0efea;
  --tp-surface-muted: #e9e8e2;
  --tp-text: #20231f;
  --tp-muted: #70746f;
  --tp-faint: #8a8e89;
  --tp-line: #deddd7;
  --tp-line-strong: #cfcec7;
  --tp-accent: #315847;
  --tp-accent-strong: #203e31;
  --tp-accent-soft: #e5efe9;
  --tp-danger-soft: #f7e7e4;
  --tp-shadow: 0 18px 50px rgba(30,35,31,.07);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --tp-bg: #171a18;
  --tp-surface: #202421;
  --tp-surface-soft: #272c29;
  --tp-surface-muted: #2d322f;
  --tp-text: #eef1ed;
  --tp-muted: #abb2ac;
  --tp-faint: #8f9891;
  --tp-line: #343a36;
  --tp-line-strong: #465048;
  --tp-accent: #78ad91;
  --tp-accent-strong: #9ac4ad;
  --tp-accent-soft: #293d33;
  --tp-danger-soft: #422c29;
  --tp-shadow: 0 18px 50px rgba(0,0,0,.22);
}
@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] {
    color-scheme: dark;
    --tp-bg: #171a18;
    --tp-surface: #202421;
    --tp-surface-soft: #272c29;
    --tp-surface-muted: #2d322f;
    --tp-text: #eef1ed;
    --tp-muted: #abb2ac;
    --tp-faint: #8f9891;
    --tp-line: #343a36;
    --tp-line-strong: #465048;
    --tp-accent: #78ad91;
    --tp-accent-strong: #9ac4ad;
    --tp-accent-soft: #293d33;
    --tp-danger-soft: #422c29;
    --tp-shadow: 0 18px 50px rgba(0,0,0,.22);
  }
}

body, .login-body { color: var(--tp-text); background: var(--tp-bg); }
.topbar, .login-topbar { background: color-mix(in srgb,var(--tp-surface) 94%,transparent); border-color: var(--tp-line); }
.brand { color: var(--tp-text); }
.brand small, footer, .login-footline { color: var(--tp-muted); }
.brand-mark { border: 0; color: #fff; background: #2b302c; border-radius: 10px; box-shadow: none; text-shadow: none; transform: none; }
.brand-mark::before, .brand-mark::after { display: none; }
.theme-switcher { padding: 3px; display: inline-flex; align-items: center; gap: 2px; background: var(--tp-surface-soft); border: 1px solid var(--tp-line); border-radius: 10px; }
.theme-switcher button { min-height: 30px; padding: 0 8px; display: inline-flex; align-items: center; gap: 5px; color: var(--tp-muted); background: transparent; border: 0; border-radius: 7px; cursor: pointer; font: 700 9px/1 system-ui,sans-serif; }
.theme-switcher button:hover { color: var(--tp-text); }
.theme-switcher button.active { color: var(--tp-text); background: var(--tp-surface); box-shadow: 0 1px 4px rgba(20,24,21,.12); }
.theme-switcher button span { width: 12px; text-align: center; font-size: 10px; }
.theme-switcher button b { font: inherit; }
.admin-link { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-line); border-radius: 9px; }
.logout-form button, .team-link { color: var(--tp-muted); border-color: var(--tp-line); border-radius: 9px; }
.logout-form button:hover { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-line-strong); }
.operator-switch { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-line); box-shadow: none; text-shadow: none; }
.operator-switch:hover { color: var(--tp-text); background: var(--tp-surface-muted); border-color: var(--tp-line-strong); }
.operator-switch:focus-visible { outline: 2px solid var(--tp-accent); outline-offset: 2px; }
.workspace-menu { position: relative; }
.workspace-menu > summary {
  width: 38px; height: 38px; display: grid; place-items: center; color: var(--tp-muted); background: transparent;
  border: 1px solid var(--tp-line); border-radius: 9px; cursor: pointer; list-style: none; font: 800 12px/1 system-ui,sans-serif;
}
.workspace-menu > summary::-webkit-details-marker { display: none; }
.workspace-menu > summary:hover, .workspace-menu[open] > summary { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-line-strong); }
.workspace-menu > summary:focus-visible { outline: 2px solid var(--tp-accent); outline-offset: 2px; }
.workspace-menu > div {
  width: 210px; padding: 14px; position: absolute; top: calc(100% + 9px); right: 0; z-index: 30; display: grid; gap: 7px;
  color: var(--tp-text); background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 12px; box-shadow: var(--tp-shadow);
}
.workspace-menu small { color: var(--tp-muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.workspace-menu strong { margin-bottom: 3px; font-size: 12px; }
.workspace-menu a { padding: 9px 10px; color: var(--tp-text); background: var(--tp-surface-soft); border-radius: 8px; font-size: 11px; font-weight: 700; text-decoration: none; }
.workspace-menu a:hover { background: var(--tp-surface-muted); }
.button { box-shadow: none; text-shadow: none; }
.button-primary { color: #fff; background: #263c32; border-color: #263c32; }
.button-primary:hover { background: #172d24; border-color: #172d24; }
.button-secondary, .button-light { color: var(--tp-text); background: var(--tp-surface); border-color: var(--tp-line-strong); }
.button-secondary:hover, .button-light:hover { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-accent); }
.eyebrow, .back-link { color: var(--tp-accent); }
.text-button, .zip-option, .compact-questions, .technical-details, .ai-check-details { color: var(--tp-muted); }
.text-button:hover, .zip-option summary:hover { color: var(--tp-text); }

.panel, .capture-simple, .guided-gallery, .next-step-card, .guided-review, .final-package,
.finish-listing, .simple-part-card, .simple-empty, .part-card, .stats, .login-card,
.analysis-summary, .review-form, .copy-panel, .photo-management-panel, .delete-confirmation {
  color: var(--tp-text); background: var(--tp-surface); background-image: none; border-color: var(--tp-line); box-shadow: var(--tp-shadow);
}
.stage-tabs, .simple-bulk, .capture-options, .advanced-fields, .readonly-field,
.guided-review > footer, .zip-option div { color: var(--tp-text); background: var(--tp-surface-soft); border-color: var(--tp-line); }
.stage-tabs a { color: var(--tp-muted); }
.stage-tabs a span { color: var(--tp-text); }
.stage-tabs a.active { color: var(--tp-text); background: var(--tp-surface); }
.simple-search, .search-field, .simple-upload, .upload-zone { color: var(--tp-text); background: var(--tp-surface); border-color: var(--tp-line-strong); }
.simple-search input, .search-field input { color: var(--tp-text); }
.simple-search button, .search-field span { color: var(--tp-accent); }
.simple-card-photo, .photo-placeholder, .final-photos button, .photo-tools article > button { background: var(--tp-surface-muted); }
.card-selector { color: transparent; background: var(--tp-surface); border-color: var(--tp-line-strong); box-shadow: 0 3px 10px color-mix(in srgb,#000 18%,transparent); }
.card-selector:focus-within { outline: 2px solid var(--tp-accent); outline-offset: 2px; }
.simple-part-card.is-selected, .simple-part-card:has(.card-selector input:checked) {
  border-color: var(--tp-accent); box-shadow: 0 0 0 2px color-mix(in srgb,var(--tp-accent) 24%,transparent), var(--tp-shadow);
}
.simple-part-card.is-selected .card-selector, .simple-part-card:has(.card-selector input:checked) .card-selector {
  color: var(--tp-surface); background: var(--tp-accent-strong); border-color: var(--tp-accent-strong);
}
.simple-card-body footer, .simple-card-body footer strong, .card-footer strong { color: var(--tp-accent-strong); }
.simple-dashboard-head p, .simple-list-head span, .simple-card-body p, .capture-simple-head p,
.capture-step > div > p, .capture-options summary small, .advanced-fields summary small,
.guided-title small, .next-step-card > p, .guided-review > header p, .final-package > header p,
.finish-listing p, .photo-tools, .danger-zone-simple, .login-card-head p, .login-help,
.page-head p, .field small, .result-count { color: var(--tp-muted); }
.field input, .field select, .field textarea, .login-form input {
  color: var(--tp-text); background: var(--tp-surface); border-color: var(--tp-line-strong); border-radius: 9px;
}
.field input:focus, .field select:focus, .field textarea:focus, .login-form input:focus { border-color: var(--tp-accent); box-shadow: 0 0 0 3px color-mix(in srgb,var(--tp-accent) 17%,transparent); }
.copy-button { color: var(--tp-accent); background: var(--tp-surface); border-color: var(--tp-line-strong); }
.final-title, .final-description, .final-key-values article, .final-specifics, .final-photo-card,
.quick-facts, .guided-review .advanced-fields, .review-block, .final-specifics dl div {
  border-color: var(--tp-line);
}
.final-description pre { color: var(--tp-text); }
.status { background: var(--tp-surface-soft); color: var(--tp-text); }
.status-ready { color: #5ca77a; background: color-mix(in srgb,#397c55 22%,var(--tp-surface)); }
.status-review { color: #d0a955; background: color-mix(in srgb,#a57a27 20%,var(--tp-surface)); }
.status-error { color: #d9857d; background: color-mix(in srgb,#9a463e 22%,var(--tp-surface)); }
.message { color: #55a176; background: color-mix(in srgb,#397c55 18%,var(--tp-surface)); border-color: color-mix(in srgb,#397c55 48%,var(--tp-line)); }

/* Billing admin uses the same compact cards as the guided workspace. */
.admin-head { margin: 25px 0 28px; }
.admin-head h1 { margin: 6px 0 9px; font: 780 clamp(36px,5vw,54px)/1.02 system-ui,sans-serif; letter-spacing: -.05em; }
.admin-head p { color: var(--tp-muted); font-size: 13px; }
.admin-filter { margin-bottom: 14px; padding: 16px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-radius: 14px; box-shadow: none; }
.admin-kpis { gap: 12px; }
.admin-kpis article { padding: 20px; background: var(--tp-surface); border: 1px solid var(--tp-line); border-top: 1px solid var(--tp-line); border-radius: 14px; box-shadow: none; }
.admin-kpis article:nth-child(2), .admin-kpis article:nth-child(3), .admin-kpis article:nth-child(4) { border-top-color: var(--tp-line); }
.admin-kpis span { color: var(--tp-muted); font-size: 8px; }
.admin-kpis strong { margin: 8px 0 1px; font: 780 clamp(24px,2vw,30px)/1.08 system-ui,sans-serif; letter-spacing: -.035em; }
.admin-kpis small { color: var(--tp-faint); font-size: 9px; }
.admin-section { padding: 26px; border-radius: 15px; box-shadow: none; }
.admin-section-head h2 { margin: 5px 0 0; font: 760 27px/1.08 system-ui,sans-serif; letter-spacing: -.035em; }
.admin-section-head > small { color: var(--tp-muted); }
.account-usage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.account-usage-card { padding: 20px; background: var(--tp-surface-soft); border: 1px solid var(--tp-line); border-radius: 12px; }
.account-card-head strong { font: 750 18px/1.15 system-ui,sans-serif; }
.account-card-head small, .account-usage-numbers span { color: var(--tp-muted); }
.account-usage-numbers strong { font: 780 24px/1.1 system-ui,sans-serif; }
.account-meter { background: var(--tp-surface-muted); }
.account-meter span { background: var(--tp-accent); }
.account-usage-card dl { overflow: hidden; background: var(--tp-surface); border-color: var(--tp-line); border-radius: 9px; }
.account-usage-card dl div, .account-usage-card dl div:nth-child(odd) { border-color: var(--tp-line); }
.account-usage-card dt { color: var(--tp-muted); }
.woocommerce-state { color: var(--tp-muted); background: var(--tp-surface-muted); border-radius: 8px; }
.account-usage-card > a { color: var(--tp-accent); }
.usage-table-wrap { overflow: hidden; overflow-x: auto; border-color: var(--tp-line); border-radius: 11px; }
.usage-table { color: var(--tp-text); background: var(--tp-surface); }
.usage-table th { color: var(--tp-muted); background: var(--tp-surface-soft); border-color: var(--tp-line); }
.usage-table td { border-color: var(--tp-line); }
.usage-table td small, .usage-empty { color: var(--tp-muted); }
.diagnostic-link { min-width: max-content; display: inline-block; color: var(--tp-accent); font-size: 10px; font-weight: 800; text-decoration: none; }
.diagnostic-link:hover { color: var(--tp-accent-strong); text-decoration: underline; }

/* Isolated, read-only support view reached only from one usage record. */
.support-head { margin: 24px 0 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.support-head .back-link { margin-bottom: 24px; }
.support-head h1 { margin: 5px 0 7px; font: 780 clamp(32px,5vw,52px)/1.02 system-ui,sans-serif; letter-spacing: -.05em; }
.support-head p { max-width: 700px; margin: 0; color: var(--tp-muted); font-size: 13px; }
.support-run-grid { margin-bottom: 14px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.support-card { padding: 18px; display: grid; gap: 5px; box-shadow: none; }
.support-card small, .support-copy > small { color: var(--tp-muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.support-card strong { overflow-wrap: anywhere; font: 760 18px/1.15 system-ui,sans-serif; }
.support-card span { color: var(--tp-muted); font-size: 10px; }
.support-error { margin-bottom: 14px; padding: 18px; color: #d9857d; background: var(--tp-danger-soft); box-shadow: none; }
.support-error small { font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.support-error p { margin: 7px 0 0; color: var(--tp-text); overflow-wrap: anywhere; }
.support-part-layout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 14px; align-items: start; }
.support-part-card { padding: 24px; box-shadow: none; }
.support-part-card > header, .support-photo-card > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.support-part-card h2 { margin: 4px 0 0; font: 760 24px/1.1 system-ui,sans-serif; }
.support-specifics { margin: 22px 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--tp-line); border-radius: 10px; overflow: hidden; }
.support-specifics div { padding: 13px; border-bottom: 1px solid var(--tp-line); }
.support-specifics div:nth-child(odd) { border-right: 1px solid var(--tp-line); }
.support-specifics div:nth-last-child(-n+2) { border-bottom: 0; }
.support-specifics dt { color: var(--tp-muted); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.support-specifics dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: 12px; font-weight: 700; }
.support-copy { padding: 16px 0; border-top: 1px solid var(--tp-line); }
.support-copy p { margin: 7px 0 0; line-height: 1.55; }
.support-copy pre { max-height: 440px; margin: 8px 0 0; padding: 15px; overflow: auto; white-space: pre-wrap; color: var(--tp-text); background: var(--tp-surface-soft); border-radius: 9px; font: 12px/1.55 system-ui,sans-serif; }
.support-side { display: grid; gap: 14px; }
.support-photo-card, .support-list, .support-technical, .support-deleted { padding: 19px; box-shadow: none; }
.support-photo-card > header strong { font-size: 11px; }
.support-photo-card > div { margin-top: 13px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.support-photo-card button { aspect-ratio: 1; padding: 0; position: relative; overflow: hidden; background: var(--tp-surface-muted); border: 0; border-radius: 8px; cursor: pointer; }
.support-photo-card img { width: 100%; height: 100%; object-fit: cover; }
.support-photo-card button span { padding: 2px 4px; position: absolute; right: 3px; bottom: 3px; color: #fff; background: rgba(20,23,20,.72); border-radius: 4px; font-size: 8px; }
.support-list ul { margin: 12px 0 0; padding-left: 17px; color: var(--tp-muted); font-size: 11px; line-height: 1.5; }
.support-technical summary { color: var(--tp-text); cursor: pointer; font-size: 11px; font-weight: 800; }
.support-technical pre { max-height: 420px; margin: 14px 0 0; overflow: auto; white-space: pre-wrap; color: var(--tp-muted); font: 10px/1.5 ui-monospace,monospace; }
.support-deleted { text-align: center; }
.support-deleted h2 { margin: 8px 0; }
.support-deleted p { color: var(--tp-muted); }

@media (max-width: 1100px) {
  .account-usage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .support-run-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .support-part-layout { grid-template-columns: 1fr; }
  .theme-switcher button b { display: none; }
  .theme-switcher button { width: 29px; padding: 0; justify-content: center; }
}
@media (max-width: 760px) {
  .customer-usage { grid-template-columns: 1fr; gap: 12px; }
  .customer-usage-action .button { width: 100%; }
  .support-head { align-items: flex-start; flex-direction: column; }
  .support-run-grid { grid-template-columns: 1fr; }
  .support-specifics { grid-template-columns: 1fr; }
  .support-specifics div, .support-specifics div:nth-child(odd), .support-specifics div:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--tp-line); }
  .support-specifics div:last-child { border-bottom: 0; }
  .account-usage-grid { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .theme-switcher { order: -1; }
  .topbar-actions { gap: 5px; }
  .login-topbar .theme-switcher button b { display: none; }
}
