:root {
  color-scheme: light;
  --ink: #171a1f;
  --muted: #5b6470;
  --line: #d7dde4;
  --surface: #f3f5f7;
  --panel: #ffffff;
  --nav: #151f26;
  --accent: #0f766e;
  --accent-soft: #e7f5f2;
  --warn: #a34111;
  --locked: #3f4652;
}

/* Persistente Admin-Steuerzentrale */
.admin-control-head,.admin-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.admin-control-head{padding:1.5rem 0 1rem}.admin-control-head h1,.admin-page-head h2{margin:.15rem 0}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700;color:#52606d}.admin-control-nav{display:flex;gap:.45rem;overflow-x:auto;padding:.25rem 0 1rem;border-bottom:1px solid #d9e2ec}.admin-control-nav a{white-space:nowrap;padding:.65rem .8rem;border-radius:.55rem;color:#334e68;text-decoration:none;font-weight:650}.admin-control-nav a[aria-current="page"]{background:#0b6bcb;color:#fff}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-card{margin:1rem 0;padding:1rem;border:1px solid #d9e2ec;border-radius:.75rem;background:#fff;box-shadow:0 1px 2px rgb(16 42 67 / 5%)}.admin-card.wide{grid-column:1/-1}.admin-card.error{border-color:#c0392b}.admin-facts{margin:0}.admin-facts>div{display:grid;grid-template-columns:minmax(10rem,1fr) 2fr;gap:.8rem;padding:.55rem 0;border-bottom:1px solid #eef2f6}.admin-facts dt{font-weight:650}.admin-facts dd{margin:0;overflow-wrap:anywhere}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-form-grid label{display:flex;flex-direction:column;gap:.4rem;font-weight:650}.admin-form-grid input,.admin-form-grid select,.admin-filters input,.admin-filters select{width:100%;min-height:2.6rem;padding:.55rem .7rem;border:1px solid #9fb3c8;border-radius:.45rem;background:#fff}.admin-form-grid label:has(input[type="checkbox"]){flex-direction:row;align-items:center}.admin-form-grid input[type="checkbox"]{width:auto;min-height:auto}.admin-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.5rem}.admin-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.7rem;margin:1rem 0}.admin-list{display:grid;gap:.65rem}.admin-list-row{display:grid;grid-template-columns:minmax(12rem,2fr) auto minmax(10rem,1fr) auto;gap:1rem;align-items:center;padding:.9rem 1rem;border:1px solid #d9e2ec;border-radius:.65rem;background:#fff}.admin-list-row>div:first-child{display:flex;flex-direction:column}.admin-list-row small{margin-top:.2rem;color:#627d98}.admin-list-row.approval{grid-template-columns:minmax(16rem,2fr) auto auto}.admin-status{display:inline-flex;padding:.25rem .5rem;border-radius:99px;font-size:.8rem;font-weight:700}.admin-status.ok{background:#d9f2e6;color:#14532d}.admin-status.locked{background:#fff1d6;color:#7a3e00}.admin-notice{margin:1rem 0;padding:.8rem 1rem;border-radius:.55rem;background:#d9f2e6;color:#14532d}.admin-notice.error{background:#fee2e2;color:#991b1b}.admin-loading{padding:2rem;text-align:center;color:#52606d}.admin-log-row{border:1px solid #d9e2ec;border-radius:.55rem;background:#fff}.admin-log-row summary{display:grid;grid-template-columns:12rem 1.5fr 1fr 1fr;gap:1rem;padding:.8rem;cursor:pointer}.admin-log-row pre{margin:0;padding:1rem;overflow:auto;background:#f5f7fa}.admin-login-page{min-height:100vh;display:grid;place-items:center;margin:0;padding:1.25rem;background:#f0f4f8;color:#102a43;font-family:system-ui,sans-serif}.admin-login-card{width:min(28rem,100%);padding:2rem;border-radius:1rem;background:#fff;box-shadow:0 1rem 3rem rgb(16 42 67 / 15%)}.admin-login-card form{display:grid;gap:1rem}.admin-login-card label{display:grid;gap:.35rem;font-weight:650}.admin-login-card input{min-height:2.8rem;padding:.6rem;border:1px solid #9fb3c8;border-radius:.45rem}.admin-login-foot{font-size:.8rem;color:#627d98}
.admin-control-nav{flex-wrap:wrap;overflow-x:visible}
.admin-control-nav{max-height:12rem;overflow-y:auto;scrollbar-gutter:stable}.admin-form-grid textarea{width:100%;resize:vertical;padding:.65rem;border:1px solid #9fb3c8;border-radius:.45rem}.admin-compact .admin-card,.admin-compact .admin-list-row{padding:.55rem!important;margin:.4rem 0}.admin-compact .admin-control-nav{gap:.2rem}.admin-reduced-motion *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}.admin-control-nav a:focus-visible,.admin-form-grid :focus-visible,.admin-list-row :focus-visible{outline:3px solid #2563eb;outline-offset:2px}
@media(max-width:1100px){.admin-grid,.admin-form-grid{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr 1fr}.admin-list-row,.admin-list-row.approval{grid-template-columns:minmax(0,1fr) auto}.admin-list-row>span:nth-of-type(2){grid-column:1/-1}.admin-log-row summary{grid-template-columns:10rem 1fr}.admin-log-row summary span{display:none}}
@media(max-width:700px){.admin-control-head,.admin-page-head{flex-direction:column}.admin-filters{grid-template-columns:1fr}.admin-list-row,.admin-list-row.approval{grid-template-columns:1fr}.admin-facts>div{grid-template-columns:1fr}.admin-control-nav{margin-inline:-.75rem;padding-inline:.75rem}}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:.6rem 0 1rem}.permission-grid label{overflow-wrap:anywhere}.admin-account-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem}
#admin [hidden],.admin-login-page [hidden]{display:none!important}
@media(max-width:700px){.permission-grid{grid-template-columns:1fr}}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.42;
}

.admin-shell {
  display: grid;
  grid-template-columns: minmax(236px, 286px) minmax(0, 1fr);
  min-height: 100vh;
  isolation: isolate;
}

.main-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  height: 100vh;
  padding: 24px 18px;
  overflow-y: auto;
  background: var(--nav);
  color: #f6faf8;
}

.main-nav h1 {
  margin: 6px 0 8px;
  font-size: 1.55rem;
  line-height: 1.12;
}

.main-nav p {
  margin: 0 0 18px;
  color: #b8c5c1;
}

.main-nav nav {
  display: grid;
  gap: 6px;
}

.main-nav .sidebar-nav-link,
.main-nav .sidebar-nav-link:link,
.main-nav .sidebar-nav-link:visited {
  display: flex;
  width: 100%;
  min-height: 34px;
  align-items: center;
  justify-content: flex-start;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #e6eeeb;
  font: inherit;
  font-weight: 780;
  text-decoration: none;
  pointer-events: auto;
}

.main-nav .sidebar-nav-link:hover,
.main-nav .sidebar-nav-link[aria-current="page"] {
  background: #27413f;
}

.main-nav .sidebar-nav-link:focus-visible {
  outline: 3px solid rgba(231, 245, 242, 0.8);
  outline-offset: 2px;
}

.workspace {
  position: relative;
  z-index: 0;
  min-width: 0;
  padding: 18px;
}

.topbar,
.context-strip,
.dashboard-view,
.review-main,
.review-side {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 16px;
}

.topbar h2,
.section-head h2,
.review-side h3,
.review-main h3 {
  margin: 0;
  letter-spacing: 0;
}

.topbar h2 {
  font-size: 1.5rem;
}

p {
  margin: 6px 0 0;
  color: var(--muted);
}

.eyebrow {
  margin: 0;
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.status-row,
.button-row,
.lock-strip,
.subnav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.badge,
.status-row span,
.lock-strip span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #eef2f6;
  color: var(--locked);
  font-size: 0.81rem;
  font-weight: 780;
}

.badge.ok,
.status-row span:first-child {
  border-color: #9acfc6;
  background: var(--accent-soft);
  color: #0b5751;
}

.badge.locked {
  background: #f5f6f8;
  color: var(--locked);
}

.context-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
  padding: 12px 16px;
}

.context-strip span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.context-strip strong {
  overflow-wrap: anywhere;
}

.work-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.work-summary article,
.area-grid article,
.sub-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f9fbfc;
  padding: 12px;
}

.work-summary span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.work-summary strong {
  display: block;
  margin-top: 4px;
  font-size: 1.2rem;
}

.area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 10px;
  margin: 0 0 14px;
}

.area-grid article {
  min-height: 76px;
}

