/*
 * Dateizweck: Definiert Layout, Zustände und responsive Darstellung für „Wds theme“.
 * Fachlogik bleibt in Python/JavaScript; diese Datei verändert ausschließlich die Präsentation.
 */

:root {
  --wds-navy: #012056;
  --wds-navy-dark: #00163d;
  --wds-navy-hover: #0a3975;
  --wds-navy-mid: #315681;
  --wds-blue-soft: #eef3f9;
  --wds-blue-pale: #f6f8fb;
  --wds-gray: #565957;
  --wds-border: #d9e0e8;
}

.tenant-delete-error {
  margin: 0 0 20px;
  border: 1px solid #efb4ae;
}

.tenant-danger-zone {
  margin-top: 24px;
  padding: 0;
  overflow: hidden;
  border-color: #dc8d86;
  box-shadow: 0 5px 22px #7f1d1d12;
}

.tenant-danger-zone > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 26px;
  list-style: none;
  cursor: pointer;
}

.tenant-danger-zone > summary::-webkit-details-marker { display: none; }
.tenant-danger-zone > summary > span:first-child { display: grid; gap: 4px; }
.tenant-danger-zone > summary strong { color: #8f1d15; font-size: 1.08rem; }
.tenant-danger-zone > summary small { color: #657084; }
.danger-outline {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid #d9a09b;
  border-radius: 8px;
  color: #8f1d15;
  font-size: .8rem;
  font-weight: 750;
}
.tenant-danger-zone[open] > summary { border-bottom: 1px solid #f0cbc7; background: #fff8f7; }
.tenant-danger-zone[open] .danger-outline { background: #fff; }

.tenant-danger-content { padding: 26px; }
.tenant-danger-warning {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 22px;
  padding: 17px;
  border-radius: 12px;
  background: #fff1f0;
  color: #76140e;
}
.tenant-danger-warning > span {
  display: grid;
  place-items: center;
  flex: 0 0 35px;
  height: 35px;
  border-radius: 50%;
  background: #9f1d14;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 850;
}
.tenant-danger-warning h2 { margin: 0 0 5px; font-size: 1.1rem; }
.tenant-danger-warning p { margin: 0; }
.tenant-delete-form { display: grid; gap: 20px; }
.tenant-delete-confirmations {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.tenant-delete-confirmations label {
  align-content: start;
  padding: 15px;
  border: 1px solid #dfe4ec;
  border-radius: 11px;
  background: #fafbfc;
}
.tenant-delete-confirmations code {
  overflow-wrap: anywhere;
  color: #8f1d15;
}
.tenant-delete-confirmations small { color: #657084; font-weight: 500; line-height: 1.4; }
.tenant-delete-submit {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6eaf0;
}
.tenant-delete-submit p { margin: 0; color: #657084; font-size: .86rem; }
body:not(.companion-page) .tenant-delete-submit .danger { background: #9f1d14; color: #fff; }
body:not(.companion-page) .tenant-delete-submit .danger:hover:not(:disabled) { background: #7f1710; }
.tenant-protected-zone {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 24px;
  border-color: #b9dfc8;
  background: #f4fbf6;
}
.tenant-protected-zone > span {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  height: 36px;
  border-radius: 50%;
  background: #15703d;
  color: #fff;
  font-weight: 850;
}
.tenant-protected-zone h2, .tenant-protected-zone p { margin: 0; }
.tenant-protected-zone p { margin-top: 4px; color: #3f6b51; }

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 850px) {
  .tenant-delete-confirmations { grid-template-columns: 1fr; }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 600px) {
  .tenant-danger-zone > summary, .tenant-delete-submit { align-items: stretch; flex-direction: column; }
  .tenant-danger-content { padding: 19px; }
  .danger-outline { align-self: flex-start; }
}

/* Begleitkarten behalten absichtlich ihr bisheriges Druckdesign. */
body:not(.companion-page) {
  accent-color: var(--wds-navy);
}

body:not(.companion-page) header {
  background: var(--wds-navy-dark);
  border-bottom-color: var(--wds-navy);
}

body:not(.companion-page) .main-nav {
  border-color: #ffffff20;
  background: #ffffff0d;
}

body:not(.companion-page) .main-nav > a,
body:not(.companion-page) .main-nav .nav-area-link {
  color: #f7f9fc;
}

body:not(.companion-page) .main-nav > a:hover,
body:not(.companion-page) .main-nav .nav-area-link:hover,
body:not(.companion-page) .nav-area:focus-within > .nav-area-link {
  background: #ffffff18;
  color: #fff;
  box-shadow: none;
}

body:not(.companion-page) .nav-submenu {
  border-color: #cbd5e1;
  background: #fff;
}

body:not(.companion-page) .main-nav .nav-submenu a {
  color: #172033;
}

body:not(.companion-page) .main-nav .nav-submenu a:hover {
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) .brand,
body:not(.companion-page) header a,
body:not(.companion-page) header button.link {
  color: #fff;
}

body:not(.companion-page) > header .brand.brand-logo-link {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  max-width: none;
  overflow: hidden;
  padding: 0;
  border-radius: 8px;
  background: #fff;
  line-height: 0;
}

body:not(.companion-page) > header .brand.brand-logo-link::before {
  display: none;
  content: none;
}

body:not(.companion-page) > header .brand-logo {
  display: block;
  width: clamp(158px, 11vw, 190px);
  height: auto;
  max-height: 58px;
  object-fit: contain;
}

body:not(.companion-page) .tenant-chip {
  border-color: #ffffff3d;
  background: #ffffff17;
  color: #fff;
}

body:not(.companion-page) button:not(.danger):not(.link),
body:not(.companion-page) .button:not(.danger),
body:not(.companion-page) input[type="submit"] {
  background: var(--wds-navy);
  color: #fff;
}

body:not(.companion-page) button:not(.danger):not(.link):hover,
body:not(.companion-page) .button:not(.danger):hover,
body:not(.companion-page) input[type="submit"]:hover {
  background: var(--wds-navy-hover);
}

body:not(.companion-page) button.secondary,
body:not(.companion-page) .button.secondary {
  border-color: #b9c7d8;
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) a,
body:not(.companion-page) .link-button,
body:not(.companion-page) .text-link {
  color: var(--wds-navy-hover);
}

body:not(.companion-page) input:focus,
body:not(.companion-page) select:focus,
body:not(.companion-page) textarea:focus {
  border-color: var(--wds-navy-mid);
  box-shadow: 0 0 0 3px #31568124;
}

body:not(.companion-page) .tabs a.active,
body:not(.companion-page) .module-tab.active,
body:not(.companion-page) .filter-chip.active,
body:not(.companion-page) .nav-pill.active {
  border-color: var(--wds-navy);
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) .stat-card::before,
body:not(.companion-page) .module-card::before,
body:not(.companion-page) .section-accent {
  background: var(--wds-navy);
}

body:not(.companion-page) .badge:not(.danger):not(.success):not(.warning),
body:not(.companion-page) .status:not(.critical):not(.error):not(.success):not(.warning) {
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) .report-hero {
  background: linear-gradient(135deg, var(--wds-navy-dark) 0%, var(--wds-navy) 62%, var(--wds-navy-mid) 100%);
  box-shadow: 0 14px 38px #0120562b;
}

body:not(.companion-page) .report-back,
body:not(.companion-page) .report-hero .eyebrow,
body:not(.companion-page) .report-time span,
body:not(.companion-page) .report-trust,
body:not(.companion-page) .report-hero p {
  color: #e8eef6;
}

body:not(.companion-page) .report-steps button.active {
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) .report-steps button.active b,
body:not(.companion-page) .step-heading > span {
  background: var(--wds-navy);
  box-shadow: 0 5px 14px #01205640;
}

body:not(.companion-page) .step-kicker,
body:not(.companion-page) .module-choice > b,
body:not(.companion-page) .photo-drop > b {
  color: var(--wds-navy);
}

body:not(.companion-page) .module-choice:has(input:checked) {
  border-color: var(--wds-navy);
  background: var(--wds-blue-pale);
  box-shadow: 0 5px 16px #01205614;
}

body:not(.companion-page) .report-section {
  border-top-color: var(--wds-navy);
}

body:not(.companion-page) .photo-drop:hover {
  border-color: var(--wds-navy-mid);
  background: var(--wds-blue-pale);
}

body:not(.companion-page) .auto-note,
body:not(.companion-page) .finish-note,
body:not(.companion-page) .info-box:not(.error) {
  background: var(--wds-blue-soft);
  color: var(--wds-navy-hover);
}

body:not(.companion-page) .wizard-actions {
  background: var(--wds-navy-dark);
}

body:not(.companion-page) .wizard-actions .secondary {
  border-color: #ffffff24;
  background: #ffffff14;
  color: #fff;
}

body:not(.companion-page) .support-bar details {
  border-color: transparent;
  background: transparent;
  color: #fff;
}

body:not(.companion-page) .support-bar summary,
body:not(.companion-page) .support-bar summary strong {
  color: #fff;
}

body:not(.companion-page) .support-bar .support-expand,
body:not(.companion-page) .support-bar .support-details > span {
  color: #cbd5e1;
}

body:not(.companion-page) .support-dot {
  background: #4ade80;
}

/* Ticketbereich: RescIQ-Farben mit gut lesbaren Status- und Tabellenkontrasten. */
body:not(.companion-page) .issue-workspace {
  --issue-ink: #172033;
  --issue-muted: #596579;
  --issue-border: #d7dee8;
  --issue-soft: #f3f6fa;
  --issue-blue: var(--wds-navy);
  --issue-red: #b42318;
}

body:not(.companion-page) .issue-header {
  border-color: #17376b;
  background: var(--wds-navy-dark);
  color: #fff;
}

body:not(.companion-page) .issue-header h1 {
  color: #fff;
}

body:not(.companion-page) .issue-header .eyebrow {
  color: #cbd8e8;
}

body:not(.companion-page) .issue-header .assignee-chip {
  background: #e5edf6;
  color: #172033;
}

body:not(.companion-page) .issue-header .issue-actions .button {
  border-color: #d5deea;
  background: #f5f7fa;
  color: var(--wds-navy);
}

body:not(.companion-page) .issue-header .issue-actions .button:hover {
  background: #fff;
  color: var(--wds-navy-dark);
}

body:not(.companion-page) .issue-table-wrap,
body:not(.companion-page) .ticket-filter-panel,
body:not(.companion-page) .report-create-panel {
  border-color: #cfd8e4;
  background: #fff;
}

body:not(.companion-page) .issue-table-header {
  border-bottom-color: #cfd8e4;
  background: #eaf0f7;
  color: #465268;
}

body:not(.companion-page) .issue-row {
  border-bottom-color: #e1e6ed;
  color: #172033;
}

body:not(.companion-page) .issue-row:hover {
  background: #f1f5fa;
  color: #172033;
}

body:not(.companion-page) .issue-row-icon {
  background: var(--wds-navy);
  color: #fff;
}

body:not(.companion-page) .issue-key,
body:not(.companion-page) .property-list a,
body:not(.companion-page) .context-object i,
body:not(.companion-page) .context-object a:hover strong {
  color: var(--wds-navy-hover);
}

body:not(.companion-page) .issue-summary small,
body:not(.companion-page) .issue-updated {
  color: #596579;
}

body:not(.companion-page) .issue-assignee i,
body:not(.companion-page) .assignee-chip i {
  background: #dce7f4;
  color: var(--wds-navy);
}

body:not(.companion-page) .quick-filters a {
  border-color: #cbd5e1;
  background: #fff;
  color: #334155;
}

body:not(.companion-page) .quick-filters a:hover {
  border-color: #7890ad;
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

body:not(.companion-page) .ticket-filter-panel summary,
body:not(.companion-page) .report-create-panel > summary {
  color: #334155;
}

body:not(.companion-page) .status-in_progress,
body:not(.companion-page) .priority-normal {
  background: #dce7f4;
  color: #07366f;
}

body:not(.companion-page) .status-open,
body:not(.companion-page) .priority-high {
  background: #fff0b3;
  color: #624a00;
}

body:not(.companion-page) .priority-low {
  background: #e9edf2;
  color: #465268;
}

body:not(.companion-page) .status-waiting_parts,
body:not(.companion-page) .priority-critical {
  background: #ffe2de;
  color: #8c1d14;
}

body:not(.companion-page) .status-done,
body:not(.companion-page) .status-closed {
  background: #ddf5e6;
  color: #0b6335;
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 1100px) {
  body:not(.companion-page) .main-nav {
    background: var(--wds-navy-dark);
  }
}

.warehouse-card{position:relative;padding:0;overflow:visible}.warehouse-link{display:block;padding:24px 24px 18px;text-decoration:none}.warehouse-link h2{margin:0 0 8px;color:#172033}.warehouse-link p{margin:0 0 10px}.warehouse-link>strong{color:#012056}.warehouse-delete{border-top:1px solid #e2e7ed;padding:10px 14px}.warehouse-delete>summary{display:inline-flex;cursor:pointer;list-style:none;border:1px solid #d6dde6;border-radius:7px;padding:5px 9px;color:#596579;font-size:.72rem;font-weight:700}.warehouse-delete>summary::-webkit-details-marker{display:none}.warehouse-delete>summary:hover{border-color:#c98d87;background:#fff5f4;color:#8c1d14}.warehouse-delete-confirm{display:grid;gap:8px;margin-top:10px;padding:14px;border:1px solid #edc3bf;border-radius:10px;background:#fff8f7}.warehouse-delete-confirm>strong{color:#8c1d14}.warehouse-delete-confirm p{margin:0;color:#596579;font-size:.82rem;line-height:1.45}.warehouse-delete-confirm form{display:grid;gap:10px;margin:2px 0 0}.warehouse-delete-confirm label{font-size:.78rem}.warehouse-delete-confirm input{padding:9px}.warehouse-delete-confirm button{justify-self:start;padding:8px 11px;font-size:.76rem}

/* Druckregeln blenden Bedienelemente aus und optimieren die Ausgabe auf Papier. */
@media print {
  body:not(.companion-page) {
    --wds-navy: #012056;
  }
}

.warehouse-layout-card{margin-bottom:20px}.warehouse-layout-card form{display:grid;gap:14px}.cabinet-editor{display:grid;gap:14px;margin:0;padding:18px;border:1px solid #cbd5e1;border-radius:13px;background:#f8fafc}.cabinet-heading,.compartment-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.cabinet-heading label,.compartment-heading label{flex:1}.compartment-list{display:grid;gap:12px}.compartment-editor{display:grid;gap:12px;padding:15px;border:1px solid #dbe2ea;border-radius:10px;background:#fff}.product-assignment{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;max-height:250px;overflow:auto;padding:10px;border:1px solid #e1e6ed;border-radius:8px;background:#f8fafc}.product-assignment .check{align-items:flex-start;padding:6px;border-radius:6px}.product-assignment .check:hover{background:#eef3f9}.product-assignment span{display:grid;color:#172033}.product-assignment small{color:#657084}.small{padding:7px 10px!important;font-size:.74rem!important}.layout-readonly{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.layout-readonly article{padding:16px;border:1px solid #dbe2ea;border-radius:10px}.layout-readonly h3{margin:0 0 10px}.layout-readonly article>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #edf0f4}.layout-readonly article span{color:#657084;font-size:.8rem}@media(max-width:650px){.cabinet-heading,.compartment-heading{align-items:stretch;flex-direction:column}.product-assignment{grid-template-columns:1fr}}

.layout-title-actions,.cabinet-actions,.readonly-cabinet-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.readonly-cabinet-title{justify-content:space-between;margin-bottom:8px}.readonly-cabinet-title h3{margin:0}.save-first{font-size:.76rem}.article-picker{display:grid;gap:12px}.assigned-products-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.assigned-products-heading span{color:#657084;font-size:.76rem}.assigned-products{display:grid;gap:6px;margin:0;padding:0;list-style:none}.assigned-product{display:grid;grid-template-columns:18px 58px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #dbe2ea;border-radius:8px;background:#f8fafc;cursor:grab}.assigned-product:active{cursor:grabbing}.drag-handle{color:#8490a1;font-weight:800;letter-spacing:-3px}.position-number{font-size:.76rem;color:#012056}.assigned-product-name{display:grid;min-width:0;font-weight:700;color:#172033}.assigned-product-name small{font-size:.7rem;font-weight:500;color:#657084}.product-move-actions{display:flex;gap:5px}.icon-button{min-width:31px!important;padding:5px 7px!important}.icon-button.remove{color:#8c1d14}.assigned-empty{padding:12px;border:1px dashed #cbd5e1;border-radius:8px;color:#657084;text-align:center}.product-search{display:grid;gap:8px;padding:12px;border:1px solid #dbe2ea;border-radius:9px;background:#f8fafc}.product-search label{display:grid;gap:5px;font-weight:700}.product-search input{width:100%}.product-search-table-wrap{max-height:285px;overflow:auto;border:1px solid #d6dee8;border-radius:8px;background:#fff}.product-search-table{width:100%;border-collapse:collapse;text-align:left}.product-search-table thead{position:sticky;top:0;z-index:1;background:#eaf0f7;color:#465268}.product-search-table th{padding:9px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.product-search-table td{padding:8px 10px;border-top:1px solid #e4e9ef;color:#334155;font-size:.8rem;vertical-align:middle}.product-search-table tbody tr:hover{background:#f3f7fb}.product-search-table th:last-child,.product-search-table td:last-child{text-align:right}.search-product-name{font-weight:700;color:#172033!important}.search-product-number{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#596579!important}.add-product-button{white-space:nowrap}.product-search-table .search-empty{padding:18px;color:#657084;text-align:center}@media(max-width:650px){.cabinet-actions,.assigned-products-heading{align-items:stretch;flex-direction:column}.assigned-product{grid-template-columns:16px 52px minmax(0,1fr)}.product-move-actions{grid-column:2/4;justify-content:flex-end}.product-search-table th:nth-child(3),.product-search-table td:nth-child(3){display:none}}

.label-print-button{display:inline-flex!important;align-items:center!important;gap:9px!important;padding:9px 13px!important;border:1px solid #8fb1d3!important;background:linear-gradient(135deg,#f7fbff,#e8f2fc)!important;color:#012056!important;box-shadow:0 3px 9px #01205612}.label-print-button:hover{border-color:#4f80ae!important;background:#fff!important;transform:translateY(-1px)}.label-print-button>span:first-child{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#012056;color:#fff;font-size:1rem}.label-print-button>span:last-child{display:grid;text-align:left;line-height:1.05}.label-print-button strong{font-size:.78rem}.label-print-button small{margin-top:3px;color:#66758a;font-size:.62rem;font-weight:600}.label-print-button.compact{padding:7px 10px!important}.label-print-button.compact>span:first-child{width:24px;height:24px;font-size:.85rem}
.stock-table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 14px}
.stock-table-heading h2{margin:0 0 6px}
.stock-table-heading p{margin:0;max-width:850px}
#stock-save-all{position:sticky;top:82px;z-index:4;display:grid;min-width:190px;padding:11px 18px;box-shadow:0 8px 22px #01205622}
#stock-save-all small{margin-top:2px;color:#dbeafe;font-size:.7rem;font-weight:600}
#stock-save-all:disabled small{color:#718096}
.stock-card>.success-banner{margin:0 24px 16px}
.stock-search{display:grid;grid-template-columns:minmax(220px,480px) auto;align-items:end;gap:.5rem 1rem;margin:0 24px 1rem}
.stock-search label{grid-column:1;font-weight:700}
.stock-search input{grid-column:1;min-width:0;background:#fbfcfe;border-color:#aeb9c8}
.stock-search input:focus{background:#fff;border-color:#315681;box-shadow:0 0 0 3px #31568120;outline:0}
.stock-search span{grid-column:2;grid-row:2;white-space:nowrap}
.stock-edit-cell{white-space:nowrap}
.stock-number-input{width:96px;min-width:76px;font-weight:700;text-align:center;background:#fbfcfe}
#stock-table tbody tr:hover{background:#f8fafc}
#stock-table tbody tr.stock-row-dirty{background:#fff8e8}
#stock-table tbody tr.stock-row-dirty:hover{background:#fff3d5}
.warehouse-product-assignment{margin-bottom:22px}
.warehouse-product-assignment>label{max-width:520px;margin:18px 0 12px}
.assignment-results{max-height:320px;overflow:auto;border:1px solid #d6dee8;border-radius:10px;background:#fbfcfe}
.assignment-results form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px 12px;border-bottom:1px solid #e4e9ef}
.assignment-results form:last-of-type{border-bottom:0}
.assignment-results form:hover{background:#f3f7fb}
.assignment-results span{display:grid;min-width:0}
.assignment-results small{color:#657084;margin-top:3px}
.assignment-results button{padding:8px 12px}
.stock-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.stock-actions form{margin:0}
.stock-actions .secondary{padding:9px 10px;font-size:.82rem}
/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media(max-width:640px){.stock-table-heading{align-items:stretch;flex-direction:column;padding-left:18px;padding-right:18px}.stock-table-heading #stock-save-all{position:static;width:100%}.stock-card>.success-banner{margin-left:18px;margin-right:18px}.stock-search{grid-template-columns:1fr;margin-left:18px;margin-right:18px}.stock-search span{grid-column:1;grid-row:auto}}

/* Die Hauptnavigation bleibt auf großen Bildschirmen in einer sauberen Zeile.
   Auf kleineren Geräten wird sie frühzeitig über den Menüknopf geöffnet. */
body:not(.companion-page) > header .brand {
  flex: 0 0 auto;
  white-space: nowrap;
  line-height: 1.1;
}

body:not(.companion-page) > header .main-nav {
  min-width: 0;
}

body:not(.companion-page) > header .main-nav > a,
body:not(.companion-page) > header .main-nav .nav-area-link {
  white-space: nowrap;
  line-height: 1.15;
  text-align: center;
}

body:not(.companion-page) > header .header-account {
  flex: 0 0 auto;
}

body:not(.companion-page) .asset-builder-hero a.asset-builder-back {
  color: #ffe7e4;
}

body:not(.companion-page) .asset-builder-hero a.asset-builder-back:hover {
  color: #fff;
  text-decoration: underline;
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (min-width: 1401px) {
  body:not(.companion-page) > header {
    height: 68px;
    justify-content: flex-start;
    gap: 10px;
    padding: 0 max(18px, calc((100vw - 1600px) / 2));
  }

  body:not(.companion-page) > header .brand {
    font-size: .9rem;
  }

  body:not(.companion-page) > header .main-nav {
    flex: 1 1 auto;
    justify-content: center;
    gap: 1px;
    margin: 0;
    padding: 4px;
  }

  body:not(.companion-page) > header .main-nav > a,
  body:not(.companion-page) > header .main-nav .nav-area-link {
    padding: 8px clamp(5px, .5vw, 8px);
    font-size: clamp(.71rem, .72vw, .81rem);
  }

  body:not(.companion-page) > header .header-account {
    gap: 4px;
    margin: 0;
    padding-left: 9px;
  }

  body:not(.companion-page) > header .tenant-chip {
    padding: 5px 8px;
    font-size: .7rem;
  }

  body:not(.companion-page) > header .header-link,
  body:not(.companion-page) > header .header-account button {
    padding: 7px 5px;
    font-size: .76rem;
  }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 1400px) {
  body:not(.companion-page) > header {
    height: auto;
    min-height: 64px;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    padding: 8px 16px;
  }

  body:not(.companion-page) > header .nav-toggle {
    display: block;
    margin-left: auto;
    padding: 8px 12px;
  }

  body:not(.companion-page) > header .main-nav {
    display: none;
    order: 4;
    width: 100%;
    margin: 0;
    padding: 8px;
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  body:not(.companion-page) > header .main-nav.open {
    display: flex;
  }

  body:not(.companion-page) > header .header-account {
    gap: 5px;
    margin-left: 0;
    padding-left: 9px;
  }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 720px) {
  body:not(.companion-page) > header .brand {
    font-size: .84rem;
  }

  body:not(.companion-page) > header .brand-logo {
    width: 158px;
  }

  body:not(.companion-page) > header .header-account {
    order: 3;
    width: 100%;
    justify-content: flex-end;
    padding: 7px 0 0;
    border-top: 1px solid #ffffff24;
    border-left: 0;
  }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 520px) {
  body:not(.companion-page) > header .brand {
    max-width: none;
  }

  body:not(.companion-page) > header .brand:not(.brand-logo-link)::before {
    flex: 0 0 27px;
  }

  body:not(.companion-page) > header .brand-logo {
    width: 148px;
  }

  body:not(.companion-page) > header .header-account {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    justify-content: stretch;
    gap: 5px 8px;
    padding-top: 7px;
    white-space: nowrap;
  }

  body:not(.companion-page) > header .header-account .tenant-chip {
    grid-column: 1 / -1;
    justify-self: start;
  }

  body:not(.companion-page) > header .header-account .header-link {
    min-width: 0;
    margin: 0;
    padding: 7px 4px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body:not(.companion-page) > header .header-account form {
    margin: 0;
  }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 340px) {
  body:not(.companion-page) > header .header-account {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body:not(.companion-page) > header .header-account > .header-link[href="/dashboard/announcements"] {
    grid-column: 1 / -1;
    justify-self: start;
    max-width: 100%;
  }
}

/* Globale Fußzeile des Mandantenportals. */
body:has(.app-footer) {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body:has(.app-footer) > main {
  width: 100%;
  flex: 1 0 auto;
}

.app-footer {
  flex: 0 0 auto;
  margin-top: 46px;
  border-top: 3px solid #a92d22;
  background: var(--wds-navy-dark);
  color: #fff;
}

.app-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 22px 30px;
}

body:not(.companion-page) .app-footer a.app-footer-feedback {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid #ffffff2e;
  border-radius: 12px;
  background: #ffffff0d;
  color: #fff;
  text-decoration: none;
  transition: background .15s, border-color .15s, transform .15s;
}

body:not(.companion-page) .app-footer a.app-footer-feedback:hover {
  border-color: #ffffff61;
  background: #ffffff18;
  color: #fff;
  transform: translateY(-1px);
}

.app-footer-feedback-icon {
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #a92d22;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 850;
}

.app-footer-feedback > span:last-child {
  display: grid;
  gap: 2px;
}

.app-footer-feedback small {
  color: #cbd5e1;
  font-size: .75rem;
  font-weight: 500;
}

.app-footer-meta {
  display: flex;
  align-items: stretch;
  gap: 9px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.app-footer-meta > span {
  display: grid;
  gap: 2px;
  min-width: 118px;
  padding: 9px 12px;
  border: 1px solid #ffffff24;
  border-radius: 10px;
  background: #ffffff0a;
}

.app-footer-meta small {
  color: #aebbd0;
  font-size: .66rem;
  font-weight: 650;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.app-footer-meta strong {
  overflow: hidden;
  color: #fff;
  font-size: .84rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 760px) {
  .app-footer {
    margin-top: 32px;
  }

  .app-footer-inner {
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 20px 16px;
  }

  .app-footer-meta {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-footer-meta > span {
    min-width: 0;
  }
}

.assortment-intro {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  margin-bottom: 22px;
  background: linear-gradient(135deg, #fff 45%, var(--wds-blue-pale));
}

.assortment-intro h2,
.assortment-intro p {
  margin: 0;
}

.assortment-intro p {
  margin-top: 5px;
  color: #536174;
}

.assortment-intro-icon,
.assortment-symbol {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: var(--wds-navy);
  color: #fff;
  font-size: 1.45rem;
  font-weight: 850;
}

.assortment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 18px;
}

.assortment-card {
  display: grid;
  align-content: start;
  gap: 9px;
  min-height: 245px;
  color: #172033;
  text-decoration: none;
  transition: transform .15s, border-color .15s, box-shadow .15s;
}

.assortment-card:hover {
  transform: translateY(-2px);
  border-color: #9fb1c8;
  box-shadow: 0 11px 28px #17203315;
}

.assortment-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.assortment-card h2,
.assortment-card p {
  margin: 0;
}

.assortment-card p {
  min-height: 48px;
  color: #657084;
}

.assortment-card-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid #e6eaf0;
}

.assortment-card-stats span {
  display: grid;
  gap: 2px;
}

.assortment-card-stats strong {
  color: var(--wds-navy);
  font-size: 1.35rem;
}

.assortment-card-stats small {
  color: #657084;
}

.assortment-empty {
  grid-column: 1 / -1;
}

.assortment-settings {
  margin-bottom: 20px;
}

.assortment-editor-columns {
  display: grid;
  grid-template-columns: minmax(300px, .75fr) minmax(420px, 1.25fr);
  gap: 20px;
}

.assortment-selection {
  min-width: 0;
  padding: 23px;
}

.assortment-selection > .section-heading strong {
  color: var(--wds-navy);
  white-space: nowrap;
}

.assortment-choice-list,
.assortment-product-list {
  display: grid;
  gap: 8px;
  max-height: 580px;
  overflow: auto;
  padding: 2px;
}

.assortment-choice {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #dce3eb;
  border-radius: 11px;
  background: #fff;
  cursor: pointer;
  font-weight: 500;
  transition: border-color .12s, background .12s;
}

.assortment-choice:hover {
  border-color: #99adc5;
  background: #f8fafc;
}

.assortment-choice:has(input:checked) {
  border-color: var(--wds-navy-mid);
  background: var(--wds-blue-soft);
  box-shadow: inset 0 0 0 1px #31568122;
}

.assortment-choice input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
}

.assortment-choice span {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.assortment-choice small {
  overflow: hidden;
  color: #657084;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.assortment-searchbar {
  display: grid;
  gap: 11px;
  margin-bottom: 13px;
  padding: 13px;
  border-radius: 11px;
  background: #f5f7fa;
}

.assortment-searchbar label {
  font-size: .82rem;
}

.assortment-searchbar .actions {
  justify-content: flex-end;
}

.assortment-savebar {
  position: sticky;
  z-index: 15;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 20px;
  padding: 15px 18px;
  border: 1px solid #ffffff20;
  border-radius: 14px;
  background: var(--wds-navy-dark);
  color: #fff;
  box-shadow: 0 12px 36px #00163d45;
}

.assortment-savebar > div {
  display: grid;
  gap: 3px;
  margin-right: auto;
}

.assortment-savebar span {
  color: #d7e0ec;
  font-size: .84rem;
}

.assortment-savebar button {
  background: #fff !important;
  color: var(--wds-navy) !important;
}

.assortment-delete {
  margin-top: 24px;
}

.assortment-delete > form {
  max-width: 620px;
}

.warehouse-assortment-summary {
  margin-bottom: 20px;
}

.assortment-summary-chips,
.stock-source-list {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.assortment-summary-chips a {
  text-decoration: none;
}

.stock-source-list .badge {
  white-space: nowrap;
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 900px) {
  .assortment-editor-columns {
    grid-template-columns: 1fr;
  }

  .assortment-choice-list,
  .assortment-product-list {
    max-height: 440px;
  }
}

/* Responsive Regeln passen die Oberfläche an kleinere beziehungsweise größere Ansichten an. */
@media (max-width: 650px) {
  .assortment-intro {
    flex-direction: column;
  }

  .assortment-savebar {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }

  .assortment-savebar > div {
    margin: 0;
  }

  .assortment-savebar button {
    width: 100%;
  }
}

/* Das persönliche Profil bündelt die eigene Mitarbeiterakte und – nur mit den passenden Rechten – den RDL-Bereich. */
body:not(.companion-page) > header .profile-menu {
  position: relative;
}

body:not(.companion-page) > header .profile-menu > summary {
  display: block;
  cursor: pointer;
  list-style: none;
  border-radius: 8px;
  padding: 7px 6px;
}

body:not(.companion-page) > header .profile-menu > summary::-webkit-details-marker {
  display: none;
}

body:not(.companion-page) > header .profile-menu > summary::after {
  content: " ▾";
  font-size: .72em;
}

body:not(.companion-page) > header .profile-menu[open] > summary,
body:not(.companion-page) > header .profile-menu > summary:hover {
  background: #ffffff18;
  color: #fff;
}

body:not(.companion-page) > header .profile-menu[open] > summary::after {
  content: " ▴";
}

body:not(.companion-page) > header .profile-menu-submenu {
  display: none;
  position: absolute;
  z-index: 80;
  top: calc(100% + 9px);
  right: 0;
  width: max-content;
  min-width: 245px;
  max-width: calc(100vw - 24px);
  padding: 7px;
  border: 1px solid #cbd5e1;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 14px 35px #17203335;
}

body:not(.companion-page) > header .profile-menu[open] > .profile-menu-submenu {
  display: grid;
}

body:not(.companion-page) > header .profile-menu-submenu::before {
  content: "";
  position: absolute;
  top: -10px;
  right: 0;
  left: 0;
  height: 10px;
}

body:not(.companion-page) > header .profile-menu-submenu a {
  padding: 9px 11px;
  border-radius: 7px;
  color: #172033;
  font-size: .82rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

body:not(.companion-page) > header .profile-menu-submenu a:hover,
body:not(.companion-page) > header .profile-menu-submenu a:focus-visible {
  background: var(--wds-blue-soft);
  color: var(--wds-navy);
}

@media (max-width: 520px) {
  body:not(.companion-page) > header .profile-menu {
    min-width: 0;
  }

  body:not(.companion-page) > header .profile-menu > summary {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