/* R4: kompakte, vergleichbare Tabellen statt fließender Produkt-Buttonreihen. */
.r4-product-table-wrap, .selected-product-list, [data-package-palette-host] { overflow-x: auto; max-width: 100%; }
.r43-profile-form { position: relative; display: flex; flex-direction: column; padding-bottom: 24px; }
.r43-meta-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; width: 100%; }
.r43-meta-grid label { display: flex !important; flex-direction: column !important; align-items: stretch !important; gap: 5px; min-width: 0; line-height: 1.25; }
.r43-meta-grid label:nth-child(5) { grid-column: 1 / -1; }
.r43-meta-grid input, .r43-meta-grid select, .r43-meta-grid textarea { width: 100%; min-width: 0; box-sizing: border-box; }
.r43-palette-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: end; }
.r43-scope-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0 8px; }
.r43-scope-tabs [aria-selected="true"] { background: #d8f1ed; border-color: #158f83; color: #126d65; }
.r43-scope-panel { border: 1px solid #d8e1e7; border-radius: 8px; padding: 10px; margin: 8px 0; }
.r43-scope-panel[hidden] { display: none; }
.r43-scope-panel h5 { margin: 0 0 8px; }
.r43-position-table input { max-width: 110px; }
.r43-position-table .negative-margin { background: #fff0f0; color: #9d1c1c; }
.r43-empty { color: #687582; margin: 8px 0; }
.r43-palette-row { display: flex; justify-content: space-between; gap: 10px; align-items: center; border-bottom: 1px solid #e5ebef; padding: 7px 0; }
.r43-palette-table { min-width: 1380px; }
.r43-palette-table td:first-child { min-width: 270px; max-width: 360px; white-space: normal; font-weight: 700; line-height: 1.3; }
.r43-profile-form fieldset { min-width: 0; width: 100%; max-width: 100%; overflow: hidden; box-sizing: border-box; }
.r43-profile-form fieldset > div { min-width: 0; max-width: 100%; box-sizing: border-box; }
.r43-palette-table thead th { position: sticky; top: 0; z-index: 2; background: #f5f8fa; }
.r43-profile-form [data-palette] { max-width: 100%; overflow: auto; max-height: 62vh; }
.r43-scope-panel [data-scope-rows] { width: 100%; max-width: 100%; overflow-x: auto; }
.r43-scope-panel [data-scope-rows] table { min-width: 1800px; }
.r43-position-table .field-error { color: #9d1c1c; font-size: 0.82rem; min-width: 180px; }
.r43-savebar { order: -1; position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 12px; margin: -12px -12px 14px; background: rgba(255,255,255,.98); border-bottom: 2px solid #158f83; box-shadow: 0 4px 12px rgba(20,40,50,.12); }
.r43-savebar [data-dirty] { font-weight: 700; color: #53616d; }
.r43-savebar [data-dirty].is-dirty { color: #a65c00; }
.r43-savebar button:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 900px) { .r43-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .r43-meta-grid { grid-template-columns: 1fr; } .r43-meta-grid label:nth-child(5) { grid-column: auto; } .r43-savebar { align-items: stretch; } .r43-savebar button { flex: 1 1 45%; } .r43-palette-row { align-items: flex-start; flex-direction: column; } }
.r4-product-table { width: 100%; min-width: 1180px; border-collapse: separate; border-spacing: 0; background: #fff; }
.r4-product-table th { position: sticky; top: 0; z-index: 1; background: #eef3f5; color: #39444e; font-size: .76rem; white-space: nowrap; text-align: left; }
.r4-product-table th, .r4-product-table td { padding: 7px 9px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.r4-product-table td { font-size: .82rem; white-space: nowrap; }
.r4-product-table tr:hover td { background: #f7fbfa; }
.package-delete-dialog .danger-text { color: #a12626; font-weight: 700; }
.package-delete-dialog .form-actions { display: flex; gap: 8px; justify-content: flex-end; }
.package-delete-dialog button.danger, #packageRows button.compact-action.danger { background: #b42318; color: #fff; border-color: #b42318; }
#packageRows td:last-child { white-space: nowrap; }
.product-name-cell { min-width: 220px; max-width: 280px; white-space: normal !important; font-weight: 700; }
.compact-action { min-height: 28px; padding: 4px 8px; border-radius: 5px; white-space: nowrap; font-size: .76rem; }
.compact-action.primary { border-color: #82c7bd; background: #e7f5f2; color: #0b5751; }
.compact-action.danger { border-color: #e2a7a7; background: #fff0f0; color: #9b2626; }
.link-action { padding: 0; border: 0; background: transparent; color: #0f766e; text-decoration: underline; white-space: nowrap; }
.status-selected { color: #0b5751; font-weight: 750; }
.status-available { color: #42505c; }
.status-conflict { color: #9b2626; font-weight: 750; }
.selected-products-table input[type="number"] { width: 82px; }
.selected-products-table input[type="checkbox"] { width: 18px; height: 18px; }
.package-part-row { display: flex; gap: 10px; align-items: center; padding: 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }
#r4ProductDetails { max-width: min(760px, 90vw); border: 1px solid var(--line); border-radius: 8px; padding: 18px; }
#r4ProductDetails dl { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(220px, 1fr); gap: 6px 14px; }
#r4ProductDetails dt { color: var(--muted); font-weight: 700; }
#r4ProductDetails dd { margin: 0; }
@media (max-width: 900px) { .workspace { padding: 10px; } .context-strip, .work-summary { grid-template-columns: 1fr 1fr; } .r4-product-table { min-width: 1080px; } }
@media (max-width: 640px) { .context-strip, .work-summary { grid-template-columns: 1fr; } .r4-product-table th, .r4-product-table td { padding: 6px; } }

.area-grid strong {
  display: block;
  margin-bottom: 6px;
}

.area-grid span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.workflow-panel {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.workflow-steps {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  list-style: none;
}

.workflow-steps li {
  min-height: 72px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.workflow-steps strong,
.workflow-steps span {
  display: block;
}

.workflow-steps span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 760;
}

.workflow-steps .done {
  border-color: #9acfc6;
  background: var(--accent-soft);
}

.workflow-steps .ready {
  border-color: #b9c7dd;
  background: #f3f7ff;
}

.workflow-steps .locked {
  background: #f5f6f8;
}

.workflow-actions {
  margin-bottom: 12px;
}

.workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.workflow-grid section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.workflow-grid h4 {
  margin: 0 0 8px;
}

.csv-panel {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.csv-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.csv-grid section {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.csv-grid h4 {
  margin: 0 0 8px;
}

.csv-correction-panel {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.focus-hint {
  margin: 10px 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--muted);
  font-weight: 700;
}

.file-picker {
  display: inline-grid;
  gap: 4px;
  min-height: 36px;
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--locked);
  font-size: 0.81rem;
  font-weight: 780;
}

.file-picker input {
  max-width: 230px;
  font: inherit;
}

.form-panel {
  margin: 0 0 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.detail-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.detail-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f9fbfc;
}

.detail-form legend {
  padding: 0 4px;
  font-weight: 850;
}

.detail-form label {
  display: grid;
  gap: 5px;
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
}

.detail-form input,
.detail-form select,
.detail-form textarea {
  width: 100%;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.detail-form textarea {
  resize: vertical;
}

.detail-form input:focus,
.detail-form select:focus,
.detail-form textarea:focus {
  outline: 2px solid #9acfc6;
  outline-offset: 1px;
}

.check-row {
  grid-template-columns: auto 1fr;
  align-items: center;
}

.check-row input {
  width: 18px;
  min-height: 18px;
}

.notice {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #b9c7dd;
  border-radius: 6px;
  background: #f3f7ff;
  color: #34445d;
  font-weight: 720;
}

.form-errors {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
}

.form-errors p {
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #f0b18e;
  border-radius: 6px;
  background: #fff7f2;
  color: var(--warn);
  font-weight: 780;
}

.form-actions {
  margin: 12px 0;
}

.preview-panel {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfd;
}

.preview-panel h4 {
  margin: 0 0 10px;
}

.image-review-anchor {
  margin-top: 14px;
}

.dashboard-view {
  display: none;
  margin-top: 14px;
  padding: 16px;
}

.dashboard-view.active {
  display: block;
}

.section-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.section-head.compact {
  margin-bottom: 10px;
}

.review-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 760;
}

select {
  min-width: 230px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 7px 9px;
  background: #ffffff;
  color: var(--ink);
  font: inherit;
}

button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid #0f766e;
  border-radius: 6px;
  padding: 7px 10px;
  background: #0f766e;
  color: #ffffff;
  font: inherit;
  font-weight: 780;
  cursor: pointer;
}

button:disabled {
  border-color: #c5ccd4;
  background: #eef0f3;
  color: #6b7280;
  cursor: not-allowed;
}

.subnav {
  margin: 0 0 12px;
}

.subnav button {
  min-height: 32px;
  border-color: #cbd5df;
  background: #ffffff;
  color: var(--locked);
}

.subnav button.active,
.subnav button:focus,
.subnav button:hover {
  border-color: #0f766e;
  background: var(--accent-soft);
  color: #0b5751;
}

.subpage-view {
  margin: 0 0 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f9fbfc;
  padding: 12px;
}

.subpage-view h3 {
  margin: 0;
}

.subpage-view p {
  max-width: 860px;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin: 0;
}

.metric-grid div {
  min-height: 78px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px;
  background: #f9fbfc;
}

.metric-grid dt {
  color: var(--muted);
  font-size: 0.78rem;
}

.metric-grid dd {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  font-weight: 820;
}

.side-metrics {
  grid-template-columns: 1fr 1fr;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  min-width: 780px;
  border-collapse: collapse;
  font-size: 0.9rem;
}

th,
td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 0.77rem;
  text-transform: uppercase;
}

.row-error td {
  background: #fff1f2;
}

.row-warning td {
  background: #fffbeb;
}

.row-ok td {
  background: #f0fdf4;
}

.active-row td {
  outline: 2px solid #0f766e;
  outline-offset: -2px;
}

.active-cell {
  border-color: #0f766e;
  box-shadow: 0 0 0 2px rgba(15, 118, 110, 0.16);
}

.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.muted-action {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.review-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 360px);
  gap: 14px;
}

.review-main,
.review-side {
  padding: 14px;
}

.review-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.review-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  gap: 10px;
  max-height: 62vh;
  overflow: auto;
  padding-right: 4px;
}

.image-card {
  min-height: 136px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px;
  background: #fbfcfd;
}

.image-card.selected {
  border-color: #0f766e;
  background: #edf8f5;
}

.thumb {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border: 1px dashed #9fb0bb;
  border-radius: 6px;
  background:
    linear-gradient(135deg, #e2eaef 25%, transparent 25%) 0 0 / 18px 18px,
    linear-gradient(135deg, transparent 75%, #d2dde5 75%) 0 0 / 18px 18px,
    #f6f9fb;
  color: #40515e;
  font-weight: 850;
}

.image-card strong,
.image-card span {
  display: block;
  margin-top: 5px;
  overflow-wrap: anywhere;
}

.image-card span {
  color: var(--muted);
  font-size: 0.77rem;
}

.plain-list {
  display: grid;
  gap: 7px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.plain-list li {
  border-left: 4px solid var(--accent);
  border-radius: 6px;
  padding: 8px 10px;
  background: #f8fafb;
  color: #303841;
  font-size: 0.87rem;
  font-weight: 680;
}

.plain-list.locks li {
  border-left-color: var(--locked);
}

.task-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.task-list li {
  border: 1px solid var(--line);
  border-left: 4px solid var(--accent);
  border-radius: 8px;
  padding: 10px;
  background: #ffffff;
}

.task-list strong,
.task-list span {
  display: block;
}

.task-list span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.small-note {
  margin-top: 12px;
  font-weight: 720;
}

@media (max-width: 940px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .main-nav {
    position: relative;
    height: auto;
  }

  .main-nav nav {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  .context-strip,
  .work-summary,
  .review-layout {
    grid-template-columns: 1fr;
  }
}

.breadcrumbs { display:flex; gap:8px; align-items:center; margin-bottom:8px; color:var(--muted); font-size:.84rem; }
.breadcrumbs a, .button-link, .row-actions a, .order-tabs a, .photo-job-table a { color:#075f58; font-weight:760; text-decoration:none; }
.photo-toolbar { display:grid; grid-template-columns:minmax(280px,2fr) repeat(2,minmax(180px,1fr)); gap:12px; align-items:end; margin:14px 0; }
.photo-toolbar.has-context-filter { grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(175px,1fr)); }
.photo-toolbar label, .photo-job-form label, .wide-field { display:grid; gap:5px; color:var(--muted); font-size:.82rem; font-weight:760; }
.photo-toolbar input, .photo-toolbar select, .photo-job-form input, .photo-job-form select, .photo-job-form textarea, .wide-field textarea { width:100%; min-height:42px; padding:9px 11px; border:1px solid #bcc6d0; border-radius:6px; background:#fff; color:var(--ink); font:inherit; }
.photo-toolbar input, .photo-toolbar select { min-width:0; max-width:100%; box-sizing:border-box; }
.photo-number-filter-controls { display:grid; grid-template-columns:minmax(0,1fr) minmax(138px,.8fr); gap:6px; }
.photo-toolbar [hidden] { display:none; }
.photo-data-workspace,
.group-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; width:100%; max-width:100%; }
.photo-data-workspace > *,
.group-workspace > * { min-width:0; max-width:100%; }
.photo-data-workspace section,
.group-workspace section,
.file-analysis-card,
.analysis-result { min-width:0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#fbfcfd; }
.photo-data-workspace h3,
.group-workspace h3 { margin:0 0 10px; }
.import-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.import-summary-grid > div { display:grid; gap:4px; min-width:0; padding:12px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.import-summary-grid span,
.import-summary-grid small { color:var(--muted); font-size:.78rem; }
.import-summary-grid strong { overflow-wrap:anywhere; }
.file-drop-zone,
.group-toolbar,
.correction-filters,
.form-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:end; }
.file-drop-zone { align-items:center; margin:12px 0 8px; padding:18px; border:2px dashed #9fb1bf; border-radius:8px; background:#fff; transition:border-color .15s ease,background .15s ease,box-shadow .15s ease; }
.file-drop-zone.is-dragover { border-color:var(--accent); background:var(--accent-soft); box-shadow:0 0 0 3px rgba(15,118,110,.16); }
.file-drop-zone.is-selected { border-style:solid; border-color:#70bdb2; background:#f7fbfa; }
.file-drop-zone.is-error { border-color:#c2413b; background:#fff4f3; }
.file-drop-zone input { flex:1 1 300px; min-width:0; max-width:100%; }
.file-drop-zone > label { color:var(--ink); font-size:.82rem; font-weight:760; }
.file-drop-copy { display:grid; flex:1 1 100%; gap:3px; min-width:0; }
.file-drop-copy strong,
.file-drop-copy span,
.file-drop-copy small { overflow-wrap:anywhere; }
.file-drop-copy small { color:var(--muted); }
.file-analysis-card > .form-actions { margin-top:10px; }
.mapping-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:12px 0; }
.mapping-grid label,
.analysis-result label,
.import-confirm-grid label,
.inline-editor label { display:grid; gap:5px; min-width:0; color:var(--muted); font-size:.82rem; font-weight:760; }
.mapping-grid select,
.analysis-result select,
.import-confirm-grid select,
.inline-editor input,
.inline-editor select,
.inline-editor textarea,
.group-toolbar input,
.group-toolbar select,
.correction-table input { width:100%; min-width:0; min-height:40px; box-sizing:border-box; padding:8px 10px; border:1px solid #bcc6d0; border-radius:6px; background:#fff; font:inherit; }
.validation-counts { display:flex; flex-wrap:wrap; gap:8px; margin:10px 0; }
.validation-counts span { padding:8px 10px; border:1px solid var(--line); border-radius:999px; background:#fff; }
.import-preview table,
.correction-table table,
.group-table table,
.person-panel table,
.import-history table { min-width:980px; }
.import-status { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:.75rem; font-weight:800; }
.import-status.valid,
.import-status.corrected { background:#dff4ee; color:#075f58; }
.import-status.warning { background:#fff1c7; color:#705100; }
.import-status.error { background:#ffe0e0; color:#8b1616; }
.import-status.excluded { background:#e8edf1; color:#4d5b66; }
.import-confirm-grid { display:grid; grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) auto auto; gap:10px; align-items:end; }
.group-toolbar { margin:14px 0; }
.group-toolbar input { flex:2 1 260px; }
.group-toolbar select { flex:1 1 170px; }
.group-table td:last-child { min-width:300px; white-space:normal; }
.group-table td:last-child button { margin:0 5px 5px 0; white-space:nowrap; }
.inline-editor { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.inline-editor h3,
.inline-editor .form-actions { grid-column:1/-1; }
.person-panel { margin-top:18px; }
.view-indicator, .status-chip { display:inline-flex; align-items:center; min-height:34px; padding:6px 9px; border:1px solid #a9d3cc; border-radius:6px; background:var(--accent-soft); color:#075f58; font-size:.8rem; font-weight:780; }
.photo-job-table { min-width:1220px; }
.photo-job-table td, .photo-job-table th { vertical-align:top; }
.row-actions { display:flex; gap:10px; align-items:flex-start; white-space:nowrap; }
.row-actions details { position:relative; }
.row-actions summary { cursor:pointer; color:#075f58; font-weight:760; }
.row-actions details[open] { min-width:170px; }
.row-actions details a { display:block; margin-top:7px; }
.photo-job-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:14px; }
.photo-job-form fieldset, .order-detail-panel { min-width:0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#fbfcfd; }
.photo-job-form fieldset { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.photo-job-form label, .photo-job-form input, .photo-job-form select, .photo-job-form textarea, .profile-summary { min-width:0; max-width:100%; box-sizing:border-box; }
.photo-job-form legend { padding:0 6px; font-weight:850; }
.photo-job-form .form-actions, .photo-job-form .form-errors { grid-column:1/-1; }
.photo-job-form .full-row { grid-column:1/-1; }
.profile-summary { padding:12px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.profile-summary dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; margin:0; }
.profile-summary dl div { min-width:0; padding:8px; border-radius:5px; background:#f3f6f8; }
.profile-summary dt { color:var(--muted); font-size:.75rem; }
.profile-summary dd { margin:3px 0 0; color:var(--ink); font-weight:800; }
.readonly-config { display:flex; flex-wrap:wrap; gap:8px; }
.readonly-config span { display:grid; gap:3px; flex:1 1 220px; padding:10px; border:1px solid #c7d9d5; border-radius:6px; background:var(--accent-soft); color:#075f58; }
.field-hint { margin:0; color:var(--muted); line-height:1.5; }
.coupon-cards, .coupon-detail-list { display:grid; gap:10px; }
.coupon-card, .coupon-detail-list article { padding:12px; border:1px solid #b8c5cc; border-radius:8px; background:#fff; }
.coupon-card:first-child { border:2px solid #0f766e; background:#f2fbf8; }
.coupon-card header, .coupon-card footer { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.coupon-card header span { color:#075f58; font-size:.78rem; font-weight:800; }
.coupon-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin:11px 0; }
.coupon-grid .check-field { display:flex; align-items:center; align-self:end; min-height:42px; }
.coupon-grid .check-field input { width:auto; min-height:0; margin-right:7px; }
.coupon-card footer { justify-content:flex-end; }
.form-actions { display:flex; flex-wrap:wrap; gap:8px; }
button.primary, .button-link { border-color:#0f766e; background:#0f766e; color:#fff; }
.button-link { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:7px 11px; border:1px solid #0f766e; border-radius:6px; box-sizing:border-box; font:inherit; font-weight:780; line-height:1.15; white-space:nowrap; }
a.button-link { color:#fff; font-weight:780; }
a.button-link:hover { border-color:#0b5f59; background:#0b5f59; color:#fff; }
a.button-link:focus-visible { outline:3px solid rgba(15,118,110,.3); outline-offset:2px; color:#fff; }
.photo-job-table td:last-child { vertical-align:middle; white-space:nowrap; }
.order-navigation { display:grid; gap:9px; min-width:0; max-width:100%; margin:12px 0 14px; }
.order-navigation-group { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:7px; min-width:0; max-width:100%; }
.order-navigation-label { margin:0; padding:0; color:var(--muted); font-size:.72rem; font-weight:800; line-height:1.15; letter-spacing:.035em; text-transform:uppercase; }
.order-tabs { display:flex; flex-wrap:wrap; align-items:stretch; gap:7px; min-width:0; max-width:100%; width:100%; margin:0; padding:0; overflow:visible; }
.order-tabs a, .order-tabs button { display:inline-flex; flex:0 1 auto; align-items:center; justify-content:center; min-height:42px; max-width:100%; padding:8px 14px; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--ink); font-size:.82rem; font-weight:760; line-height:1.15; text-align:center; text-decoration:none; white-space:nowrap; }
.order-tabs a:hover { border-color:#70bdb2; background:#f7fbfa; color:#075f58; }
.order-tabs a:focus-visible { outline:3px solid rgba(15,118,110,.3); outline-offset:2px; border-color:#0f766e; }
.order-tabs a.active, .order-tabs a[aria-current="page"] { border-color:#0f766e; background:var(--accent-soft); color:#075f58; box-shadow:inset 0 -3px 0 #0f766e; }
.order-navigation-secondary .order-navigation-label { padding-top:10px; }
.order-navigation-secondary .order-tabs button { min-height:42px; padding:8px 12px; border-color:#d5dbe1; background:#f4f5f7; color:#727b86; font-size:.78rem; font-weight:700; opacity:1; cursor:not-allowed; }
.detail-grid, .csv-status { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; }
.detail-grid div, .csv-status article, .workflow-grid article { padding:12px; border:1px solid var(--line); border-radius:7px; background:#fff; }
.detail-grid dt, .csv-status span { color:var(--muted); font-size:.78rem; }
.detail-grid dd, .csv-status strong { display:block; margin:4px 0 0; font-weight:800; }
.order-detail-panel .detail-grid > div { min-width:0; }
.order-detail-panel .detail-grid dd, .profile-summary { overflow-wrap:anywhere; }
.wide-field { margin:14px 0 10px; }
.audit-list { display:grid; gap:8px; }

/* Fotoauftragsnavigation: flexible Inhaltskette ohne Seiten- oder lokalen Tab-Überlauf. */
.order-detail-panel { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.order-detail-fd .order-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.order-detail-fd .order-detail-header{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:0 0 16px}.order-detail-fd .order-detail-header h2{margin:.15rem 0}.order-detail-fd .order-card,.order-detail-fd .order-products{margin:0 0 16px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff}.order-detail-fd .order-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.order-detail-fd dt{color:var(--muted);font-size:.8rem}.order-detail-fd dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.order-detail-fd table{width:100%;border-collapse:collapse}.order-detail-fd th,.order-detail-fd td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.order-detail-fd td{text-align:right}.order-timeline{padding-left:20px}.order-timeline li{display:grid;gap:3px;margin:10px 0}.order-timeline time{font-size:.82rem;color:var(--muted)}.order-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.order-product-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px;border:1px solid var(--line);border-radius:7px}.order-preview{min-height:72px;display:grid;place-items:center;background:#f1f4f7;color:var(--muted);font-size:.75rem;text-align:center}.order-preview img{width:100%;height:72px;object-fit:cover}.order-product-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 0}@media(max-width:850px){.order-detail-fd .order-detail-columns{grid-template-columns:1fr}.order-detail-fd .order-detail-header{flex-direction:column}.order-detail-fd .order-card dl{grid-template-columns:1fr}}@media print{.order-detail-fd .staging-warning,.order-detail-fd button,.order-detail-fd .button-link{display:none!important}.order-detail-fd .order-card,.order-detail-fd .order-products{break-inside:avoid}}

/* Fotoaufträge sind eine vollständige Listenansicht, keine zweispaltige Dashboard-Karte. */
#photoJobs { grid-template-columns: minmax(0, 1fr); }
#photoJobsRoot { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; min-width:0; max-width:100%; width:100%; }
.photo-job-table-wrap { width:100%; max-width:100%; overflow-x:auto; }
.photo-job-table { width:100%; max-width:100%; min-width:980px; border-collapse:separate; border-spacing:0; table-layout:auto; }
.photo-job-table th,
.photo-job-table td { box-sizing:border-box; overflow-wrap:anywhere; }
.photo-job-table th { white-space:nowrap; }
.photo-job-sort-button { display:inline-flex; align-items:center; gap:5px; min-height:28px; margin:-4px -6px; padding:4px 6px; border:0; border-radius:5px; background:transparent; color:inherit; font:inherit; font-weight:inherit; line-height:1.2; cursor:pointer; white-space:nowrap; }
.photo-job-sort-button:hover { color:#075f58; background:#edf8f6; }
.photo-job-sort-button:focus-visible { outline:2px solid #0f8178; outline-offset:2px; }
.photo-job-sort-indicator { display:inline-block; min-width:12px; color:#075f58; font-weight:900; text-align:center; }
.photo-job-table th[aria-sort="ascending"] .photo-job-sort-button,
.photo-job-table th[aria-sort="descending"] .photo-job-sort-button { color:#075f58; }
.photo-job-table .photo-job-number,
.photo-job-table th:nth-child(2),
.photo-job-table th:nth-child(6),
.photo-job-table td:nth-child(6),
.photo-job-table td:last-child { white-space:nowrap; overflow-wrap:normal; }
.photo-job-table td:last-child .button-link { white-space:nowrap; }
#photoJobsRoot,
.order-navigation,
.order-navigation-group,
.order-tabs {
  min-width: 0;
  max-width: 100%;
}

@media (min-width:1101px) {
  .photo-toolbar,
  .photo-toolbar.has-context-filter {
    grid-template-columns:minmax(320px,2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr);
  }

  .photo-toolbar:not(.has-context-filter) .photo-filter-type {
    grid-column:auto;
  }

  .photo-job-table {
    min-width:0;
    table-layout:fixed;
  }

  .photo-job-table th:nth-child(1),
  .photo-job-table td:nth-child(1) { width:24%; }
  .photo-job-table th:nth-child(2),
  .photo-job-table td:nth-child(2) { width:14%; }
  .photo-job-table th:nth-child(3),
  .photo-job-table td:nth-child(3) { width:13%; }
  .photo-job-table th:nth-child(4),
  .photo-job-table td:nth-child(4) { width:12%; }
  .photo-job-table th:nth-child(5),
  .photo-job-table td:nth-child(5) { width:22%; }
  .photo-job-table th:nth-child(6),
  .photo-job-table td:nth-child(6) { width:9%; }
  .photo-job-table th:nth-child(7),
  .photo-job-table td:nth-child(7) { width:96px; }
}

@media (max-width:1100px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .main-nav {
    position: relative;
    height: auto;
  }

  .main-nav nav {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  .context-strip,
  .work-summary,
  .review-layout {
    grid-template-columns: 1fr;
  }

  .order-navigation-group {
    grid-template-columns: 1fr;
  }

  .order-navigation-label,
  .order-navigation-secondary .order-navigation-label {
    padding-top: 0;
  }

  .photo-toolbar,
  .photo-toolbar.has-context-filter {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .photo-toolbar .photo-filter-search {
    grid-column: 1 / -1;
  }

  .photo-toolbar.has-context-filter .photo-filter-type {
    grid-column: 1 / -1;
  }
}

@media (max-width:940px) {
  .photo-toolbar, .photo-toolbar.has-context-filter, .photo-job-form { grid-template-columns:1fr; }
  .photo-number-filter-controls { grid-template-columns:1fr; }
  .import-summary-grid,
  .mapping-grid,
  .import-confirm-grid,
  .inline-editor { grid-template-columns:1fr; }
  .inline-editor h3,
  .inline-editor .form-actions { grid-column:auto; }
  .photo-job-form .form-actions, .photo-job-form .form-errors { grid-column:auto; }
  .coupon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:640px) {
  .photo-job-form fieldset { grid-template-columns:1fr; }
  .photo-job-form .full-row { grid-column:auto; }
  .coupon-grid { grid-template-columns:1fr; }
  .order-tabs a, .order-tabs button { flex:1 1 150px; white-space:normal; }
}
.sticky-actions{position:sticky;bottom:0;z-index:3;display:flex;gap:.5rem;align-items:center;padding:.75rem;background:#fff;border-top:1px solid #ccd6df;flex-wrap:wrap}.shop-preview-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.shop-preview-slots label{display:flex;flex-direction:column;gap:.25rem}@media(max-width:768px){.shop-preview-slots{grid-template-columns:1fr 1fr}.sticky-actions{position:sticky;bottom:0}}
.package-editor [data-service-fee],#packageRows th:nth-child(7),#packageRows td:nth-child(7){display:none!important}

/* Bildorientierte Fotoverwaltung: separate Gruppenbilder, Raster vor/nach QR und kompakte Metadaten. */
.photo-manager-shell{width:100%;max-width:none}.photo-manager-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,360px);gap:18px;align-items:start}.photo-manager-results{min-width:0}.readonly-workflow-notice{display:flex;gap:10px;align-items:center;padding:10px 12px;margin:12px 0;border:1px solid #b8d8d1;border-radius:8px;background:#f3fbf9;color:#245f57}.readonly-workflow-notice span{color:#4d6270;font-size:.86rem}.photo-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.photo-summary span{display:grid;gap:2px;min-width:116px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.photo-summary span strong{font-size:1.05rem}.photo-manager-toolbar{grid-template-columns:minmax(220px,2fr) repeat(4,minmax(145px,1fr)) repeat(4,minmax(135px,1fr));align-items:end}/* Photo manager: readable inactive view buttons and contained filter layout. */ .photo-view-toolbar button:not(.is-active) { color: var(--ink); } .photo-toolbar.photo-manager-toolbar { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); } .photo-toolbar.photo-manager-toolbar > label { min-width: 0; } .photo-view-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0;padding:9px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.photo-view-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:7px 10px}.photo-view-toolbar button.is-active{background:var(--accent-soft);border-color:#86b9af;color:#075f58;font-weight:800}.photo-view-note{margin-left:auto;color:var(--muted);font-size:.82rem}.photo-bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.photo-bulk-bar strong{margin-right:auto}.photo-bulk-bar [disabled]{opacity:.58;cursor:not-allowed}.qr-workflow-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 16px;margin:14px 0;border:1px solid #b9d8d1;border-radius:10px;background:#f2faf8}.qr-workflow-card h3{margin:3px 0}.qr-workflow-card p{margin:0;color:#4d6270}.qr-workflow-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.photo-sections{display:grid;gap:18px}.photo-section{padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff}.photo-section-special{border-color:#9bcfc4;background:#fbfffe}.photo-section-warning{border-color:#e3c67f;background:#fffaf0}.photo-section header{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.photo-section h3{margin:3px 0}.photo-section header p{margin:0;color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#44776e;font-weight:800}.section-count{display:inline-grid;place-items:center;min-width:28px;height:24px;padding:0 7px;border-radius:999px;background:#e8f3f0;color:#075f58;font-size:.8rem;vertical-align:middle}.photo-empty{padding:22px;margin:0;border:1px dashed #becbd3;border-radius:8px;color:var(--muted);text-align:center}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:10px}.photo-grid.tile-small{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.photo-grid.tile-large{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.photo-tile{position:relative;min-width:0;border:1px solid #dbe3e8;border-radius:9px;background:#fff;overflow:hidden;transition:border-color .15s,box-shadow .15s}.photo-tile:hover,.photo-tile.is-inspected{border-color:#168f7e;box-shadow:0 3px 12px #164e4218}.photo-tile.is-selected{border:2px solid #168f7e;box-shadow:0 0 0 2px #168f7e2a}.photo-tile.is-special{background:#f8fffd}.photo-tile-select{position:absolute;z-index:2;top:7px;left:7px;display:flex;align-items:center}.photo-tile-select input{position:absolute;opacity:0}.photo-tile-select span{width:22px;height:22px;border:2px solid #fff;border-radius:6px;background:#ffffffd9;box-shadow:0 1px 4px #0004}.photo-tile-select input:checked+span{background:#168f7e;box-shadow:inset 0 0 0 4px #fff}.photo-tile-link{display:grid;gap:7px;width:100%;border:0;padding:0;text-align:left;color:inherit;background:transparent;cursor:pointer}.photo-tile-link img{width:100%;height:142px;object-fit:contain;background:#eef2f4}.tile-small .photo-tile-link img{height:108px}.tile-large .photo-tile-link img{height:190px}.photo-tile-meta{display:grid;gap:3px;padding:0 8px 9px;min-width:0}.photo-tile-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.photo-tile-meta span,.photo-tile-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.72rem}.photo-inspect-hint{color:#075f58;font-size:.68rem;font-style:normal;font-weight:700}.photo-badge{width:max-content;padding:2px 6px;border-radius:999px;background:#edf1f3;color:#50616c;font-size:.68rem!important;font-weight:750}.photo-badge.is-qr{background:#fff0c8;color:#855d00}.person-section{padding:10px 0;border-top:1px solid var(--line)}.person-section:first-of-type{border-top:0}.person-section summary{display:flex;gap:16px;align-items:center;cursor:pointer;padding:8px 4px}.person-section summary span{color:var(--muted);font-size:.86rem}.photo-window-note{color:var(--muted);font-size:.82rem}.photo-detail-card{max-width:none}.photo-detail-card>img{max-width:min(720px,100%);max-height:65vh;object-fit:contain;background:#eef2f4;border-radius:9px}.detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.media-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin-top:14px}.media-detail dl>div{padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#fff}.media-detail dt{color:var(--muted);font-size:.76rem}.media-detail dd{margin:3px 0 0;font-weight:700;overflow-wrap:anywhere}.photo-inspector{position:sticky;top:14px;max-height:calc(100vh - 30px);overflow:auto;padding:14px;border:1px solid #cbd8df;border-radius:12px;background:#fbfdfd;box-shadow:0 6px 18px #163d3310}.photo-inspector-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.photo-inspector-head h3{margin:3px 0;overflow-wrap:anywhere}.photo-inspector-head p{margin:0;color:var(--muted);font-size:.8rem}.readonly-chip{padding:4px 7px;border-radius:999px;background:#e8f3f0;color:#075f58;font-size:.68rem;font-weight:800;white-space:nowrap}.photo-inspector-preview{display:grid;place-items:center;min-height:190px;max-height:360px;margin:12px 0;overflow:auto;border:1px solid #cbd8df;border-radius:9px;background:#eef2f4}.photo-inspector-preview.is-black{background:#000}.photo-inspector-preview img{display:block;max-width:100%;max-height:340px;object-fit:contain;transform-origin:center center;transition:transform .15s}.photo-inspector-preview [data-inspector-error]{padding:20px;color:#8b2c2c;font-weight:700}.photo-inspector-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.photo-inspector-toolbar button,.photo-inspector-toolbar a{font-size:.72rem;padding:6px 8px}.photo-inspector-data{display:grid;grid-template-columns:1fr;gap:6px;margin:12px 0}.photo-inspector-data>div{padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}.photo-inspector-data dt{color:var(--muted);font-size:.68rem}.photo-inspector-data dd{margin:2px 0 0;overflow-wrap:anywhere;font-size:.76rem;font-weight:700}.photo-inspector-safety{padding:8px;border-radius:7px;background:#f2faf8;color:#245f57;font-size:.76rem}.media-inspect-button{border:0;padding:0;background:transparent;cursor:pointer}.photo-manager-shell .media-table{min-width:1050px}.photo-manager-shell .media-table .media-thumb{width:70px;height:70px;object-fit:cover}.photo-manager-shell .table-wrap{overflow-x:auto}.photo-manager-shell .order-buttons{display:flex;gap:3px}.photo-manager-shell .order-buttons button{padding:2px 5px}.photo-manager-shell .status-chip{min-height:28px}
@media(max-width:1180px){.photo-manager-toolbar{grid-template-columns:repeat(4,minmax(145px,1fr))}.photo-manager-toolbar label:first-child{grid-column:1/-1}.photo-view-note{width:100%;margin-left:0}}
@media(max-width:980px){.photo-manager-body{grid-template-columns:1fr}.photo-inspector{position:relative;top:auto;max-height:none;order:-1}}
@media(max-width:760px){.photo-manager-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-manager-toolbar label:first-child{grid-column:1/-1}.photo-summary span{flex:1 1 120px}.qr-workflow-card{align-items:flex-start;flex-direction:column}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid.tile-small{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-grid.tile-large{grid-template-columns:repeat(2,minmax(0,1fr))}.person-section summary{align-items:flex-start;flex-direction:column;gap:4px}}

/* Dynamische Preisprofile V2 – innerhalb der bestehenden Block-20-Shell. */
.ppv2-head,.ppv2-toolbar,.ppv2-card header,.ppv2-sticky-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ppv2-head{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--line,#d9e0e7)}
.ppv2-head h3{margin:2px 0 6px;font-size:1.45rem}.ppv2-head p{margin:0;color:#526173}
.ppv2-head code,.ppv2-table code{font-size:.72rem;overflow-wrap:anywhere}
.ppv2-toolbar{justify-content:flex-start;align-items:center;flex-wrap:wrap;margin:0 0 16px}
.ppv2-card{border:1px solid #dce3ea;border-radius:10px;background:#fff;padding:16px;box-shadow:0 1px 3px rgba(34,46,60,.04)}
.ppv2-card header{align-items:center;margin-bottom:12px}.ppv2-card header small,.ppv2-table small{display:block;color:#68788a;margin-top:3px}
.ppv2-stack{display:grid;gap:12px;margin-top:12px}
.ppv2-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px 16px}
.ppv2-grid label,.ppv2-form>label,.ppv2-palette label{display:grid;gap:5px;font-weight:600;color:#344254}
.ppv2-wide{grid-column:1/-1}
.ppv2-editor{display:grid;gap:18px;padding-bottom:80px;min-width:0;max-width:100%}.ppv2-editor fieldset{border:1px solid #dce3ea;border-radius:10px;padding:16px;background:#fbfcfd;min-width:0;max-width:100%}
.ppv2-editor legend{font-weight:750;padding:0 7px}
.ppv2-editor input,.ppv2-editor select,.ppv2-editor textarea,.ppv2-form input,.ppv2-form select,.ppv2-form textarea,.ppv2-filters input,.ppv2-filters select{width:100%;box-sizing:border-box}
.ppv2-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-bottom:15px}.ppv2-filters label{display:grid;gap:5px}
.ppv2-table-wrap{overflow:auto;border:1px solid #dce3ea;border-radius:10px;background:#fff}
.ppv2-table{width:100%;border-collapse:collapse;min-width:980px}.ppv2-table th,.ppv2-table td{padding:11px 10px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}.ppv2-table th{background:#f5f7f9;white-space:nowrap}
.ppv2-actions{display:flex;flex-wrap:wrap;gap:5px}.ppv2-actions button{font-size:.78rem;padding:5px 8px}
.ppv2-status{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:750;background:#e9eef4;color:#344254;white-space:nowrap}
.ppv2-status-FREIGEGEBEN{background:#dff5e8;color:#176239}.ppv2-status-BETREIBER_GEPRUEFT{background:#e3efff;color:#194f91}.ppv2-status-PRUEFBEREIT{background:#fff0c9;color:#755400}.ppv2-status-ARCHIVIERT{background:#ececec;color:#555}
.ppv2-message{border-radius:8px;padding:12px 14px;margin:12px 0}.ppv2-message p{margin:4px 0}.ppv2-message ul{margin:8px 0 0;padding-left:22px}.ppv2-error{background:#fff0f0;border:1px solid #e9b8b8;color:#7b2020}.ppv2-success{background:#eaf8ef;border:1px solid #a9d8ba;color:#145c32}
.ppv2-empty,.ppv2-loading{padding:36px;text-align:center;border:1px dashed #bdc8d4;border-radius:10px;background:#fbfcfd}
.ppv2-archive-note{margin-top:18px;padding:14px;border-left:4px solid #9a6a00;background:#fff8e6}
.ppv2-product header>div:last-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ppv2-price-grid{display:grid;gap:8px}.ppv2-price-row{display:grid;grid-template-columns:150px 170px 120px 100px 1fr;align-items:end;gap:10px;padding:10px;border-radius:7px;background:#f6f8fa}.ppv2-price-row label{display:grid;gap:4px;font-size:.82rem}.ppv2-price-row label:first-child,.ppv2-price-row label:nth-child(3){display:flex;align-items:center;gap:6px;padding-bottom:9px}.ppv2-price-row input[type=checkbox]{width:auto}
.ppv2-palette{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.ppv2-palette [data-product-results]{grid-column:1/-1}
.ppv2-product-results{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:8px;max-height:260px;overflow:auto}.ppv2-product-results button{display:grid;text-align:left;gap:3px;padding:9px;background:#fff;border:1px solid #dce3ea}.ppv2-product-results button small{color:#667789}
.ppv2-download{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;align-items:end}.ppv2-download label{display:grid;gap:4px}.ppv2-download label:has(input[type=checkbox]){display:flex;gap:6px;align-items:center;padding-bottom:9px}.ppv2-download input[type=checkbox]{width:auto}
.ppv2-package-position{display:grid;grid-template-columns:90px repeat(4,minmax(140px,1fr));gap:9px;align-items:end;padding:10px;border:1px solid #e0e6ec;border-radius:8px;background:#f7f9fb}.ppv2-package-position label{display:grid;gap:4px;font-size:.8rem}.ppv2-package-position label:has(input[type=checkbox]){display:flex;align-items:center;gap:5px}.ppv2-package-position input[type=checkbox]{width:auto}
.ppv2-sticky-actions{position:sticky;bottom:0;z-index:5;align-items:center;justify-content:flex-start;flex-wrap:wrap;padding:12px 16px;border:1px solid #ccd6df;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 -3px 12px rgba(30,45,60,.09)}
.ppv2-sticky-actions span{margin-left:auto;font-size:.72rem;color:#627287;max-width:40%;overflow-wrap:anywhere}
.ppv2-preview{margin-top:12px;padding:15px;border:1px solid #d8e0e8;border-radius:9px;background:#fff}.ppv2-preview h5{margin:15px 0 6px}.ppv2-preview-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:8px 0}.ppv2-preview-slots span{display:grid;gap:5px;padding:8px;background:#f3f6f8;border-radius:6px}
.ppv2-muted{color:#68788a;font-style:italic}.ppv2-form{display:grid;gap:16px}.ppv2-archive-note p{margin-bottom:0}
.ppv2-card,.ppv2-stack,.ppv2-grid,.ppv2-price-grid,.ppv2-price-row,.ppv2-download,.ppv2-package-position{min-width:0;max-width:100%}
@media(max-width:1100px){.ppv2-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.ppv2-product-results{grid-template-columns:repeat(2,minmax(180px,1fr))}.ppv2-price-row{grid-template-columns:repeat(2,minmax(150px,1fr))}.ppv2-package-position{grid-template-columns:repeat(2,minmax(160px,1fr))}.ppv2-download{grid-template-columns:repeat(2,minmax(160px,1fr))}}
@media(max-width:700px){.ppv2-head{display:grid}.ppv2-grid,.ppv2-filters,.ppv2-palette,.ppv2-product-results,.ppv2-price-row,.ppv2-package-position,.ppv2-download{grid-template-columns:1fr}.ppv2-wide,.ppv2-palette [data-product-results]{grid-column:auto}.ppv2-sticky-actions span{margin-left:0;max-width:100%}}

/* Vier fachlich getrennte Downloadarten im bestehenden Preisprofil-Editor. */
.download-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;min-width:0;max-width:100%}
.download-config-card{display:grid;gap:12px;min-width:0;padding:15px;border:1px solid #cfd8e1;border-radius:9px;background:#fff}
.download-config-card[data-state="ACTIVE"]{border-color:#66b5a8;background:#f5fcfa}
.download-config-card[data-state="DISABLED"]{background:#f5f6f7;color:#536171}
.download-config-card[data-state="UNDECIDED"]{border-color:#d3a03b;background:#fff9ea}
.download-config-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.download-config-card header div{display:grid;gap:3px}.download-config-card header small,.download-id{color:#68788a;overflow-wrap:anywhere}
.download-config-card header span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#e7edf2;font-size:.75rem;font-weight:780}
.download-config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.download-config-fields label{display:grid;gap:5px;min-width:0;color:#435164;font-size:.8rem;font-weight:760}
.download-config-fields input,.download-config-fields select,.download-config-fields textarea{width:100%;box-sizing:border-box}
.download-config-fields textarea{min-height:72px;resize:vertical}.download-description{grid-column:1/-1}
.download-config-fields .download-check{display:flex;align-items:center;gap:7px;align-self:end;min-height:40px}.download-config-fields .download-check input{width:auto}
.download-validity-hint{margin:10px 0 0;padding:10px 12px;border-left:4px solid #4e8f84;border-radius:4px;background:#eef8f5;color:#284f49}
.download-preview-offer{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:4px 12px;padding:10px;border:1px solid #a9d3cc;border-radius:7px;background:#f2fbf8}
.download-preview-offer small{grid-column:1/-1;color:#607083}
@media(max-width:1100px){.download-config-grid{grid-template-columns:1fr}}
@media(max-width:700px){.download-config-fields{grid-template-columns:1fr}.download-description{grid-column:auto}}

.media-panel{margin-top:16px;padding:16px;border:1px solid #d8e0e6;border-radius:10px;background:#fff}
.media-panel h3{margin:0 0 12px}.media-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.media-stats span{padding:7px 10px;border:1px solid #d7e3e3;border-radius:7px;background:#f4f9f8;font-size:13px}
.upload-controls,.photo-media-filters,.bulk-bar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin:12px 0}.upload-controls label,.photo-media-filters label{display:grid;gap:5px;min-width:170px;font-weight:650;font-size:13px}
.file-picker{position:relative;overflow:hidden;cursor:pointer}.file-picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0}
.image-dropzone{display:grid;place-items:center;gap:6px;min-height:125px;padding:20px;border:2px dashed #8aa9a5;border-radius:10px;background:#f7fbfa;color:#33534f;text-align:center;transition:.15s}
.image-dropzone.is-dragging{border-color:#087f72;background:#e7f5f2;transform:scale(1.005)}.image-dropzone span{font-size:13px;color:#60716f}
.upload-assignment-plan{margin:16px 0;padding:16px;border:1px solid #b7cbc8;border-radius:10px;background:#f8fbfb}.upload-assignment-plan h3{margin:0 0 12px}.upload-assignment-plan table{min-width:1080px}.upload-assignment-plan th,.upload-assignment-plan td{vertical-align:top}.upload-assignment-plan input,.upload-assignment-plan select{min-width:150px;max-width:230px}.upload-assignment-plan .form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.media-table td small{display:block;margin-top:3px;color:var(--muted);overflow-wrap:anywhere}
.upload-summary{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px;align-items:center;margin:14px 0;padding:14px;border:1px solid #bfd6d2;border-radius:9px;background:#f4faf9}.upload-summary span{display:grid;gap:2px;color:#52635f;font-size:12px}.upload-summary strong{color:#193e38;font-size:14px}.upload-summary .upload-total-label{grid-column:1/-1;font-size:14px}.upload-summary .upload-total-label strong{font-size:20px}.upload-summary .upload-total-bar{grid-column:1/-1;inline-size:100%;block-size:20px}
.media-table{min-width:1180px}.media-table th,.media-table td{vertical-align:middle}.media-table td small{display:block;color:#65727f;margin-top:3px}.media-table progress{inline-size:80px}.media-thumb{inline-size:72px;block-size:54px;object-fit:cover;border-radius:5px;background:#edf1f3}.status-error{color:#a4262c}.is-archived{opacity:.62}.order-buttons{display:flex;gap:3px;margin-top:4px}.order-buttons button{padding:2px 6px;min-width:0}.button-link.compact{padding:5px 8px}.bulk-bar{position:sticky;top:0;z-index:2;padding:9px;border:1px solid #d8e0e6;border-radius:8px;background:#f8fafb}.bulk-bar select{max-width:190px}
.bulk-bar button{white-space:nowrap}.bulk-bar button.danger,.photo-delete-dialog button.danger{background:#b42318;color:#fff;border-color:#b42318}.bulk-bar button.danger:hover:not(:disabled),.photo-delete-dialog button.danger:hover:not(:disabled){background:#8f1c13;border-color:#8f1c13}.bulk-bar button.danger:disabled{background:#ead7d5;color:#806865;border-color:#d7bfbc}.photo-delete-dialog{width:min(620px,calc(100vw - 32px));border:0;border-radius:12px;padding:22px;box-shadow:0 18px 55px rgba(0,0,0,.3)}.photo-delete-dialog::backdrop{background:rgba(15,23,42,.55)}.photo-delete-dialog h3{margin-top:0}.photo-delete-dialog dl{display:grid;gap:8px}.photo-delete-dialog dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}.photo-delete-dialog dt{font-weight:700}.photo-delete-dialog dd{margin:0}.photo-delete-dialog .danger-text{color:#a12626;font-weight:700}.photo-delete-dialog .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.photo-delete-dialog button{white-space:nowrap}
.media-detail{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:18px;margin-top:16px;padding:16px;border:1px solid #d8e0e6;border-radius:10px;background:#fff}.media-detail>img{inline-size:100%;max-block-size:620px;object-fit:contain;background:#eef2f3;border-radius:8px}.media-detail dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.media-detail dl div{padding:8px;border-bottom:1px solid #e4e9ed}.media-detail dt{font-size:12px;color:#65727f}.media-detail dd{margin:4px 0 0;overflow-wrap:anywhere}.media-detail h3,.media-detail ul,.media-detail>a{grid-column:1/-1}
@media(max-width:1100px){.upload-summary{grid-template-columns:1fr 1fr}.media-detail{grid-template-columns:1fr}.photo-media-filters label{min-width:145px}.bulk-bar{position:static}.media-panel .table-wrap{max-width:100%;overflow-x:auto}}

.qr-workspace{min-width:0}
.qr-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qr-step-grid fieldset{min-width:0;margin:0;padding:14px;border:1px solid #cbd8df;border-radius:9px;background:#fbfdfd}.qr-step-grid legend{padding:0 6px;color:#075f58;font-weight:800}.qr-step-grid label{display:grid;gap:5px;margin:7px 0}.qr-step-grid select,.qr-step-grid input{width:100%;min-height:39px;box-sizing:border-box}.qr-step-grid p{margin:7px 0;color:#566572}.qr-builder-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid #dbe3e8}.qr-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.qr-run-summary>div{min-width:0;padding:9px;border:1px solid #d7e0e5;border-radius:7px;background:#fff}.qr-run-summary dt{font-size:.7rem;color:#65727f}.qr-run-summary dd{margin:3px 0 0;font-weight:760;overflow-wrap:anywhere}
.qr-controls,.qr-card-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end}
.qr-controls label,.qr-card-form label{min-width:0}
.qr-progress{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));gap:8px;margin:14px 0}
.qr-progress>div{display:flex;flex-direction:column;padding:10px;border:1px solid #cbd8df;border-radius:8px;background:#f8fbfc}
.qr-progress strong{font-size:1.05rem}.qr-progress span{font-size:.78rem;color:#5c6878}
.qr-run-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0;font-size:.85rem;color:#4d5968}
.qr-results-scroll,.qr-archive-scroll{max-width:100%;overflow-x:auto}
.qr-results{min-width:1120px}.qr-results td{vertical-align:top}
.qr-results td small{display:block;max-width:260px;margin-top:4px;color:#5d6878}
.qr-marker-preview{display:block;width:96px;height:64px;object-fit:cover;border-radius:6px;border:1px solid #cbd8df}
.compact-actions{display:grid;grid-template-columns:minmax(130px,1fr) 1fr 1fr;gap:5px;min-width:340px}
.compact-actions input{grid-column:1/-1}
.qr-confirm-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.qr-confirm-panel h4,.qr-confirm-panel p{flex-basis:100%;margin:0}
.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px}
.check-row input{width:auto!important}
.qr-card-preview{width:min(100%,760px);min-height:360px;margin:16px auto;padding:26px 30px;border:1px solid #bad2d0;border-radius:14px;background:#eef7f6;box-shadow:0 6px 20px rgba(18,50,56,.08);display:grid;grid-template-columns:1fr 170px;grid-template-rows:auto auto auto auto 1fr auto;column-gap:24px;box-sizing:border-box}
.qr-card-preview.qr-pdf-preview{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:10px;width:min(100%,900px);padding:14px;background:#eef3f4}.qr-pdf-preview iframe{display:block;width:100%;aspect-ratio:210/148;min-height:440px;border:1px solid #aebbc3;background:#fff}.qr-preview-facts{display:flex;flex-wrap:wrap;gap:6px 14px;padding:9px 11px;border-radius:7px;background:#fff;font-size:.78rem}.qr-preview-facts strong{color:#075f58}.qr-preview-facts span{color:#566572}
.qr-card-preview header{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px}
.qr-card-preview h4{font-size:1.5rem;margin:30px 0 8px}.qr-card-preview p{margin:3px 0;overflow-wrap:anywhere}
.qr-card-preview .qr-code-visual{grid-column:2;grid-row:2/6;align-self:center;aspect-ratio:1;display:block;width:145px;height:145px;object-fit:contain;border:10px solid #fff;background:#fff}
.qr-card-preview footer{grid-column:1/-1;align-self:end;font-size:.78rem;color:#566572}
.qr-preview-navigation{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0}
.qr-workspace dialog{width:min(820px,calc(100vw - 40px));max-height:80vh;border:0;border-radius:10px;padding:18px;box-shadow:0 15px 45px rgba(0,0,0,.25)}
.qr-workspace dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:62vh;overflow:auto;background:#f4f6f8;padding:12px;border-radius:6px}
.qr-candidate-review{display:grid;gap:16px}.qr-candidate-card{border:1px solid #e3c67f;border-radius:10px;padding:14px;background:#fffaf0}.qr-candidate-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.qr-candidate-head h5{margin:0 0 4px;font-size:1rem}.qr-candidate-grid{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:14px;margin-top:10px}.qr-candidate-main-preview{width:100%;max-height:300px;object-fit:contain;background:#eef2f4;border:1px solid #cbd8df;border-radius:8px}.qr-context-strip{display:flex;gap:6px;overflow-x:auto;padding:4px 0}.qr-context-strip figure{flex:0 0 84px;margin:0}.qr-context-strip img{display:block;width:84px;height:64px;object-fit:cover;border-radius:5px;border:1px solid #cbd8df}.qr-context-strip figcaption{font-size:.68rem;color:#5d6878;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-candidate-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin:8px 0}.qr-candidate-meta span{padding:6px 8px;border:1px solid #eadfbf;border-radius:6px;background:#fff}.qr-candidate-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:10px}.qr-candidate-actions label{display:grid;gap:4px;min-width:220px}.qr-candidate-attempts{margin-top:10px}.qr-candidate-attempts summary{cursor:pointer;color:#075f58;font-weight:700}.qr-sequence-plan table{min-width:760px}.qr-sequence-plan .plan-warning{color:#8a5b00;font-weight:700}.qr-math{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.qr-math span{padding:8px 10px;border:1px solid #cbd8df;border-radius:7px;background:#f8fbfc}.qr-readonly-badge{font-size:.74rem;color:#075f58;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
 .qr-variant-section{display:grid;gap:12px}.qr-candidate-variant-block{padding:12px;border:1px solid #dbe3e8;border-radius:9px;background:#fbfdfd}.qr-candidate-variant-block h5{margin:0 0 8px}.qr-variant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.qr-variant-card{display:grid;gap:5px;padding:8px;border:1px solid #dbe3e8;border-radius:7px;background:#fff;min-width:0}.qr-variant-image-wrap{position:relative;min-height:135px;display:grid;place-items:center;background:#eef2f4;border-radius:5px;overflow:hidden}.qr-variant-card img{display:block;width:100%;height:135px;object-fit:contain}.qr-variant-card strong{font-size:.82rem}.qr-variant-card small{font-size:.7rem;color:#5d6878;overflow-wrap:anywhere}.qr-variant-actions{display:flex;gap:5px;flex-wrap:wrap}.qr-variant-actions button,.qr-variant-actions a{font-size:.72rem;padding:5px 7px}.qr-variant-error{padding:8px;color:#8b2c2c;font-size:.74rem;font-weight:700}.qr-variant-empty{padding:14px;border:1px dashed #cbd8df;border-radius:7px;color:#5d6878}.qr-variant-dialog{width:min(96vw,1100px);max-height:94vh;border:0;border-radius:10px;padding:16px;box-shadow:0 15px 45px rgba(0,0,0,.25)}.qr-variant-dialog-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.qr-variant-dialog-stage{max-height:78vh;overflow:auto;background:#fff;padding:10px;text-align:center}.qr-variant-dialog-stage.is-black{background:#000}.qr-variant-dialog-stage img{max-width:none;transform-origin:top left;image-rendering:auto}
@media(max-width:1100px){
  .qr-controls,.qr-card-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .qr-progress{grid-template-columns:repeat(4,minmax(0,1fr))}
  .qr-card-preview{grid-template-columns:minmax(0,1fr) 145px}
  .qr-card-preview .qr-code-visual{width:120px;justify-self:center}
}
@media(max-width:850px){.qr-step-grid{grid-template-columns:1fr}.qr-run-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-builder-actions{align-items:stretch;flex-direction:column}.qr-pdf-preview iframe{min-height:300px}}

/* Fotograf.de-Bestelldetail: tabletfreundliche Fachansicht ohne lokalen Overflow. */
.order-detail-fd.order-detail-panel{display:block;min-width:0}
.order-detail-fd .order-data-table{display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;white-space:normal;table-layout:fixed}
.order-detail-fd .order-data-table th,.order-detail-fd .order-data-table td{white-space:normal;overflow-wrap:anywhere}
.order-detail-fd .status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.order-detail-fd .status-field{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:6px;background:#f8fafb}
.order-detail-fd .status-field span{font-size:.78rem;color:var(--muted)}
.order-list-view{width:100%;min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-sizing:border-box}.orders-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:14px}.orders-list-head h2{margin:0}.orders-list-head p{margin:4px 0 0;color:var(--muted)}.orders-list-tools{display:flex;align-items:flex-end;gap:8px;min-width:min(420px,100%)}.orders-list-tools label{display:grid;gap:5px;color:var(--muted);font-size:.82rem;font-weight:760;flex:1}.orders-list-tools input{width:100%;min-height:40px;padding:8px 10px;border:1px solid #bcc6d0;border-radius:6px;box-sizing:border-box;font:inherit}.orders-table-wrap{width:100%;max-width:100%;overflow-x:auto}.orders-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:auto}.orders-table th,.orders-table td{padding:10px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.orders-table th{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;background:#f7f9fa}.orders-table .amount-col{text-align:right}.orders-table .date-col{white-space:nowrap}.orders-table .order-primary{display:block;font-weight:760}.orders-table small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.order-number-link{font-weight:800;color:#075f58}.order-status-badge{display:inline-block;max-width:180px;padding:5px 7px;border-radius:999px;background:#eef2f4;color:#33434a;font-size:.74rem;font-weight:760;white-space:normal;line-height:1.2}.order-status-badge.production{background:#fff2d7}.order-status-badge.payment{background:#e9f3ef}.order-status-badge.delivery{background:#edf0f7}.orders-table .compact-action{white-space:nowrap}
@media(max-width:1100px){.order-detail-fd .order-detail-columns{grid-template-columns:1fr}.order-detail-fd .order-detail-header{flex-wrap:wrap}}
@media(max-width:850px){.order-detail-fd .status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-fd .order-card dl{grid-template-columns:1fr}}
@media(max-width:850px){.orders-list-head{display:block}.orders-list-tools{margin-top:12px;min-width:0}.orders-table{min-width:900px}.orders-table th,.orders-table td{padding:8px 7px}}
@media(min-width:1101px){.orders-table{min-width:0;table-layout:fixed}.orders-table th,.orders-table td{white-space:normal;overflow-wrap:anywhere}.orders-table .date-col,.orders-table .compact-action{white-space:nowrap;overflow-wrap:normal}}
@media(min-width:851px) and (max-width:1100px){.orders-table{min-width:980px}}
.orders-table th,.orders-table td{overflow:hidden}.orders-table .order-status-badge{display:block;width:100%;box-sizing:border-box;overflow-wrap:anywhere}.orders-table .compact-action{display:inline-block;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.photo-badge.is-warning{background:#ffe4b5;color:#8b4a00}.photo-tile.is-qr{border-color:#d6b35e}.photo-tile.is-qr-candidate{border-color:#d9953d;background:#fffaf0}.readonly-preview-note{margin-top:6px!important;padding:7px 9px;border-left:3px solid #d6a348;background:#fff8e8;color:#7c5a18!important;font-size:.8rem}
.person-integrity-error{margin:4px 4px 10px;padding:8px 10px;border-left:3px solid #c87813;background:#fff8e8;color:#7c4c08;font-size:.8rem;font-weight:700}
.qr-inspector-section{margin-top:12px;padding:10px;border:1px solid #b9d8d1;border-radius:9px;background:#f7fffd}.qr-inspector-section h4,.qr-code-editor h4,.qr-decoder-findings h4{margin:0 0 6px}.qr-code-list{display:grid;gap:5px;padding-left:18px}.qr-code-list li{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.qr-code-list small{color:var(--muted)}.qr-inspector-dialog{width:min(96vw,900px);max-height:94vh;border:0;border-radius:10px;padding:18px;box-shadow:0 15px 45px #0004}.qr-inspector-dialog form{display:grid;gap:10px}.qr-inspector-dialog dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px}.qr-inspector-dialog dl>div{padding:8px;border:1px solid var(--line);border-radius:7px}.qr-inspector-dialog dt{color:var(--muted);font-size:.75rem}.qr-inspector-dialog dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}.qr-inspector-preview-toggle{display:flex;gap:6px;flex-wrap:wrap}.qr-inspector-preview-toggle button{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fff}.qr-inspector-preview-toggle button.is-active{background:var(--accent-soft);border-color:#86b9af}.qr-inspector-modal-preview{display:grid;place-items:center;min-height:260px;max-height:58vh;overflow:auto;border:1px solid #cbd8df;border-radius:8px;background:#eef2f4}.qr-inspector-modal-preview img{max-width:100%;max-height:54vh;object-fit:contain;transform-origin:center center}.qr-code-editor,.qr-decoder-findings{padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.qr-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center;margin:5px 0}.qr-code-row input{min-width:0}.qr-code-row span,.qr-decoder-finding small{color:var(--muted);font-size:.78rem}.qr-decoder-finding{display:flex;gap:8px;align-items:center;padding:5px 0;border-top:1px solid var(--line)}.qr-decoder-finding:first-of-type{border-top:0}.qr-decoder-finding code{overflow-wrap:anywhere}
.key-image-dot{position:absolute;z-index:5;display:block;top:8px;right:8px;width:15px;height:15px;border-radius:50%;background:#1677d2;border:3px solid #fff;box-shadow:0 1px 5px #0008}.photo-tile.is-key-image{position:relative;overflow:hidden;border-color:#4d9ee8}.photo-tile.is-key-image .photo-tile-meta strong{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.photo-tile .key-image-source{color:#125a9c;font-weight:800;white-space:normal}.key-image-summary{padding:3px 7px;border-radius:999px;background:#e4f0ff;color:#125a9c;font-weight:700}.key-image-summary.is-missing{background:#fff0c8;color:#8b5c00}.key-image-inspector-section{margin-top:12px;padding:10px;border:1px solid #b9d8d1;border-radius:9px;background:#f7fffd}.key-image-inspector-section h4{margin:0 0 6px}.key-image-inspector-section p{margin:4px 0;color:#245f57}.key-image-inspector-section dl{display:grid;grid-template-columns:1fr;gap:5px;margin:8px 0}.key-image-inspector-section dl>div{padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff}.key-image-inspector-section dt{color:var(--muted);font-size:.68rem}.key-image-inspector-section dd{margin:2px 0 0;overflow-wrap:anywhere;font-size:.76rem;font-weight:700}.key-image-inspector-section small{display:block;margin-top:7px;color:var(--muted)}
.key-image-inspector-section.is-warning{border-color:#d79b16;background:#fffaf0}.key-image-integrity-warning{padding:8px 10px;border-left:3px solid #c87813;background:#fff4d8;color:#754900!important;font-weight:700}
.photo-summary>button{display:grid;gap:2px;min-width:116px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;color:inherit}.photo-summary>button.is-active,.qr-workflow-card [data-quick-filter].is-active{border-color:#168f7e;background:#e8f6f2;color:#075f58}.qr-workflow-card button[data-quick-filter]{border:1px solid #86b9af;padding:3px 7px;border-radius:6px;background:#fff;color:#075f58;text-decoration:none;cursor:pointer;font-weight:750}.qr-workflow-card button[data-quick-filter]:hover{background:#e8f6f2;color:#064d47}.key-image-dot.inline{position:static;display:inline-block;margin-right:6px;vertical-align:middle}.photo-tile.is-key-candidate{border-color:#d79b16;background:#fffaf0}.key-image-replace-dialog,.key-image-choice-dialog{width:min(94vw,820px);max-height:92vh;overflow:auto;border:0;border-radius:12px;padding:18px;box-shadow:0 15px 45px #0004}.key-image-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.key-image-compare figure{margin:0;padding:10px;border:1px solid var(--line);border-radius:9px}.key-image-compare img{display:block;width:100%;height:260px;object-fit:contain;background:#eef2f4}.key-image-compare figcaption{margin-top:7px;overflow-wrap:anywhere}.key-image-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.key-image-choice-grid label{display:grid;gap:5px;padding:8px;border:1px solid var(--line);border-radius:8px}.key-image-choice-grid img{width:100%;height:145px;object-fit:contain;background:#eef2f4}@media(max-width:620px){.key-image-compare{grid-template-columns:1fr}.key-image-compare img{height:190px}}
.qr-start-disabled-reason{flex-basis:100%;display:grid;gap:3px;max-width:620px;padding:9px 11px;border-left:4px solid #b36b00;border-radius:6px;background:#fff8e8;color:#573b00;font-size:.8rem}.qr-start-disabled-reason a{color:#075f58;font-weight:800}.qr-preview-start-panel{display:grid;gap:10px}.qr-preview-start-panel>.notice{margin:0}.qr-start-warnings{padding:10px 12px;border:1px solid #e3c67f;border-radius:8px;background:#fffaf0}.qr-start-warnings ul,.qr-preview-start-panel .notice ul{margin:5px 0 0;padding-left:20px}.qr-group-preview{display:grid;gap:18px}.qr-preview-block{padding:12px;border:1px solid #9fcfc5;border-radius:10px;background:#f8fffd}.qr-preview-block>header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:10px}.qr-preview-block h5{margin:0 0 3px}.qr-preview-block p{margin:0;color:var(--muted)}.qr-preview-block-status{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;font-size:.75rem}.qr-group-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.qr-group-preview-card{position:relative;display:grid;gap:4px;min-width:0;padding:7px;border:1px solid #d5e0e5;border-radius:8px;background:#fff;overflow:hidden}.qr-group-preview-card.is-key-image{border:2px solid #4d9ee8}.qr-group-preview-card img{display:block;width:100%;height:112px;object-fit:contain;background:#eef2f4}.qr-group-preview-card strong{font-size:.74rem;overflow-wrap:anywhere}.qr-group-preview-card span,.qr-group-preview-card small{font-size:.68rem;color:var(--muted);overflow-wrap:anywhere}.qr-group-preview-card .qr-preview-position{position:absolute;z-index:3;top:7px;left:7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 4px;border-radius:999px;background:#173f39;color:#fff;font-weight:800}.qr-group-preview-card .key-image-source{color:#125a9c;font-weight:800}.qr-preview-unassigned{padding:12px;border:1px solid #e3c67f;border-radius:8px;background:#fffaf0}

.photo-tile>.qr-preview-position{position:absolute;z-index:5;top:7px;left:50%;display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:#173f39;color:#fff;font-size:.72rem;font-weight:800;transform:translateX(-50%);box-shadow:0 1px 4px #0003}
[data-qr-start-status]:not(:empty){flex-basis:100%;font-size:.78rem;font-weight:760;color:#075f58}

/* Auftragsbezogene Fototag-Anmeldung: eigenständiger Staging-Arbeitsbereich. */
.registration-workspace{display:grid;gap:16px;min-width:0}.registration-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.registration-overview>div{display:grid;gap:5px;min-width:0;padding:13px;border:1px solid #d6e1f0;border-radius:11px;background:linear-gradient(145deg,#fff,#f7fbff)}.registration-overview span,.slot-preview span{color:#687791;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.registration-overview strong{overflow-wrap:anywhere;font-size:.92rem}.registration-link-card{grid-column:span 2}.registration-status{display:inline-flex;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#edf1f5;color:#4f5e70;font-size:.76rem;font-style:normal;font-weight:850}.registration-status.is-active{background:#e7f7ee;color:#176841}.registration-status.is-locked{background:#fff0e6;color:#944719}.registration-status.is-expired{background:#fdebef;color:#9c293a}.registration-status.is-draft{background:#eef2f8;color:#4f6179}.registration-type-card,.registration-status-actions{display:flex;align-items:end;gap:14px;padding:16px;border:1px solid #cbdbea;border-radius:12px;background:#f5f9ff}.registration-type-card label{display:grid;gap:5px;min-width:min(390px,100%);font-weight:800}.registration-type-card p,.registration-status-actions p{margin:0;color:var(--muted)}.registration-card{padding:18px;border:1px solid #d7e1ee;border-radius:14px;background:#fff;box-shadow:0 8px 24px #314d7410}.registration-card-head{display:flex;justify-content:space-between;gap:18px;align-items:start;margin-bottom:16px}.registration-card-head h3{margin:0;font-size:1.45rem}.registration-card-head p:not(.eyebrow){max-width:760px;margin:5px 0 0;color:var(--muted)}.registration-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.registration-form label{display:grid;gap:6px;min-width:0;font-weight:760}.registration-form input,.registration-form select,.registration-form textarea{width:100%;min-width:0;box-sizing:border-box}.registration-form small{color:var(--muted);font-weight:500}.registration-form .full-row{grid-column:1/-1}.registration-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;flex-wrap:wrap}.registration-actions a,.registration-actions button{white-space:normal}.slot-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}.slot-preview>div{display:grid;gap:4px;padding:12px;border:1px solid #d6e1ee;border-radius:9px;background:#f7fbff}.registration-export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.registration-export-grid article{display:flex;flex-wrap:wrap;align-content:start;gap:7px;padding:14px;border:1px solid #d6e1ee;border-radius:10px;background:#fbfdff}.registration-export-grid article strong,.registration-export-grid article p{flex-basis:100%}.registration-export-grid article p{margin:0 0 4px;color:var(--muted);font-size:.83rem}.registration-status-actions{align-items:center}.registration-status-actions>div{margin-right:auto}.registration-filters{display:grid;grid-template-columns:minmax(160px,220px) minmax(260px,1fr);gap:10px;margin-bottom:12px}.registration-filters label{display:grid;gap:5px;font-weight:760}.registration-table{width:100%;min-width:1180px;border-collapse:collapse}.registration-table th,.registration-table td{padding:9px;border-bottom:1px solid #dfe6ee;text-align:left;vertical-align:top}.registration-table th{background:#f4f7fa;color:var(--muted);font-size:.72rem;text-transform:uppercase}.registration-table td small{display:block;color:var(--muted)}.slot-state{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:.72rem;font-weight:800}.slot-state.is-free{background:#e9f7ef;color:#176841}.slot-state.is-booked{background:#edf1f5;color:#526174}.registration-message{min-height:20px;margin:0;color:#235d50;font-weight:700}.form-errors{color:#a62b25}
@media(max-width:1100px){.registration-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.registration-form{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-export-grid{grid-template-columns:1fr 1fr}.registration-link-card{grid-column:span 2}}
@media(max-width:760px){.registration-overview,.registration-form,.slot-preview,.registration-export-grid,.registration-filters{grid-template-columns:1fr}.registration-link-card{grid-column:1}.registration-type-card,.registration-status-actions,.registration-card-head{align-items:stretch;flex-direction:column}.registration-type-card label{min-width:0}.registration-form .full-row{grid-column:1}.registration-actions{align-items:stretch}.registration-actions>*{width:100%}}
.slot-state.is-cancelled{background:#fff0e6;color:#944719}
.registration-data-areas{display:grid;gap:10px}.registration-data-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid #cbdbea;border-radius:10px;background:#f5f9ff}.registration-data-tabs button{min-height:42px;border-radius:6px;background:#fff;color:#33445d}.registration-data-tabs button[aria-selected="true"]{border-color:#0f766e;background:#0f766e;color:#fff}.registration-data-areas [hidden]{display:none!important}.registration-table-compact{min-width:1040px}.booking-details{position:relative;min-width:190px}.booking-details summary{cursor:pointer;color:#075f58;font-weight:800}.booking-details dl{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(190px,1.3fr);gap:7px 12px;min-width:min(620px,72vw);margin:10px 0;padding:12px;border:1px solid #d6e1ee;border-radius:8px;background:#f8fbff}.booking-details dt{color:var(--muted);font-size:.76rem;font-weight:800}.booking-details dd{margin:0;overflow-wrap:anywhere}.booking-details+button{margin-top:8px;white-space:normal}.registration-data-areas dialog{max-width:min(520px,90vw);border:0;border-radius:12px;box-shadow:0 24px 70px #10253a55}.registration-data-areas dialog::backdrop{background:#10253a99}.registration-data-areas dialog form{display:grid;gap:14px}.registration-data-areas dialog h3,.registration-data-areas dialog p{margin:0}

/* R13: ausschließlich die erzeugte QR-Arbeitsansicht. */
.qr-block-toolbar{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:12px 0;padding:12px;border:1px solid #a9d2ca;border-radius:10px;background:#f6fffc}.qr-block-toolbar[hidden]{display:none}.qr-block-toolbar label{display:grid;gap:4px;min-width:190px;color:var(--muted);font-size:.76rem;font-weight:800}.qr-candidate-move-bar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 10px 8px;padding:10px;border:1px solid #d09b2c;border-radius:9px;background:#fff}.qr-candidate-move-bar strong{align-self:center;color:#7a4b00}.qr-candidate-move-bar label{display:grid;gap:4px;min-width:min(34rem,100%);font-size:.78rem;font-weight:800;color:var(--muted)}.qr-candidate-move-bar select{width:100%}.qr-managed-block{border:1px solid #bad8d2!important}.qr-managed-block.is-drop-target,.qr-workspace-grid.is-drop-target{outline:3px solid #168f7e;outline-offset:3px;background:#eaf8f4}.qr-managed-block>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.qr-block-identity,.qr-block-counts{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.qr-block-counts span{padding:4px 7px;border-radius:999px;background:#eef4f6;font-size:.72rem}.qr-block-direct-move{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-top:1px solid #d6ebe6;border-bottom:1px solid #d6ebe6;background:#f3fbf8}.qr-block-direct-move small{color:var(--muted)}.qr-block-management{padding:7px 10px;border-bottom:1px solid var(--line)}.qr-block-management summary{cursor:pointer;color:#075f58;font-weight:800}.qr-block-menu{display:flex;gap:6px;flex-wrap:wrap;padding-top:8px}.qr-workspace-grid{position:relative;min-height:120px;padding:10px}.qr-workspace-grid .photo-tile{cursor:grab}.qr-workspace-grid .photo-tile:active{cursor:grabbing}.photo-tile.is-selected{outline:3px solid #1479d1;outline-offset:2px;box-shadow:0 0 0 5px #1479d126}.photo-sale-badge{position:absolute;z-index:6;right:7px;bottom:7px;display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:999px;background:#e4f0ff;color:#1261a8;font-size:.74rem;font-weight:900;box-shadow:0 1px 4px #0003}.qr-drag-ghost{position:fixed;left:-9999px;top:-9999px;z-index:9999;display:flex;align-items:center;gap:7px;padding:7px 10px;border:2px solid #168f7e;border-radius:8px;background:#fff;box-shadow:0 8px 24px #0004}.qr-drag-ghost img{width:48px;height:48px;object-fit:cover}.qr-selection-marquee{position:fixed;z-index:9998;border:1px solid #1479d1;background:#1479d126}.qr-drop-line{display:block;min-height:4px;border-radius:3px;background:#168f7e33}.qr-drop-line:hover{background:#168f7e}.qr-block-workspace .is-qr,.qr-block-workspace .is-qr-candidate{cursor:not-allowed}.qr-decision-dialog{max-width:34rem;border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(15,23,42,.28)}.qr-decision-dialog::backdrop{background:rgba(15,23,42,.48)}.qr-decision-dialog form{display:grid;gap:14px;padding:24px}.qr-decision-dialog h3,.qr-decision-dialog p{margin:0}.qr-decision-options{display:grid;gap:10px}.qr-decision-options button{width:100%;text-align:left;padding:12px 14px}.qr-decision-dialog .secondary{justify-self:end}@media(max-width:760px){.qr-block-toolbar,.qr-candidate-move-bar{align-items:stretch;flex-direction:column}.qr-block-toolbar>*,.qr-candidate-move-bar>*,.qr-block-direct-move>*{width:100%}.qr-managed-block>summary{align-items:flex-start;flex-direction:column}.qr-block-menu>*{width:100%}}
.qr-decision-options [hidden]{display:none!important}
.qr-block-workspace .is-qr-candidate{cursor:grab}.qr-block-workspace .is-qr-candidate:active{cursor:grabbing}
/* R14: professional class/group entry for the protected photo manager */
.photo-management-list{display:grid;gap:16px}.pm-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:20px;border:1px solid #cfe0e5;border-radius:14px;background:linear-gradient(135deg,#f7fbfc,#eef8f6)}.pm-list-head h3,.pm-detail-context h3{margin:3px 0 5px}.pm-summary{display:flex;flex-wrap:wrap;gap:8px}.pm-summary span{padding:8px 11px;border:1px solid #d8e2e6;border-radius:999px;background:#fff}.pm-toolbar{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:10px;align-items:end}.pm-toolbar label{display:grid;gap:5px}.pm-batch{position:sticky;top:8px;z-index:7;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;background:#123f3b;color:#fff;box-shadow:0 8px 24px #123f3b33}.pm-batch[hidden]{display:none}.pm-table-wrap{max-height:68vh;border:1px solid #dce5e8;border-radius:10px}.pm-table{min-width:1580px;border-collapse:separate;border-spacing:0}.pm-table th,.pm-table td{padding:10px 9px;vertical-align:top;border-bottom:1px solid #e7edef}.pm-table thead th{position:sticky;top:0;z-index:3;background:#f3f6f7;white-space:nowrap}.pm-table tfoot th{position:sticky;bottom:0;background:#dff0f4}.pm-table tbody tr:hover{background:#f4faf9}.pm-table td small,.pm-table td a{display:block}.pm-table td small{margin-top:3px;color:#5f6d73}.pm-warning{font-weight:700;color:#a84512;background:#fff6ed}.pm-status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:.78rem;font-weight:800;background:#e8eef0}.status-aktiv .pm-status{color:#086b45;background:#d9f5e8}.status-prüfen .pm-status{color:#8b4b0b;background:#fff0cf}.status-archiviert{opacity:.7}.pm-actions{position:relative}.pm-actions summary{cursor:pointer;white-space:nowrap}.pm-actions>div{position:absolute;right:0;z-index:9;display:grid;min-width:210px;padding:7px;border:1px solid #cad7dc;border-radius:9px;background:#fff;box-shadow:0 12px 28px #15323d33}.pm-actions a,.pm-actions button{padding:8px;text-align:left;border:0;background:transparent;color:#174f66;text-decoration:none}.pm-actions a:hover,.pm-actions button:hover{background:#eaf4f5}.pm-pagination{display:flex;justify-content:flex-end;align-items:center;gap:10px}.pm-dialog form{display:grid;gap:14px;min-width:min(500px,80vw)}.pm-dialog label{display:grid;gap:5px}.pm-detail-context{display:flex;align-items:center;gap:18px;margin-bottom:14px;padding:12px 15px;border:1px solid #b9d8d3;border-radius:12px;background:#f2faf8}.pm-detail-context .button-link{white-space:nowrap}
.pm-profile-individual,.pm-profile-individual span,.pm-profile-individual small{color:#a1121a!important;font-weight:800}.qr-block-shop-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:min(100%,360px)}.qr-block-shop-actions input[readonly]{width:min(330px,100%);min-width:210px;padding:6px 8px;border:1px solid #9db8b5;border-radius:6px;background:#fff;color:#173d3a;font-size:.74rem}.qr-shop-inactive-note{max-width:250px;color:#5c696d;font-size:.74rem;font-weight:700}.qr-block-shop-actions .button-link,.qr-block-shop-actions button{white-space:nowrap}
@media(max-width:1100px){.pm-toolbar{grid-template-columns:repeat(2,minmax(180px,1fr))}.pm-table{min-width:1280px}.pm-table th:nth-child(7),.pm-table td:nth-child(7),.pm-table th:nth-child(8),.pm-table td:nth-child(8),.pm-table th:nth-child(12),.pm-table td:nth-child(12){display:none}}
@media(max-width:720px){.pm-list-head,.pm-detail-context{display:grid}.pm-toolbar{grid-template-columns:1fr}.pm-summary{display:grid;grid-template-columns:1fr 1fr}.pm-table{min-width:0}.pm-table thead,.pm-table tfoot{display:none}.pm-table tbody,.pm-table tr,.pm-table td{display:block}.pm-table tr{margin-bottom:12px;padding:10px;border:1px solid #d8e3e6;border-radius:12px}.pm-table td{display:grid!important;grid-template-columns:42% 58%;padding:6px;border:0}.pm-table td:before{font-weight:700;color:#53636a}.pm-table td:nth-child(1):before{content:'Auswahl'}.pm-table td:nth-child(2):before{content:'Klasse / Gruppe'}.pm-table td:nth-child(3):before{content:'Fotos gesamt'}.pm-table td:nth-child(4):before{content:'Gruppenfotos'}.pm-table td:nth-child(5):before{content:'Einzelfotos'}.pm-table td:nth-child(6):before{content:'Collagen'}.pm-table td:nth-child(9):before{content:'Nicht zugeordnet'}.pm-table td:nth-child(10):before{content:'Schlüsselbilder'}.pm-table td:nth-child(11):before{content:'Preisprofil'}.pm-table td:nth-child(13):before{content:'Bestellte Fotos'}.pm-table td:nth-child(14):before{content:'Status'}.pm-table td:nth-child(15):before{content:'Aktionen'}.pm-actions>div{left:0;right:auto}.pm-pagination{justify-content:center;flex-wrap:wrap}}

/* R20: kompaktere Klassen-/Gruppenliste mit bewusst zweizeiligen Spaltenköpfen. */
.photo-management-list{gap:14px}.pm-list-head{padding:18px}.pm-summary{gap:7px}.pm-summary span{padding:7px 10px}.pm-toolbar{gap:8px}.pm-toolbar label{gap:4px}.pm-table-wrap{border-radius:8px}.pm-table{min-width:1380px}.pm-table th,.pm-table td{padding:7px;line-height:1.22}.pm-table thead th{vertical-align:middle;white-space:normal}.pm-head-stack{display:inline-grid;gap:1px;line-height:1.08}.pm-head-stack>span{display:block}.pm-table td small{margin-top:2px}.pm-status{padding:4px 7px;border:1px solid #d6e0e3;border-radius:4px;font-size:.76rem;line-height:1.14}.status-aktiv .pm-status{border-color:#b9e4d1}.status-prüfen .pm-status{border-color:#eed49b}
@media(max-width:1100px){.pm-table{min-width:1180px}}
@media(max-width:720px){.pm-table{min-width:0}}
/* Globale Gutscheine */
.voucher-page { display:grid; gap:20px; }
.voucher-table-wrap { max-width:100%; max-height:68vh; overflow:auto; border:1px solid #d8e1ee; border-radius:10px; background:#fff; box-shadow:0 7px 22px rgba(27,47,82,.05); }
.voucher-table-wrap:focus-visible { outline:3px solid #8eb8ff; outline-offset:2px; }
.voucher-table { width:100%; min-width:1080px; border-collapse:separate; border-spacing:0; font-size:13px; }
.voucher-table th,.voucher-table td { padding:10px 11px; border-bottom:1px solid #e1e7ef; text-align:left; vertical-align:middle; }
.voucher-table thead th { position:sticky; top:0; z-index:2; background:#f1f4f8; color:#526176; font-size:11px; font-weight:850; letter-spacing:.035em; text-transform:uppercase; white-space:nowrap; }
.voucher-table tbody tr:last-child td { border-bottom:0; }
.voucher-table tbody tr:hover { background:#f7faff; }
.voucher-table th:nth-child(1) { width:17%; }
.voucher-table th:nth-child(2) { width:12%; }
.voucher-table th:nth-child(3),.voucher-table th:nth-child(4) { width:10%; }
.voucher-table th:nth-child(5),.voucher-table th:nth-child(6),.voucher-table th:nth-child(7) { width:8%; }
.voucher-table th:nth-child(8) { width:11%; }
.voucher-table th:nth-child(9) { width:9%; }
.voucher-name-link { color:#1467a8; font-weight:800; text-decoration:none; }
.voucher-name-link:hover,.voucher-name-link:focus-visible { color:#0c4c80; text-decoration:underline; }
.voucher-code { display:inline-flex; padding:4px 7px; border-radius:6px; background:#eef3ff; color:#284fbe; font:800 11px/1.2 ui-monospace,monospace; letter-spacing:.045em; white-space:nowrap; }
.voucher-value,.voucher-table time { white-space:nowrap; }
.voucher-status { display:inline-flex; padding:5px 8px; border-radius:999px; background:#e8f7ee; color:#18703b; font-size:11px; font-weight:850; white-space:nowrap; }
.voucher-status-expired,.voucher-status-exhausted { background:#fff8f8; }
.voucher-status-expired .voucher-status,.voucher-status-exhausted .voucher-status { background:#fde8e8; color:#a32323; }
.voucher-status-inactive { background:#fafbfc; color:#5f6a79; }
.voucher-status-inactive .voucher-status { background:#edf0f4; color:#596474; }
.voucher-status-scheduled { background:#fffdf7; }
.voucher-status-scheduled .voucher-status { background:#fff4d9; color:#8b5b00; }
.voucher-action-menu { position:relative; width:max-content; }
.voucher-action-menu summary { min-width:76px; padding:6px 8px; border:1px solid #b9c8d9; border-radius:6px; background:#fff; color:#26445d; cursor:pointer; font-size:11px; font-weight:800; text-align:center; }
.voucher-action-menu[open] summary { border-color:#0f766e; color:#0f665f; }
.voucher-actions { position:absolute; top:calc(100% + 4px); right:0; z-index:8; display:grid; min-width:132px; gap:4px; margin:0; padding:6px; border:1px solid #cbd6e2; border-radius:8px; background:#fff; box-shadow:0 10px 28px rgba(23,42,68,.2); }
.voucher-table tbody tr:last-child .voucher-actions { top:auto; bottom:calc(100% + 4px); }
.voucher-actions button { min-height:30px; padding:5px 8px; font-size:11px; text-align:left; }
.voucher-actions .danger { color:#a32323; border-color:#efc0c0; }
.voucher-form { display:grid; grid-template-columns:repeat(3,minmax(180px,1fr)); gap:16px; padding:22px; border:1px solid #cbd9ee; border-radius:18px; background:#f8fbff; }
.voucher-form label { display:grid; gap:7px; font-weight:700; color:#34445c; }
.voucher-form input,.voucher-form select { min-height:44px; padding:9px 11px; border:1px solid #bdcbe0; border-radius:10px; background:#fff; }
.voucher-form .voucher-checkbox { display:flex; align-items:center; gap:9px; }
.voucher-form .voucher-checkbox input { min-height:0; }
.voucher-form-actions { display:flex; flex-wrap:wrap; grid-column:1/-1; gap:9px; margin-top:18px; }
@media (max-width:1100px) { .voucher-table { min-width:960px; font-size:12px; } .voucher-table th,.voucher-table td { padding:8px 7px; } .voucher-actions { gap:3px; } .voucher-actions button { padding:4px 6px; } }
@media (max-width:900px) { .voucher-form { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .voucher-form { grid-template-columns:1fr; } }
.photo-job-header-controls{display:flex;justify-content:flex-end;align-items:flex-start;position:relative;margin-bottom:12px}.photo-job-status-menu{position:relative;z-index:5}.photo-job-status-menu summary{list-style:none;cursor:pointer}.photo-job-status-menu summary::-webkit-details-marker{display:none}.photo-job-status-button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid currentColor;border-radius:999px;font-weight:800;box-shadow:0 2px 5px rgba(15,23,42,.08)}.status-planning{color:#b91c1c;background:#fee2e2;border-color:#ef4444}.status-sale{color:#166534;background:#dcfce7;border-color:#22c55e}.status-archived{color:#fff;background:#111827;border-color:#000}.photo-job-status-options{position:absolute;right:0;top:calc(100% + 8px);min-width:250px;padding:12px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 16px 36px rgba(15,23,42,.18);display:grid;gap:8px}.photo-job-status-options strong{font-size:13px;color:#334155}.photo-job-status-options button{border:1px solid #cbd5e1;border-radius:8px;padding:8px 10px;text-align:left;font-weight:700;background:#fff}.photo-job-status-options button:disabled{opacity:.6;cursor:default}.photo-job-status-options button.status-planning{color:#b91c1c;background:#fff1f2}.photo-job-status-options button.status-sale{color:#166534;background:#f0fdf4}.photo-job-status-options button.status-archived{color:#fff;background:#111827}.photo-job-status-dialog{border:0;border-radius:16px;padding:0;max-width:480px;width:calc(100% - 32px);box-shadow:0 24px 80px rgba(15,23,42,.35)}[data-status-dialog]::backdrop{background:rgba(15,23,42,.45)}[data-status-dialog] form{padding:24px}[data-status-dialog] h3{margin:0 0 10px}[data-status-dialog] p{color:#475569;line-height:1.5}.photo-job-status-dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px}.photo-job-status-dialog-actions button{border:1px solid #cbd5e1;border-radius:8px;padding:9px 12px;background:#fff}.photo-job-status-dialog-actions .primary{background:#0f766e;color:#fff;border-color:#0f766e}.photo-job-status-context{margin-bottom:14px;padding:10px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;color:#475569}
.pm-delete-dialog{max-width:680px}.pm-delete-dialog [data-delete-warning]{padding:12px;border-left:4px solid #b42318;background:#fff4f2}.pm-delete-facts{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,1fr);gap:6px 14px;margin:14px 0}.pm-delete-facts dt{font-weight:700}.pm-delete-facts dd{margin:0;text-align:right}.pm-delete-dialog .danger{background:#b42318;color:#fff;border-color:#b42318}.pm-delete-dialog .danger:disabled{opacity:.45}

/* R107: QR-Identität visuell priorisieren, ohne gespeicherte Sortierung zu verändern. */
.qr-managed-block .qr-block-identity{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:7px;min-width:min(100%,360px);max-width:100%}
.qr-managed-block .qr-block-person-name{display:block;color:#172b3a!important;font-size:1.2rem!important;line-height:1.3;font-weight:750;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.qr-managed-block .qr-block-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.qr-managed-block .qr-block-code-row strong{font-size:1rem;line-height:1.35;letter-spacing:.02em}
.qr-managed-block .qr-block-identity .qr-block-shop-actions{margin:0}
.photo-window-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px 0;padding:10px;border:1px solid #cbd8d6;border-radius:10px;background:#f5faf9;position:relative;z-index:1}.photo-window-pager span{font-weight:700;color:#34514d}.photo-window-pager button:disabled{opacity:.45;cursor:not-allowed}

/* R123: genau eine stabile Fotoansicht; Werkzeugleisten reservieren ihren Platz im normalen Dokumentfluss. */
.photo-manager-shell .photo-bulk-bar,.photo-manager-shell .qr-block-toolbar{position:static;inset:auto;z-index:auto}
.photo-manager-results,[data-photo-view-root],[data-photo-card-container],.photo-section,.photo-grid,.qr-folder-container,.qr-workspace-grid{position:relative;inset:auto}
[data-photo-view-root]{display:grid;gap:18px;min-width:0}
.photo-logical-window i{display:block;width:1px;height:1px}.photo-logical-window button{border:1px solid #168f7e;border-radius:8px;background:#fff;color:#075f58;font-weight:800;padding:7px 11px}.photo-window-placeholder{margin:0;padding:18px;border:1px dashed #b8cbc7;border-radius:8px;color:var(--muted);text-align:center}
.qr-self-service{border-color:#9ab8d4;background:linear-gradient(135deg,#f8fbff,#eef6ff)}
.qr-self-service-progress{display:grid;grid-template-columns:repeat(6,minmax(92px,1fr));gap:10px;margin:14px 0}
.qr-self-service-progress>div{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid #cbdbea;border-radius:10px;background:#fff}
.qr-self-service-progress strong{font-size:1.05rem}.qr-self-service-progress span,.qr-self-service-current{color:#526579;font-size:.83rem}
.qr-self-service-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
.qr-self-service-actions>span{color:#526579;font-size:.86rem}
.qr-self-service-overview{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.qr-self-service-overview span{padding:7px 9px;border:1px solid #d5e2ee;border-radius:8px;background:#fff;font-size:.84rem}
.qr-self-service-queue{display:grid;gap:6px;margin:14px 0 0;padding-left:22px}
.qr-self-service-queue li{display:grid;grid-template-columns:minmax(140px,1fr) auto;gap:6px 14px;padding:8px 10px;border:1px solid #d5e2ee;border-radius:8px;background:#fff}
.qr-self-service-queue small{grid-column:1/-1;color:#a02b2b}
.qr-self-service-dialog{width:min(620px,calc(100vw - 32px));border:0;border-radius:14px;padding:24px;box-shadow:0 24px 80px #10243d55}
.qr-self-service-dialog::backdrop{background:#10243d99}.qr-self-service-dialog>form{float:right}.qr-self-service-dialog dl{display:grid;gap:8px;margin:18px 0}.qr-self-service-dialog dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #dde6ee}.qr-self-service-dialog dd{font-weight:700}
.qr-self-service-batch-list{display:grid;gap:8px;max-height:46vh;overflow:auto;margin:16px 0}.qr-self-service-batch-list label{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid #d5e2ee;border-radius:8px}.qr-self-service-batch-list span{display:grid;gap:3px}.qr-self-service-batch-list small{color:#526579}
@media(max-width:900px){.qr-self-service-progress{grid-template-columns:repeat(3,minmax(90px,1fr))}}
@media(max-width:520px){.qr-self-service-progress{grid-template-columns:repeat(2,minmax(90px,1fr))}.qr-self-service-actions>button{width:100%}}
.qr-binding-review{margin:16px 0;padding:16px;border:1px solid #98cfc8;border-radius:12px;background:#f4fbfa}.qr-binding-review>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qr-binding-review h4,.qr-binding-review h5{margin:0 0 6px}.qr-binding-candidate{display:grid;grid-template-columns:minmax(280px,42%) 1fr;gap:18px;margin:16px 0;padding:14px;border:1px solid #c7d9dc;border-radius:10px;background:#fff}.qr-binding-preview img{display:block;width:100%;max-height:520px;object-fit:contain;background:#edf2f3;border-radius:8px}.qr-binding-preview .button-link{margin-top:8px}.qr-binding-fields{min-width:0}.qr-binding-fields dl,.qr-binding-final-check dl,.qr-binding-confirm dl,.qr-binding-person{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qr-binding-fields dl>div,.qr-binding-final-check dl>div,.qr-binding-confirm dl>div,.qr-binding-person>div{padding:8px;border-radius:7px;background:#f3f7f8;overflow-wrap:anywhere}.qr-binding-fields dt,.qr-binding-final-check dt,.qr-binding-confirm dt{font-size:.75rem;font-weight:700;color:#52616c}.qr-binding-fields dd,.qr-binding-final-check dd,.qr-binding-confirm dd{margin:2px 0 0}.qr-binding-fields label{display:block;margin-top:10px}.qr-binding-fields select,.qr-binding-fields input{width:100%}.qr-binding-fields pre{max-height:220px;overflow:auto;white-space:pre-wrap}.qr-binding-resolution.is-blocked,.qr-binding-blockers{color:#9f2a1f}.qr-binding-final-check{margin-top:18px;padding-top:16px;border-top:1px solid #b9d8d4}.qr-binding-confirm{max-width:760px}.qr-binding-review dialog{max-width:min(820px,92vw);max-height:88vh;overflow:auto;border:0;border-radius:12px;box-shadow:0 20px 60px #0005}.qr-binding-review dialog::backdrop{background:#13272a99}@media(max-width:1100px){.qr-binding-candidate{grid-template-columns:1fr}.qr-binding-review>header{flex-direction:column}.qr-binding-fields dl,.qr-binding-final-check dl,.qr-binding-confirm dl,.qr-binding-person{grid-template-columns:1fr}}
.qr-binding-warnings{padding:10px 12px 10px 28px;border:1px solid #d9a441;border-radius:8px;background:#fff8e8;color:#714c05}.qr-binding-conflict{margin:12px 0;padding:12px;border:1px solid #d9a441;border-radius:8px;background:#fffaf0}.qr-binding-conflict h4{margin:0}.qr-binding-conflict select{width:100%}.qr-binding-saved dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qr-binding-saved dl>div{padding:8px;border-radius:7px;background:#fff}.qr-binding-saved dd{margin:2px 0 0}@media(max-width:1100px){.qr-binding-saved dl{grid-template-columns:1fr}}
.qr-binding-recognized-transfer{margin-top:18px;padding:16px;border:2px solid #138276;border-radius:10px;background:#fff}.qr-binding-recognized-transfer dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qr-binding-recognized-transfer dl>div{padding:8px;border-radius:7px;background:#edf8f6}.qr-binding-recognized-transfer dt{font-size:.75rem;font-weight:700;color:#52616c}.qr-binding-recognized-transfer dd{margin:2px 0 0}.qr-open-candidates{border:2px solid #d09b2c;background:#fffaf0}@media(max-width:1100px){.qr-binding-recognized-transfer dl{grid-template-columns:1fr}}
@media(max-width:1180px){.photo-manager-body:has([data-binding-review-host]){grid-template-columns:minmax(0,1fr)}.photo-manager-body:has([data-binding-review-host]) .photo-inspector{position:relative;top:auto;max-height:none}}
@media(min-width:1181px) and (max-width:1600px){.photo-manager-toolbar{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-manager-toolbar label:first-child{grid-column:1/-1}}

/* R121: Ordnercontainer bleiben dauerhaft im DOM; nur ihre Bildkarten werden gefenstert. */
.qr-folder-overview{display:grid;gap:10px;margin:12px 0 18px;padding:14px;border:1px solid #90c8c1;border-radius:12px;background:#f2fbf9}
.qr-folder-overview>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.qr-folder-overview>header strong{font-size:1.05rem}.qr-folder-overview>header span{color:#4f6664;font-size:.82rem}
.qr-folder-overview-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px;max-height:310px;overflow:auto}
.qr-folder-overview-list a{display:grid;gap:2px;padding:8px 10px;border:1px solid #c4dbd8;border-radius:8px;background:#fff;color:#173d3a;text-decoration:none;scroll-margin-top:14px}.qr-folder-overview-list a:hover,.qr-folder-overview-list a:focus-visible{border-color:#168f7e;outline:2px solid #168f7e33}.qr-folder-overview-list span,.qr-folder-overview-list small{overflow-wrap:anywhere}.qr-folder-overview-list small{color:#586b69}
.qr-folder-container{scroll-margin-top:14px}.qr-folder-container.is-filter-nonmatch{opacity:.68}.qr-folder-container.is-filter-nonmatch:target,.qr-folder-container.is-filter-nonmatch:focus-within{opacity:1}
.photo-tile.is-thumb-pending{display:none!important}
.photo-thumb-error{display:grid;gap:7px;place-items:center;min-height:142px;padding:12px;background:#fff3f1;color:#8b2c2c;text-align:center}.photo-thumb-error[hidden]{display:none}.photo-thumb-error span{font-size:.75rem;overflow-wrap:anywhere}.photo-thumb-error button{border:1px solid #c96c61;border-radius:7px;background:#fff;padding:6px 9px;color:#8b2c2c;font-weight:800}
.tile-small .photo-thumb-error{min-height:108px}.tile-large .photo-thumb-error{min-height:190px}

/* Stable image geometry shared by class, individual, QR, table and inspector views. */
.photo-grid{grid-auto-rows:258px}.photo-grid.tile-small{grid-auto-rows:224px}.photo-grid.tile-large{grid-auto-rows:306px}
.photo-tile{box-sizing:border-box;height:100%}.photo-tile.is-selected{border-width:1px;border-color:#168f7e}
.photo-tile-link{grid-template-rows:142px minmax(0,1fr);height:100%}.tile-small .photo-tile-link{grid-template-rows:108px minmax(0,1fr)}.tile-large .photo-tile-link{grid-template-rows:190px minmax(0,1fr)}
.photo-media-frame{position:relative;display:grid;place-items:center;width:100%;height:100%;overflow:hidden;background:#eef2f4}
.photo-media-frame img,.photo-tile-link .photo-media-frame img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.photo-tile-meta{grid-auto-rows:minmax(0,1fr);box-sizing:border-box;height:102px;min-height:102px;max-height:102px;overflow:hidden}
.photo-tile-meta strong,.photo-tile.is-key-image .photo-tile-meta strong,.photo-tile-meta span,.photo-tile-meta small,.photo-tile .key-image-source,.photo-inspect-hint{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;line-height:1.25}
.photo-badge{box-sizing:border-box;max-width:100%}
.photo-thumb-error{position:absolute;z-index:7;inset:0 0 auto;box-sizing:border-box;width:100%;height:142px;min-height:0;padding:12px;overflow:hidden}.tile-small .photo-thumb-error{height:108px;min-height:0}.tile-large .photo-thumb-error{height:190px;min-height:0}
.photo-inspector-preview{box-sizing:border-box;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;overflow:hidden}
.photo-inspector-preview img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
.photo-manager-shell .media-table .media-thumb,.media-thumb,.qr-marker-preview,.qr-context-strip img{object-fit:contain;background:#eef2f4}

/* R150: large, read-only photographer workspace. Image geometry remains R141-compatible. */
.photo-inspector.is-quick .photo-inspector-preview{position:relative;display:block;overflow:hidden;background:#eef2f4}
.photo-inspector.is-quick .photo-inspector-preview img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center center;transform:none;filter:none}
.photo-inspector-large-open{border-color:#087d70!important;background:#087d70!important;color:#fff!important;font-weight:800}
.photo-inspector-large-open:hover,.photo-inspector-large-open:focus-visible{background:#06685e!important;outline:2px solid #087d7033}
.photo-inspector.is-open{position:fixed;z-index:1200;inset:0;box-sizing:border-box;width:100vw;height:100dvh;max-height:none;overflow:hidden;padding:18px;border:0;border-radius:0;background:#10231fcc;box-shadow:none}
.photo-inspector-workspace{display:grid;grid-template-columns:minmax(0,72fr) minmax(320px,28fr);width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;border:1px solid #aebfc2;border-radius:14px;background:#f7faf9;box-shadow:0 24px 80px #07130f88}
.photo-inspector-canvas{display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;min-width:0;min-height:0;padding:14px;background:#e5eaeb}
.photo-inspector-canvas .photo-inspector-toolbar{align-items:center;margin:0;padding:0}
.photo-inspector-toolbar button.is-active{border-color:#087d70;background:#087d70;color:#fff;box-shadow:0 0 0 2px #087d7030;font-weight:800}
.photo-inspector-canvas .photo-inspector-toolbar a{margin-left:auto}
.photo-inspector.is-open .photo-inspector-preview{display:block;place-items:start;align-items:start;justify-items:start;box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;max-height:none;margin:0;overflow:auto;aspect-ratio:auto;overscroll-behavior:contain;touch-action:none;background:#fff;scrollbar-gutter:stable;border-color:#aeb9bc;cursor:default}
.photo-inspector.is-open .photo-inspector-preview.is-black{background:#000}
.photo-inspector-zoom-surface{position:relative;display:block;min-width:100%;min-height:100%}
.photo-inspector-zoom-surface img,.photo-inspector.is-open .photo-inspector-preview img{position:absolute;display:block;object-fit:contain;transform:none;transform-origin:center;transition:none;user-select:none;-webkit-user-drag:none}
.photo-inspector-zoom-surface.is-fit{display:grid;place-items:center}.photo-inspector-zoom-surface.is-fit img{position:static}
.photo-inspector-preview.is-pannable{cursor:grab}.photo-inspector-preview.is-pannable.is-panning{cursor:grabbing}
.photo-inspector-details{min-width:0;min-height:0;overflow:auto;padding:16px 18px 28px;border-left:1px solid #c3d0d2;background:#fbfdfd;overscroll-behavior:contain}
.photo-inspector-details .photo-inspector-head{position:sticky;z-index:3;top:-16px;margin:-16px -18px 12px;padding:16px 18px 12px;border-bottom:1px solid #d6e0e2;background:#fbfdfdf5;backdrop-filter:blur(8px)}
.photo-inspector-details .photo-inspector-head>div{min-width:0}.photo-inspector-details .photo-inspector-head h3{font-size:1.05rem}
.photo-inspector-close{margin-left:auto;border:1px solid #9db0b4;border-radius:8px;background:#fff;padding:8px 10px;color:#173d3a;font-weight:800;white-space:nowrap;cursor:pointer}
.photo-inspector-close:hover,.photo-inspector-close:focus-visible{border-color:#087d70;outline:2px solid #087d7033}
.photo-inspector-details .readonly-chip{display:none}
.photo-inspector-details .qr-inspector-section,.photo-inspector-details .key-image-inspector-section{margin:12px 0;padding:12px;border:1px solid #d4dfe1;border-radius:10px;background:#fff}
.photo-inspector-details .photo-inspector-data{grid-template-columns:1fr}
@media(max-width:900px){.photo-inspector.is-open{padding:8px}.photo-inspector-workspace{grid-template-columns:1fr;grid-template-rows:minmax(360px,62dvh) minmax(0,1fr)}.photo-inspector-canvas{padding:9px}.photo-inspector-details{border-top:1px solid #c3d0d2;border-left:0}.photo-inspector-canvas .photo-inspector-toolbar a{margin-left:0}}
@media(max-width:560px){.photo-inspector.is-open{padding:0}.photo-inspector-workspace{grid-template-rows:minmax(300px,54dvh) minmax(0,1fr);border:0;border-radius:0}.photo-inspector-canvas{gap:6px;padding:6px}.photo-inspector-canvas .photo-inspector-toolbar{max-height:86px;overflow:auto}.photo-inspector-canvas .photo-inspector-toolbar button,.photo-inspector-canvas .photo-inspector-toolbar a{min-height:34px}.photo-inspector-details{padding:12px}.photo-inspector-details .photo-inspector-head{top:-12px;margin:-12px -12px 10px;padding:12px}.photo-inspector-close{padding:7px 8px}}

/* R127: aktive Sortierung und positionsgenaues DnD ohne Raster-Neuaufbau. */
.photo-sort-control{position:relative}.active-sort-indicator{display:block;margin-top:4px;color:#075f58;font-size:.72rem;font-weight:800;line-height:1.2}.photo-sort-control select[data-active-sort]{border-color:#168f7e;box-shadow:0 0 0 2px #168f7e22}
[data-manual-draggable]{cursor:grab}[data-manual-draggable]:active{cursor:grabbing}.photo-tile.is-insert-before{box-shadow:inset 5px 0 0 #0b8f7e,0 0 0 2px #0b8f7e}.photo-tile.is-insert-after{box-shadow:inset -5px 0 0 #0b8f7e,0 0 0 2px #0b8f7e}
.media-table tr.is-insert-before>td{border-top:4px solid #0b8f7e}.media-table tr.is-insert-after>td{border-bottom:4px solid #0b8f7e}

.qr-conflict-segment{border:2px solid #d09b2c;background:#fffaf0}.qr-conflict-segment.is-legacy{border-color:#82919d;background:#f7f9fa}.qr-segment-resolution{display:flex;gap:8px;flex-wrap:wrap;padding:10px}.qr-segment-resolution select,.qr-segment-resolution input{min-width:240px;flex:1}@media(max-width:760px){.qr-segment-resolution>*{width:100%}}

/* Price-profile action buttons: always visible, independently focusable and wrapped. */
#priceProfileRows td:last-child { min-width: 15rem; width: 15rem; }
.price-profile-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .45rem; width: 15rem; max-width: 100%; }
.price-profile-actions > button.price-profile-action { flex: 1 1 6.8rem; min-width: 0; max-width: 100%; min-height: 2.5rem; margin: 0; padding: .55rem .7rem; white-space: normal; overflow-wrap: anywhere; line-height: 1.25; border: 1px solid #b7c1ca; border-radius: .45rem; font-size: .85rem; font-weight: 700; cursor: pointer; }
.price-profile-actions > button.primary { color: #fff; background: #0f766e; border-color: #0f766e; }
.price-profile-actions > button.secondary { color: #243342; background: #f2f4f7; border-color: #b7c1ca; }
.price-profile-actions > button.warning { color: #783c0c; background: #fff0cb; border-color: #ba6a17; }
.price-profile-actions > button.danger { color: #fff; background: #b4232b; border-color: #b4232b; }
.price-profile-actions > button.positive { color: #fff; background: #16733b; border-color: #16733b; }
.price-profile-actions > button:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 3px; }
.price-profile-actions > button:disabled { opacity: .6; cursor: wait; }
.price-profile-action-feedback { flex-basis: 100%; margin: 0; overflow-wrap: anywhere; color: #9d2029; }
.price-profile-action-feedback:empty { display: none; }
#archivedPriceProfiles .archived-price-profile { min-width: 0; }
#archivedPriceProfiles h4 { overflow-wrap: anywhere; }

/* Price-profile overview only: readable names and compact two-line column labels. */
.price-profile-table { table-layout: auto; }
.price-profile-table th { text-align: center; vertical-align: middle; line-height: 1.2; }
.price-profile-table td { vertical-align: top; }
.price-profile-table th:first-child,
#priceProfileRows td:first-child { width: 180px; min-width: 160px; max-width: 220px; text-align: left; vertical-align: top; white-space: normal; word-break: normal; overflow-wrap: normal; hyphens: manual; }
#priceProfileRows td:first-child > a { display: block; width: 180px; min-width: 160px; max-width: 220px; white-space: normal; word-break: normal; overflow-wrap: normal; hyphens: manual; }
.price-profile-column-label { display: inline-grid; white-space: nowrap; line-height: 1.2; }
.price-profile-column-label > span { display: block; white-space: nowrap; }
.price-profile-table th:nth-child(n+6):nth-child(-n+11),
#priceProfileRows td:nth-child(n+6):nth-child(-n+11),
.price-profile-table th:nth-child(15),
#priceProfileRows td:nth-child(15) { width: 80px; min-width: 72px; max-width: 92px; padding-inline: 6px; text-align: center; }
#priceProfileRows td:nth-child(4),
#priceProfileRows td:nth-child(12),
#priceProfileRows td:nth-child(13),
#priceProfileRows td:nth-child(14),
#priceProfileRows td:nth-child(16) { text-align: center; }
