.qr-only {
  cursor: copy;
}

/* 4.0.5 · persoonlijke navigatiefavorieten en schaal */
:root{--menu-font-scale:1;--content-font-scale:1}
.content{font-size:calc(1rem * var(--content-font-scale))}.sidebar nav button,.nav-section-title,.sidebar footer{font-size:calc(.86rem * var(--menu-font-scale))}
.experience-card{position:relative}.favorite-star{position:absolute;z-index:2;top:.55rem;right:.65rem;font-size:1.25rem;color:#c47b12}.menu-position-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.menu-position-card{display:flex;align-items:center;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);text-align:left}.menu-position-card span{font-size:1.25rem;color:#c47b12}.menu-position-card.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)}.font-scale-settings{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.font-scale-settings label{display:grid;grid-template-columns:1fr auto;gap:.55rem;padding:1rem;border:1px solid var(--border);border-radius:12px}.font-scale-settings input{grid-column:1/-1;width:100%}
.geo-zone-card{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:1.25rem}.geo-zone-pie{width:132px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--primary) 0 var(--inside),#c2573b var(--inside) var(--outside),#b5b1a8 var(--outside) 100%);box-shadow:inset 0 0 0 24px var(--panel)}.geo-zone-legend{display:grid;gap:.5rem}.geo-zone-legend span{display:flex;justify-content:space-between;gap:1rem}.login-analysis-table article{display:grid;grid-template-columns:minmax(160px,1fr) 140px 90px 150px;gap:1rem;align-items:center;padding:.75rem;border-top:1px solid var(--border)}
@media(min-width:761px){
 body[data-menu-position^="top-"] .app-shell,body[data-menu-position^="bottom-"] .app-shell{display:block;padding:0}
 body[data-menu-position^="top-"] .sidebar,body[data-menu-position^="bottom-"] .sidebar{position:fixed;z-index:35;left:0;right:0;display:grid;width:auto;height:auto;min-height:0;padding:10px 3vw;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;border-radius:0;background:var(--primary)}
 body[data-menu-position^="top-"] .sidebar{top:0}body[data-menu-position^="bottom-"] .sidebar{top:auto;bottom:0}
 body[data-menu-position^="top-"] .sidebar nav,body[data-menu-position^="bottom-"] .sidebar nav{display:flex;overflow-x:auto;gap:.25rem}
 body[data-menu-position="top-center"] .sidebar nav,body[data-menu-position="bottom-center"] .sidebar nav{justify-content:center}
 body[data-menu-position="top-right"] .sidebar nav,body[data-menu-position="bottom-right"] .sidebar nav{justify-content:flex-end}
 body[data-menu-position^="top-"] .nav-section-title,body[data-menu-position^="bottom-"] .nav-section-title{display:none}
 body[data-menu-position^="top-"] .sidebar nav button,body[data-menu-position^="bottom-"] .sidebar nav button{flex:0 0 auto;white-space:nowrap}
 body[data-menu-position^="top-"] .content{padding-top:100px}body[data-menu-position^="bottom-"] .content{padding-bottom:110px}
 body[data-menu-position="left"] .app-shell{grid-template-columns:280px minmax(0,1fr)}body[data-menu-position="left"] .sidebar{grid-column:1;grid-row:1}
}
@media(max-width:760px){.menu-position-grid{grid-template-columns:1fr 1fr}.font-scale-settings{grid-template-columns:1fr}.geo-zone-card{grid-template-columns:1fr}.login-analysis-table article{grid-template-columns:1fr 1fr}}

.copy-feedback {
  min-height: 1.4em;
  color: var(--muted);
  font-size: 13px;
}

.template-picker {
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--soft);
}

.template-picker > div {
  display: grid;
  grid-template-columns: 1fr 180px;
  gap: 8px;
}

.template-picker select[size] {
  min-height: 190px;
  background: var(--panel);
}

.template-counts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 28px 0 16px;
}

.template-counts > button {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  color: var(--ink);
  text-align: left;
}

.template-counts > button.active {
  border-color: var(--primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 24%, transparent);
}

.template-counts > button > span:last-child {
  display: grid;
  gap: 2px;
}

.template-counts strong {
  font-size: 24px;
}

.template-toolbar {
  margin-top: 0;
}

.template-summary {
  color: var(--muted);
  font-size: 13px;
}

.template-list {
  margin-top: 12px;
}

.template-list article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
}

.built-in-badge {
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--soft);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.built-in-badge.own {
  background: #6d914926;
  color: #477026;
}

.label-preview-frame {
  display: grid;
  min-height: 205px;
  place-items: center;
  padding: 12px;
  overflow: hidden;
  border-radius: 10px;
  background:
    linear-gradient(45deg, #ddd 25%, transparent 25%) 0 0/12px 12px,
    linear-gradient(45deg, transparent 75%, #ddd 75%) 0 0/12px 12px,
    linear-gradient(45deg, transparent 75%, #ddd 75%) 6px -6px/12px 12px,
    linear-gradient(45deg, #ddd 25%, #f5f5f5 25%) 6px 6px/12px 12px;
}

.label-preview {
  width: min(100%, 100mm);
  max-height: 190px;
  box-shadow: 0 7px 18px #0002;
}

.print-label.label-qr-only {
  grid-template: 1fr / 1fr;
  place-items: center;
}

.print-label.label-qr-only img {
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}

.print-label.label-qr-only .label-content {
  display: none;
}

.label-editor-modal {
  width: min(1120px, 97vw);
}

.editor-tabs {
  width: max-content;
  margin: 20px 0 0;
}

.label-editor-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
  gap: 24px;
  align-items: start;
}

.label-controls .form-grid {
  margin-top: 16px;
}

.switch-label {
  display: flex !important;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  color: var(--ink) !important;
}

.switch-label input {
  width: auto;
}

.live-label-preview {
  position: sticky;
  top: 0;
  display: grid;
  gap: 12px;
  margin: 16px 0;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--soft);
}

.live-label-preview > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

#layout-live-preview {
  display: grid;
  min-height: 275px;
  place-items: center;
  padding: 14px;
  overflow: auto;
  border-radius: 9px;
  background:
    linear-gradient(45deg, #ddd 25%, transparent 25%) 0 0/12px 12px,
    linear-gradient(45deg, transparent 75%, #ddd 75%) 0 0/12px 12px,
    linear-gradient(45deg, transparent 75%, #ddd 75%) 6px -6px/12px 12px,
    linear-gradient(45deg, #ddd 25%, #f5f5f5 25%) 6px 6px/12px 12px;
}

#layout-live-preview .label-preview {
  width: min(100%, 100mm);
}

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

.nav-section-title {
  margin: 14px 12px 3px;
  color: #ffffff8f;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.integration-card {
  display: grid;
  gap: 18px;
}

.integration-status {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--soft);
}

.integration-status > span {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #da912a29;
  color: #a76014;
  font-size: 20px;
  font-weight: 900;
}

.integration-status.connected > span {
  background: #6d914926;
  color: #588037;
}

.integration-status > div {
  display: grid;
  gap: 4px;
}

.integration-settings {
  border-top: 1px solid var(--border);
  padding-top: 16px;
}

.integration-settings summary {
  width: max-content;
  color: var(--primary);
  cursor: pointer;
  font-weight: 800;
}

.integration-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 18px;
}

.integration-form label,
.ingredient-map-row > label:not(.import-toggle) {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.integration-form .wide {
  grid-column: 1/-1;
}

.qr-output-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.brother-lbx-action {
  display: grid;
  gap: 6px;
}

.brother-lbx-action small {
  line-height: 1.4;
}

.site-settings-section {
  display: grid;
  gap: 18px;
  padding: 5px 0 24px;
  border-bottom: 1px solid var(--border);
}

.site-settings-section > div:first-child > p {
  margin: 7px 0 0;
  color: var(--muted);
  line-height: 1.45;
}

.site-settings-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.site-settings-fields .wide {
  grid-column: 1/-1;
}

.site-toggle {
  display: flex !important;
  align-items: flex-start;
  gap: 10px !important;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 9px;
  background: var(--panel);
  color: var(--ink) !important;
  cursor: pointer;
}

.site-toggle.prominent {
  background: var(--soft);
}

.site-toggle input {
  flex: 0 0 auto;
  width: auto;
  margin: 3px 0 0;
}

.site-toggle span {
  display: grid;
  gap: 3px;
}

.site-toggle strong {
  font-size: 13px;
}

.site-toggle small {
  font-weight: 400;
  line-height: 1.35;
}

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

.menu-visibility-grid fieldset {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--border);
  border-radius: 11px;
}

.menu-visibility-grid legend {
  padding: 0 7px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.field-help {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.brewfather-sync-panel {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}

.sync-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.sync-metrics article {
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.sync-metrics small {
  color: var(--muted);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sync-metrics strong {
  color: var(--primary);
  font-size: clamp(24px, 3vw, 34px);
}

.sync-metrics span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.sync-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.sync-actions > div:first-child {
  display: grid;
  gap: 5px;
}

.sync-actions small {
  color: var(--muted);
}

.brewfather-browser,
.import-history {
  margin-top: 24px;
  padding: 20px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.brewfather-browser .toolbar {
  align-items: center;
}

.recipe-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  margin: 14px 0;
}

.recipe-card {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg);
  color: var(--ink);
  text-align: left;
}

.recipe-card:hover {
  border-color: var(--primary);
  transform: translateY(-1px);
}

.recipe-card > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.recipe-card strong,
.recipe-card small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.recipe-card b {
  color: var(--primary);
  font-size: 12px;
}

.recipe-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(145deg, #ed8b2f, #b96027);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}

.recipe-icon.large {
  width: 58px;
  height: 58px;
  border-radius: 15px;
  font-size: 16px;
}

.empty-state {
  display: grid;
  gap: 7px;
  margin-top: 24px;
  padding: 40px;
  border: 1px dashed var(--border);
  border-radius: 13px;
  text-align: center;
}

.empty-state p {
  margin: 0;
  color: var(--muted);
}

.section-heading {
  margin-bottom: 12px;
}

.recipe-browser-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.recipe-browser-heading p {
  margin: 5px 0 0;
  color: var(--muted);
}

.recipe-browser-heading .search {
  width: min(360px, 100%);
}

.import-history > article {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 2px;
  border-top: 1px solid var(--border);
}

.import-history > article > div {
  display: grid;
  gap: 3px;
}

.brewfather-modal {
  width: min(1180px, 97vw);
}

.modal-loading {
  display: grid;
  min-height: 230px;
  place-items: center;
  align-content: center;
  gap: 10px;
  text-align: center;
}

.spinner {
  width: 38px;
  height: 38px;
  border: 4px solid var(--border);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: beerzzz-spin .8s linear infinite;
}

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

.brewfather-recipe-heading {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom: 16px;
}

.brewfather-recipe-heading p {
  margin: 7px 0 0;
  color: var(--muted);
}

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

.recipe-ingredient-summary article {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--bg);
}

.recipe-ingredient-summary article > div {
  display: grid;
  gap: 2px;
}

.recipe-ingredient-summary small,
.recipe-ingredient-summary span {
  color: var(--muted);
  font-size: 11px;
}

.import-legend,
.ingredient-map-row {
  display: grid;
  grid-template-columns: 38px minmax(220px, 1.2fr) minmax(240px, 1fr) 150px 150px;
  align-items: center;
  gap: 12px;
}

.import-legend {
  padding: 9px 14px 9px 64px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ingredient-mapping {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 12px;
}

.ingredient-map-row {
  min-height: 92px;
  padding: 12px 14px;
  border-top: 1px solid var(--border);
}

.ingredient-map-row:first-child {
  border-top: 0;
}

.ingredient-map-row.disabled > *:not(.import-toggle) {
  opacity: .5;
}

.ingredient-source {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.ingredient-source > div {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.ingredient-source strong,
.ingredient-source small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.import-toggle input {
  width: 20px;
  height: 20px;
}

.mapping-status {
  padding: 7px 9px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 800;
}

.mapping-status.ok {
  background: #6d914926;
  color: #588037;
}

.mapping-status.error {
  background: #bf462c24;
  color: #c2573b;
}

.mapping-status.skipped {
  background: var(--soft);
  color: var(--muted);
}

.import-confirm {
  position: sticky;
  bottom: -29px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 20px -29px -29px;
  padding: 16px 29px;
  border-top: 1px solid var(--border);
  background: var(--panel);
  box-shadow: 0 -8px 20px #0001;
}

.import-confirm > div {
  display: grid;
  gap: 3px;
}

.import-success {
  text-align: center;
}

.success-mark {
  display: grid;
  width: 64px;
  height: 64px;
  margin: 0 auto 18px;
  place-items: center;
  border-radius: 50%;
  background: #6d914926;
  color: #588037;
  font-size: 32px;
}

.brewfather-inventory-panel {
  display: grid;
  gap: 18px;
  margin: 22px 0;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.inventory-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inventory-schedule-note {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--soft);
}

.inventory-schedule-note span {
  color: var(--muted);
  font-size: 13px;
}

.inventory-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px);
}

.brewfather-inventory-head,
.brewfather-inventory-row {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) minmax(125px, .72fr) minmax(220px, 1.2fr) minmax(125px, .72fr) minmax(160px, .9fr);
  gap: 14px;
  align-items: center;
}

.brewfather-inventory-head {
  padding: 0 14px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.brewfather-inventory-list {
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 13px;
}

.brewfather-inventory-row {
  position: relative;
  min-height: 92px;
  padding: 14px;
  border-bottom: 1px solid var(--border);
  background: var(--bg);
}

.brewfather-inventory-row:last-of-type {
  border-bottom: 0;
}

.brewfather-inventory-row > div:not(.inventory-remote):not(.inventory-row-actions) {
  display: grid;
  gap: 4px;
}

.brewfather-inventory-row small,
.brewfather-inventory-row span,
.brewfather-inventory-row code {
  color: var(--muted);
  font-size: 12px;
}

.brewfather-inventory-row code {
  overflow: hidden;
  text-overflow: ellipsis;
}

.inventory-remote {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.inventory-remote > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.linked-products {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.35;
}

.difference {
  color: #b45b2d;
}

.sync-status {
  display: inline-flex;
  width: max-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px !important;
  font-weight: 800;
}

.sync-status.ok {
  background: #6d914923;
  color: #588037;
}

.sync-status.warning {
  background: #d8922e22;
  color: #a16a20;
}

.sync-status.danger {
  background: #bf462c22;
  color: #b24630;
}

.sync-status.neutral {
  background: var(--soft);
  color: var(--muted);
}

.inventory-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.inventory-row-error {
  grid-column: 1/-1;
  margin: -4px 0 0 50px;
  color: #b24630;
  font-size: 12px;
}

.inventory-events {
  display: grid;
  gap: 8px;
  padding-top: 6px;
  border-top: 1px solid var(--border);
}

.inventory-events > article {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
}

.inventory-events > article div {
  display: grid;
  gap: 2px;
}

.brewfather-mapping-modal {
  width: min(760px, 96vw);
}

.mapping-product-dropdown {
  margin: 12px 0 18px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
}

.mapping-product-dropdown > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 15px;
  list-style: none;
  cursor: pointer;
}

.mapping-product-dropdown > summary::-webkit-details-marker {
  display: none;
}

.mapping-product-dropdown > summary::after {
  content: "⌄";
  color: var(--muted);
  font-size: 18px;
  transition: transform .15s ease;
}

.mapping-product-dropdown[open] > summary::after {
  transform: rotate(180deg);
}

.mapping-product-dropdown > summary > span {
  display: grid;
  gap: 2px;
}

.mapping-product-dropdown > summary small {
  color: var(--muted);
  font-weight: 400;
}

.mapping-product-dropdown-panel {
  padding: 12px;
  border-top: 1px solid var(--border);
}

.mapping-product-dropdown-panel .search {
  width: 100%;
  margin-bottom: 10px;
}

.mapping-product-list {
  display: grid;
  max-height: 260px;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 10px;
}

.mapping-product-option {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 11px 13px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
}

.mapping-product-option:last-child {
  border-bottom: 0;
}

.mapping-product-option:hover {
  background: var(--soft);
}

.mapping-product-option > span {
  display: grid;
  gap: 2px;
}

.mapping-modal-actions {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 14px;
  padding: 12px 0 2px;
  border-top: 1px solid var(--border);
  background: var(--panel);
}

@media(max-width:760px) {
  .template-picker > div,
  .template-counts {
    grid-template-columns: 1fr;
  }

  .template-toolbar {
    display: grid;
  }

  .template-toolbar .search {
    width: 100%;
  }

  .template-list article {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .template-list .built-in-badge {
    display: none;
  }

  .label-editor-grid {
    grid-template-columns: 1fr;
  }

  .live-label-preview {
    position: static;
    order: -1;
  }

  .editor-tabs {
    width: 100%;
  }

  .editor-tabs button {
    flex: 1;
  }

  .nav-section-title {
    display: none;
  }

  .integration-form,
  .recipe-grid,
  .sync-metrics,
  .recipe-ingredient-summary {
    grid-template-columns: 1fr;
  }

  .integration-form .wide {
    grid-column: auto;
  }

  .site-settings-fields,
  .menu-visibility-grid {
    grid-template-columns: 1fr;
  }

  .site-settings-fields .wide {
    grid-column: auto;
  }

  .recipe-card {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .recipe-card b {
    display: none;
  }

  .brewfather-browser,
  .import-history {
    padding: 13px;
  }

  .sync-actions,
  .recipe-browser-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .sync-actions .header-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .recipe-browser-heading .search {
    width: 100%;
  }

  .import-history > article {
    grid-template-columns: 1fr auto;
  }

  .import-history > article time {
    grid-column: 1/-1;
  }

  .import-legend {
    display: none;
  }

  .ingredient-mapping {
    border: 0;
    overflow: visible;
  }

  .ingredient-map-row {
    grid-template-columns: 28px minmax(0, 1fr);
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg);
  }

  .ingredient-map-row > label:not(.import-toggle),
  .ingredient-map-row .mapping-status {
    grid-column: 2;
  }

  .import-confirm {
    bottom: calc(-22px - env(safe-area-inset-bottom));
    align-items: stretch;
    flex-direction: column;
    margin: 18px -18px calc(-22px - env(safe-area-inset-bottom));
    padding: 15px 18px calc(15px + env(safe-area-inset-bottom));
  }

  .import-confirm button {
    width: 100%;
  }

  .brewfather-inventory-panel {
    margin: 14px 0;
    padding: 13px;
  }

  .inventory-metrics,
  .inventory-filters {
    grid-template-columns: 1fr;
  }

  .inventory-schedule-note {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .brewfather-inventory-head {
    display: none;
  }

  .brewfather-inventory-list {
    display: grid;
    gap: 10px;
    overflow: visible;
    border: 0;
  }

  .brewfather-inventory-row {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    border: 1px solid var(--border);
    border-radius: 12px;
  }

  .inventory-remote,
  .inventory-row-actions,
  .inventory-row-error {
    grid-column: 1/-1;
  }

  .inventory-row-error {
    margin: 0;
  }

  .inventory-row-actions button {
    flex: 1 1 auto;
  }

  .inventory-events > article {
    grid-template-columns: 1fr auto;
  }

  .inventory-events > article time {
    grid-column: 1/-1;
  }
}

.theme-library > article {
  grid-template-columns: 70px minmax(0, 1fr) auto;
}

.theme-swatch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 68px;
  height: 58px;
  padding: 5px;
  border: 1px solid var(--border);
  background: var(--theme-surface);
}

.theme-swatch i {
  border-radius: 5px;
  background: var(--theme-accent);
}

.theme-swatch i:nth-child(2) {
  background: var(--theme-secondary);
}

.theme-swatch i:nth-child(3) {
  background: var(--theme-surface);
  box-shadow: inset 0 0 0 1px #0002;
}

/* 3.3.0: responsive status/action layout and platform management */
@media(min-width:761px) and (max-width:1250px) {
  .table-head,
  .product-row {
    grid-template-columns: minmax(220px, 1.4fr) minmax(130px, .8fr) minmax(80px, .45fr) minmax(150px, .9fr) 116px;
  }

  .table-head span:nth-child(4),
  .product-row > div:nth-child(4) {
    display: none;
  }

  .product-row > .product-statuses {
    grid-column: 4;
  }

  .product-row > .row-actions {
    grid-column: 5;
    justify-content: flex-end;
  }
}

.user-create-form > label {
  margin-bottom: 9px;
}

.user-create-form > button[type="submit"],
.user-create-form > button.primary {
  margin-top: 22px;
}

.theme-library > article {
  grid-template-columns: 70px minmax(0, 1fr) auto;
}

.theme-library > article > .row-actions {
  grid-column: 1 / -1;
}

.theme-swatch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 68px;
  height: 58px;
  padding: 5px;
  border: 1px solid var(--border);
  background: var(--theme-surface);
}

.theme-swatch i {
  border-radius: 5px;
  background: var(--theme-accent);
}

.theme-swatch i:nth-child(2) {
  background: var(--theme-secondary);
}

.theme-swatch i:nth-child(3) {
  background: var(--theme-surface);
  box-shadow: inset 0 0 0 1px #0002;
}

.theme-color-fields,
.translation-grid,
.language-list {
  display: grid;
  gap: 12px;
}

.theme-color-fields {
  grid-template-columns: repeat(3, 1fr);
}

.theme-color-fields label,
.translation-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.theme-color-fields output {
  font-family: monospace;
}

.inherit-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}

.inherited-settings {
  opacity: .55;
  filter: grayscale(.25);
}

.language-list {
  margin-top: 24px;
}

.language-list > article {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
}

.language-list > article > div {
  display: grid;
  gap: 4px;
}

.translation-modal {
  width: min(900px, 96vw);
}

.translation-grid {
  grid-template-columns: 1fr 1fr;
  margin-bottom: 80px;
}

.account-language-picker {
  display: grid;
  max-width: 420px;
  gap: 7px;
}

@media(max-width:760px) {
  .theme-color-fields,
  .translation-grid,
  .language-list > article {
    grid-template-columns: 1fr;
  }
}

/* 3.2.0: save feedback, sortable labels and layered menu policy */
.toast-region{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.app-toast{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:10px;background:var(--panel);box-shadow:0 16px 45px #0004;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.app-toast.visible{opacity:1;transform:translateY(0)}
.app-toast.error{border-left-color:#b7422e}
.app-toast small{color:var(--muted);line-height:1.4}
.label-gallery.sortable>article{position:relative;cursor:grab}
.label-gallery.sortable>article.dragging{opacity:.48;outline:2px dashed var(--primary)}
.drag-handle{position:absolute;z-index:2;top:8px;right:8px;width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);font-size:20px;cursor:grab}
.sort-fallback{display:flex;gap:6px}
.sort-fallback button{width:34px;height:30px;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--ink)}
.menu-role-fieldset,.platform-menu-section{overflow-x:auto;padding:15px;border:1px solid var(--border);border-radius:11px}
.menu-role-head,.menu-role-row,.platform-menu-head,.platform-menu-row{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(100px,.7fr)) minmax(145px,.9fr);align-items:center;gap:10px;min-width:720px;padding:10px 6px}
.menu-role-head,.platform-menu-head{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.menu-role-row,.platform-menu-row{border-top:1px solid var(--border)}
.menu-role-check{display:grid;place-items:center}
.menu-role-check span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.menu-role-check input{width:19px;height:19px;accent-color:var(--primary)}
.menu-role-check input:disabled{cursor:not-allowed;opacity:.48}
.policy-mode{width:max-content;padding:5px 8px;border-radius:999px;background:var(--soft);font-weight:700}
.policy-mode.always_visible{background:#5f8d4426;color:#4d7937}
.policy-mode.forced_hidden{background:#bd493026;color:#a13d2b}
.platform-menu-manager,.platform-menu-manager form{display:grid;gap:18px}
.platform-menu-section{display:grid;gap:0}
.platform-menu-row select{min-width:150px}
.sticky-save-bar{position:sticky;bottom:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel);box-shadow:0 -8px 25px #0002}
@media(max-width:760px){.toast-region{right:16px;bottom:84px}.sticky-save-bar{align-items:stretch;flex-direction:column}}

.platform-brand {
  padding-bottom: 12px;
}

.platform-brand > span:last-child {
  display: grid;
  gap: 2px;
}

.platform-brand small {
  color: #ffffffb8;
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.brewery-logo {
  width: 42px;
  height: 42px;
  padding: 3px;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
}

.brewery-switcher {
  display: grid;
  gap: 5px;
  margin: 0 5px 15px;
  color: #ffffffb8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.brewery-switcher select {
  padding: 9px 10px;
  border-color: #ffffff35;
  background: #ffffff14;
  color: #fff;
  font-size: 12px;
  text-transform: none;
}

.brewery-switcher option {
  color: #24261f;
}

.platform-metrics {
  grid-template-columns: repeat(4, 1fr);
}

.platform-list,
.platform-user-list,
.theme-library {
  display: grid;
  gap: 12px;
  margin-top: 25px;
}

.platform-row,
.platform-user-list > article,
.theme-library > article {
  display: grid;
  grid-template-columns: minmax(210px, 1.5fr) auto minmax(90px, .5fr) minmax(110px, .6fr) auto;
  align-items: center;
  gap: 15px;
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: var(--shadow);
}

.platform-row > div,
.platform-user-list > article > div {
  display: grid;
  gap: 4px;
}

.platform-user-list > article {
  grid-template-columns: minmax(190px, .8fr) 2fr auto;
}

.membership-chips {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
}

.membership-chips button.chip {
  border: 0;
  background: var(--soft);
  color: var(--ink);
}

.membership-chips .chip.inactive {
  opacity: .58;
}

.account-brewery-picker {
  display: grid;
  max-width: 420px;
  gap: 7px;
}

.theme-library {
  grid-template-columns: repeat(3, minmax(230px, 1fr));
}

.theme-library > article {
  grid-template-columns: 58px 1fr auto;
}

.theme-swatch {
  width: 58px;
  height: 58px;
  border: 8px solid var(--theme-surface);
  border-radius: 13px;
  background: var(--theme-accent);
  box-shadow: inset 0 0 0 1px #0001;
}

.layout-scope {
  display: grid;
  max-width: 360px;
  gap: 6px;
  margin: 12px 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

@media(min-width:761px) and (max-width:1050px) {
  .brewery-switcher span,
  .brewery-switcher select {
    font-size: 0;
  }

  .brewery-switcher select {
    width: 48px;
    min-height: 38px;
    padding: 0;
  }

  .brewery-switcher::after {
    content: "⌂";
    pointer-events: none;
    margin: -33px auto 11px;
    color: #fff;
    font-size: 18px;
  }
}

@media(max-width:900px) {
  .platform-metrics,
  .theme-library {
    grid-template-columns: 1fr 1fr;
  }

  .platform-row,
  .platform-user-list > article {
    grid-template-columns: 1fr auto;
  }
}

@media(max-width:760px) {
  .brewery-switcher {
    display: none;
  }

  .platform-metrics,
  .theme-library {
    grid-template-columns: 1fr;
  }

  .platform-row,
  .platform-user-list > article {
    grid-template-columns: 1fr;
  }
}

@media(min-width:761px) and (max-width:1050px) {
  .nav-section-title {
    display: none;
  }
}

@media(max-width:760px) {
  body[data-mobile-layout="cards"] .app-shell {
    padding-bottom: 82px;
  }

  body[data-mobile-layout="cards"] .sidebar {
    height: 74px;
    padding: 8px 6px max(8px, env(safe-area-inset-bottom));
    border-top: 1px solid #ffffff2b;
    box-shadow: 0 -8px 24px #0002;
  }

  body[data-mobile-layout="cards"] .sidebar nav {
    gap: 2px;
    scrollbar-width: none;
  }

  body[data-mobile-layout="cards"] .sidebar nav::-webkit-scrollbar {
    display: none;
  }

  body[data-mobile-layout="cards"] .sidebar nav button {
    flex-basis: 72px;
    border-radius: 10px;
    line-height: 1.1;
  }

  body[data-mobile-layout="cards"] .content {
    padding: 20px 12px 104px;
  }

  body[data-mobile-layout="cards"] header {
    display: grid;
    gap: 14px;
  }

  body[data-mobile-layout="cards"] header h1 {
    font-size: 34px;
    line-height: 1.05;
  }

  body[data-mobile-layout="cards"] .header-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  body[data-mobile-layout="cards"] .header-actions > * {
    width: 100%;
  }

  body[data-mobile-layout="cards"] .metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 20px 0 16px;
  }

  body[data-mobile-layout="cards"] .metrics article {
    display: grid;
    min-width: 0;
    min-height: 84px;
    padding: 11px;
  }

  body[data-mobile-layout="cards"] .metrics article:last-child {
    display: grid;
  }

  body[data-mobile-layout="cards"] .metrics strong {
    overflow-wrap: anywhere;
    font-size: 17px;
  }

  body[data-mobile-layout="cards"] .toolbar,
  body[data-mobile-layout="cards"] .toolbar-right {
    width: 100%;
    gap: 9px;
  }

  body[data-mobile-layout="cards"] .toolbar .tabs {
    width: 100%;
  }

  body[data-mobile-layout="cards"] .toolbar .tabs button {
    flex: 1;
    min-width: max-content;
  }

  body[data-mobile-layout="cards"] .inventory {
    display: grid;
    gap: 10px;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  body[data-mobile-layout="cards"] .product-row {
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 13px;
    background: var(--panel);
    box-shadow: var(--shadow);
  }

  body[data-mobile-layout="cards"] .product-row > .row-actions button {
    min-width: 42px;
    min-height: 38px;
  }

  body[data-mobile-layout="cards"] .pagination {
    border: 1px solid var(--border);
    border-radius: 12px;
  }

  body[data-mobile-layout="cards"] .overlay {
    align-items: end;
    padding: 0;
  }

  body[data-mobile-layout="cards"] .modal {
    width: 100%;
    max-height: 94vh;
    padding: 25px 18px calc(22px + env(safe-area-inset-bottom));
    border-radius: 20px 20px 0 0;
  }

  body[data-mobile-layout="cards"] .detail-grid {
    gap: 9px;
  }

  body[data-mobile-layout="cards"] .detail-grid article {
    min-height: 76px;
    padding: 11px;
  }

  body[data-mobile-layout="cards"] .mobile-qr-scanner {
    right: 14px;
    bottom: 88px;
  }
}

/* 2.13.0: grouped navigation with an always-visible account footer */
@media(min-width:761px) {
  .sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    min-height: 0;
    overflow: hidden;
  }

  .sidebar .brand {
    flex: 0 0 auto;
    padding-bottom: 18px;
  }

  .sidebar nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 4px;
    scrollbar-color: #ffffff4a transparent;
    scrollbar-width: thin;
  }

  .sidebar nav::-webkit-scrollbar {
    width: 5px;
  }

  .sidebar nav::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #ffffff4a;
  }

  .sidebar footer.sidebar-user {
    display: grid;
    flex: 0 0 auto;
    gap: 10px;
    margin-top: 0;
    padding: 14px 4px 0;
    border-top: 1px solid #ffffff33;
  }
}

.sidebar-account {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 8px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: inherit;
  text-align: left;
  text-decoration: none;
}

.sidebar-account:hover,
.sidebar-account.active {
  background: #ffffff20;
}

.sidebar-user-avatar {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid #ffffff66;
  border-radius: 50%;
  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 800;
}

.sidebar-user-details {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.sidebar-user-details strong,
.sidebar-user-details small {
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sidebar-user-details small {
  color: #ffffffa8;
  font-size: 10px;
}

.sidebar-session-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 8px;
}

.sidebar footer .sidebar-session-actions button {
  width: auto;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: #ffffffc4;
  font-size: 11px;
  text-decoration: none;
}

.sidebar footer .sidebar-session-actions button:hover {
  color: #fff;
  text-decoration: underline;
}

.sidebar-version {
  font-weight: 800;
}

.product-statuses {
  display: grid;
  min-width: 0;
  max-width: 100%;
  justify-items: start;
  gap: 6px;
}

.status.source {
  max-width: 100%;
  background: #4f729b22;
  color: #35618f;
  line-height: 1.2;
  white-space: normal;
}

body[data-theme="dark"] .status.source {
  color: #8ab9e8;
}

.changelog-modal {
  width: min(840px, 96vw);
}

.changelog-intro {
  margin: 10px 0 22px;
  color: var(--muted);
}

.changelog-list {
  display: grid;
  gap: 14px;
}

.changelog-release {
  display: grid;
  gap: 12px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--bg);
}

.changelog-release.current {
  border-color: color-mix(in srgb, var(--primary) 55%, var(--border));
  box-shadow: inset 4px 0 0 var(--primary);
}

.changelog-release-heading,
.changelog-release-heading > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.changelog-release-heading {
  justify-content: space-between;
}

.changelog-version {
  font-weight: 900;
}

.current-release {
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.changelog-release-heading time {
  color: var(--muted);
  font-size: 12px;
}

.changelog-release h3 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 20px;
}

.changelog-groups {
  display: grid;
  gap: 10px;
}

.changelog-group {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
  align-items: start;
}

.changelog-group > strong {
  width: max-content;
  padding: 4px 7px;
  border-radius: 7px;
  font-size: 10px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.changelog-group.added > strong {
  background: #6d914926;
  color: #588037;
}

.changelog-group.improved > strong {
  background: #4f729b22;
  color: #35618f;
}

.changelog-group.fixed > strong {
  background: #da912a29;
  color: #a76014;
}

.changelog-group ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.45;
}

@media(min-width:761px) and (max-width:1050px) {
  .sidebar {
    padding-right: 10px;
    padding-left: 10px;
  }

  .sidebar-user {
    justify-items: center;
  }

  .sidebar-account {
    justify-content: center;
    padding: 7px 0;
  }

  .sidebar-user-details {
    display: none;
  }

  .sidebar-session-actions {
    display: grid;
    justify-items: center;
    padding: 0;
  }

  .sidebar footer .sidebar-session-actions button {
    font-size: 10px;
  }

  .sidebar footer #logout {
    display: grid;
    width: 34px;
    height: 28px;
    place-items: center;
    overflow: hidden;
    font-size: 0;
  }

  .sidebar footer #logout::before {
    content: "↪";
    font-size: 18px;
  }
}

@media(max-width:760px) {
  .product-row > .product-statuses {
    grid-column: 1;
    margin-left: 52px;
  }

  .changelog-modal {
    padding: 22px 16px;
  }

  .changelog-release {
    padding: 14px;
  }

  .changelog-group {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* Keep the three website-layout colours visible after legacy theme rules. */
.theme-library > article {
  grid-template-columns: 70px minmax(0, 1fr) auto;
}
.theme-swatch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 68px;
  height: 58px;
  padding: 5px;
  border: 1px solid var(--border);
  background: var(--theme-surface);
}
.theme-swatch i { border-radius: 5px; background: var(--theme-accent); }
.theme-swatch i:nth-child(2) { background: var(--theme-secondary); }
.theme-swatch i:nth-child(3) { background: var(--theme-surface); box-shadow: inset 0 0 0 1px #0002; }

.log-filter-card { margin-bottom: 1rem; }
.log-filter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: .85rem;
  align-items: end;
}
.log-filter-grid button { min-height: 42px; }
.batch-list { display: grid; gap: .8rem; }
.batch-card {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(220px, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--surface);
}
.batch-card h3 { margin: .2rem 0; }
.batch-card p, .batch-card small { display: block; margin: .2rem 0; }
.batch-modal { width: min(920px, calc(100vw - 2rem)); }
.nested-card { padding: 1rem; margin: .4rem 0; }
.global-search-modal { width: min(720px, calc(100vw - 2rem)); }
.global-search-input { display: flex; margin: 1rem 0; }
.global-search-input input { width: 100%; }
.global-result-list { display: grid; max-height: 55vh; overflow: auto; gap: .4rem; }
.global-result-list button {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: .2rem .8rem;
  text-align: left;
  padding: .8rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--surface);
}
.global-result-list button span { grid-row: 1 / span 2; color: var(--muted); font-size: .78rem; }
.global-result-list button small { color: var(--muted); }

@media (max-width: 1050px) {
  .log-filter-grid { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
}

@media (max-width: 720px) {
  .log-filter-grid { grid-template-columns: 1fr 1fr; }
  .batch-card { grid-template-columns: 1fr; }
}
.landing-editor-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px}.landing-editor-form{min-width:0}.landing-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.landing-editor-heading h2,.landing-logo-editor h3{margin:2px 0}.slug-input{display:flex;align-items:center;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.slug-input span{padding:11px 0 11px 12px;color:var(--muted);white-space:nowrap}.slug-input input{min-width:100px;border:0;background:transparent;padding-inline:2px}.slug-input b{padding-right:12px;color:var(--muted)}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.landing-feature-field{display:grid;gap:12px;margin:0;padding:16px;border:1px solid var(--border);border-radius:12px}.landing-feature-field legend{padding:0 6px;color:var(--muted);font-size:12px;font-weight:800}.landing-logo-editor{display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;margin:24px 0;padding:22px;border:1px solid var(--border);border-radius:13px;background:color-mix(in srgb,var(--panel) 92%,var(--primary) 8%)}.landing-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.landing-colors label{display:grid;gap:7px}.landing-colors input{width:100%;height:48px}.landing-editor-preview{position:sticky;top:22px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.landing-mini-preview{overflow:hidden;min-height:440px;border-radius:10px;background:linear-gradient(150deg,#fff,var(--mini-surface));color:#20251c;box-shadow:0 14px 38px #0002}.landing-mini-preview header{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid #0001}.landing-mini-preview header b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--mini-primary);color:#fff;font:700 18px Georgia,serif}.landing-mini-preview header span,.landing-mini-preview button{padding:7px 11px;border:0;border-radius:999px;background:var(--mini-primary);color:#fff;font-size:10px;font-weight:800}.landing-mini-preview main{min-height:310px;padding:50px 24px;background:radial-gradient(circle at 90% 20%,color-mix(in srgb,var(--mini-secondary) 25%,transparent),transparent 28%)}.landing-mini-preview main small{color:var(--mini-secondary);font-size:9px;font-weight:900;text-transform:uppercase}.landing-mini-preview h3{margin:10px 0;font:700 38px/.95 Georgia,serif}.landing-mini-preview p{color:#60665a}.landing-mini-preview footer{padding:18px 24px;border-top:1px solid #0001;color:var(--mini-primary);font-weight:800}.aligned-check{align-self:end;margin-bottom:10px}
@media(max-width:1100px){.landing-editor-shell{grid-template-columns:1fr}.landing-editor-preview{position:static}.landing-mini-preview{min-height:320px}.landing-mini-preview main{min-height:210px}.landing-feature-grid{grid-template-columns:1fr}.landing-logo-editor{grid-template-columns:1fr}}
@media(max-width:760px){.landing-editor-heading{align-items:flex-start;flex-direction:column}.slug-input span{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.landing-colors{grid-template-columns:1fr}}
.brewfather-source-filter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0;padding:16px 18px;border:1px solid var(--border);border-radius:13px;background:var(--panel);box-shadow:var(--shadow)}.brewfather-source-filter>div:first-child{display:grid;gap:2px}.brewfather-source-filter .tabs button{min-width:74px}.brewfather-batch-import{margin:22px 0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.brewfather-batch-import .card-list article{grid-template-columns:minmax(0,1fr) auto}
@media(max-width:760px){.brewfather-source-filter{align-items:stretch;flex-direction:column}.brewfather-source-filter .tabs{width:100%}.brewfather-source-filter .tabs button{min-width:70px;flex:1}.brewfather-batch-import{padding:16px}.brewfather-batch-import .card-list article{grid-template-columns:1fr}.brewfather-batch-import .card-list button{width:100%}}
.brewfather-workspace-nav{display:flex;gap:8px;margin:0 0 20px;padding:7px;overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--panel)}
.brewfather-workspace-nav button{flex:0 0 auto;padding:10px 15px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:800}
.brewfather-workspace-nav button.active{background:var(--accent);color:#fff;box-shadow:0 5px 14px #0002}
.brewfather-mobile-section{display:none}
.integration-diagnostics{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:16px;margin:0 0 20px;padding:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}
.integration-diagnostics>div:first-child{display:grid;gap:4px}.integration-diagnostics small{color:var(--muted)}.integration-checks{display:flex;flex-wrap:wrap;gap:7px}.integration-diagnostics .notice{grid-column:1/-1;margin:0}
.recipe-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(150px,auto) minmax(150px,auto);gap:12px;align-items:end;margin:0 0 18px}.recipe-toolbar label{display:grid;gap:5px;font-weight:800}.recipe-toolbar .search{display:flex}
.recipe-card.professional{align-items:start}.recipe-facts{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.recipe-facts i{padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:.72rem;font-style:normal;font-weight:850}

/* Uitgebreide professionele opties */
.pro-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 18px}.pro-kpis article{border:1px solid var(--line);border-radius:16px;padding:18px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--accent) 5%,var(--card)));box-shadow:0 8px 25px rgba(30,35,20,.05)}.pro-kpis small,.pro-kpis strong{display:block}.pro-kpis strong{font-size:clamp(1.35rem,2.1vw,2.35rem);line-height:1.05;margin-top:6px}.pro-two,.pro-trace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);gap:16px;align-items:start}.pro-recommendations,.pro-timeline,.pro-order-list,.pro-reservations{display:grid;gap:9px}.pro-recommendations button,.pro-quality-grid button{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid var(--line);background:var(--card);padding:12px;border-radius:13px}.pro-recommendations small,.pro-action-card small,.pro-timeline small,.pro-supplier small,.pro-cost small,.pro-quality-grid small{display:block;color:var(--muted);margin-top:3px}.pro-timeline p{display:flex;gap:10px;margin:0}.pro-timeline i{width:9px;height:9px;border-radius:50%;background:var(--accent);margin-top:6px;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 12%,transparent)}.pro-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.pro-board>article{background:color-mix(in srgb,var(--card) 75%,var(--surface));border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:9px}.pro-board h2{display:flex;justify-content:space-between;font-size:1rem;margin:2px 3px}.pro-board h2 span{background:var(--surface);border-radius:999px;padding:2px 8px}.pro-action-card{display:grid;gap:7px;text-align:left;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;background:var(--card);padding:12px}.pro-action-card.priority-critical{border-left-color:#b73725}.pro-action-card.priority-high{border-left-color:#c47a1c}.pro-action-card.priority-low{border-left-color:#6b8194}.pro-order-list details{border:1px solid var(--line);border-radius:13px;background:var(--card)}.pro-order-list summary{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:13px;cursor:pointer}.pro-order-list summary small{display:block}.pro-order-items{padding:0 13px 13px}.pro-order-items p,.pro-reservations p,.pro-supplier,.pro-cost,.pro-trace article>p{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:9px;margin:0;border-top:1px solid var(--line)}.pro-trace{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-trace .full-span{grid-column:1/-1}.pro-quality-hero{display:flex;align-items:center;gap:22px;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--card);margin-bottom:16px}.quality-ring{--score:0;width:112px;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,var(--card) 74%,transparent 76% 99%),conic-gradient(var(--accent) calc(var(--score)*1%),var(--line) 0)}.quality-ring strong{font-size:1.6rem}.quality-ring small{display:block}.pro-quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pro-quality-grid article{display:grid;gap:8px}.pro-quality-grid h2{display:flex;justify-content:space-between}.pro-warehouse{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:16px}.warehouse-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.warehouse-products button{display:flex;align-items:center;gap:10px;text-align:left;padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--card)}.warehouse-products small{display:block}.warehouse-counter{position:sticky;top:18px}.warehouse-counter input{font-size:2rem;text-align:center;font-weight:800}.warehouse-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.warehouse-numpad button{min-height:58px;font-size:1.35rem;font-weight:850;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
@media(max-width:960px){.pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-two,.pro-trace,.pro-warehouse{grid-template-columns:1fr}.pro-board{grid-template-columns:1fr}.warehouse-counter{position:static}.pro-quality-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pro-kpis article{padding:12px}.pro-kpis article:last-child{grid-column:1/-1}.warehouse-products{grid-template-columns:1fr}.pro-order-list summary{grid-template-columns:1fr auto}.pro-order-list summary>b{grid-column:1/-1}.pro-quality-hero{align-items:flex-start}.quality-ring{width:86px;flex:0 0 86px}}
@media print{.sidebar,.page-actions,.breadcrumbs,.recent-pages{display:none!important}.app-shell{display:block}.content{max-width:none}.pro-trace{display:grid!important}}

/* 5.1.0 · deelontvangsten, recall-dossiers en compacte mobiele voortgang. */
.pro-two .full-span{grid-column:1/-1}.pro-order-items>.field-help{display:block;padding:.75rem 0;color:var(--muted)}.pro-order-items .header-actions{margin-top:.65rem}.pro-trace .table-row{grid-template-columns:minmax(240px,1fr) auto auto auto;align-items:center}.pro-trace .table-row small{overflow-wrap:anywhere}.pro-kpis article:has(strong:empty){display:none}
@media(max-width:760px){.pro-trace .table-row{grid-template-columns:1fr}.pro-order-items p,.pro-reservations p,.pro-trace article>p{grid-template-columns:1fr auto}.pro-order-items p>span:first-child,.pro-trace article>p>span:first-child{grid-column:1/-1}.pro-order-items button{min-height:42px}.pro-two .table-wrap{margin-inline:-.65rem;padding-inline:.65rem}}
.recipe-teaser{margin:-4px 0 16px;color:var(--muted);font-size:1.02rem}.recipe-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:9px;margin:0 0 16px}.recipe-metrics article{display:grid;gap:3px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--soft)}.recipe-metrics small{color:var(--muted);font-weight:800;text-transform:uppercase}.recipe-metrics strong{font-size:1.05rem}
.recipe-production-details{margin:16px 0;padding:0 16px 14px;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.recipe-production-details summary{padding:14px 0;cursor:pointer;font-weight:900}.recipe-production-details h3{margin:14px 0 8px}.recipe-misc-list{display:grid;gap:7px}.recipe-misc-list article{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.recipe-misc-list article>div{display:grid;gap:2px}.recipe-misc-list small,.recipe-profile-list span{color:var(--muted)}.recipe-profile-list{display:grid;gap:10px}.recipe-profile-list section{display:grid;gap:4px;padding:10px;border-left:3px solid var(--accent);background:var(--panel)}
.beer-stock-list{display:grid;gap:11px}.beer-stock-card{display:grid;grid-template-columns:58px minmax(220px,1fr) minmax(100px,.35fr) auto auto;align-items:center;gap:16px;padding:17px 19px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.beer-stock-card>div{display:grid;gap:3px}.beer-stock-card code{font-size:.72rem;color:var(--muted)}.beer-package-icon{width:46px;height:46px;display:grid;place-items:center;color:var(--accent);transform-origin:center bottom}.beer-package-icon svg{width:70%;height:70%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.beer-package-icon.size-small{transform:scale(.72)}.beer-package-icon.size-medium{transform:scale(.88)}.beer-package-icon.size-large{transform:scale(1.1)}.beer-package-icon.can{color:#64748b}.beer-package-icon.keg{color:#5b6470}.beer-withdraw-head{display:flex;align-items:center;gap:14px}.beer-withdraw-head .beer-package-icon{flex:0 0 54px}.beer-withdraw-head>div{display:grid;gap:3px}.batch-comment-timeline{display:grid;gap:12px;margin-top:18px}.batch-comment-timeline article{display:grid;grid-template-columns:145px 1fr;gap:15px;padding:13px;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 10px 10px 0}.batch-comment-timeline p{margin:4px 0 0;white-space:pre-wrap}.comment-form{display:grid;gap:10px;margin:18px 0;padding:16px;background:var(--surface);border-radius:12px}.analytics-table .table-head,.analytics-table article{display:grid;grid-template-columns:1fr 1.2fr .55fr 1.2fr .5fr .5fr;gap:12px;padding:12px;align-items:center}.analytics-table article{border-top:1px solid var(--border)}.platform-brewery-grid article a{margin-top:12px;width:max-content}
@media(max-width:760px){.brewfather-workspace-nav{display:none}.brewfather-mobile-section{display:grid;gap:6px;margin:0 0 16px;font-weight:800}.brewfather-mobile-section select{width:100%}.integration-diagnostics,.recipe-toolbar{grid-template-columns:1fr}.integration-diagnostics button{width:100%}.beer-stock-card{grid-template-columns:46px 1fr}.beer-stock-card>div:nth-of-type(2),.beer-stock-card>.status,.beer-stock-card>.row-actions{grid-column:2}.beer-stock-card>.row-actions{display:flex}.beer-stock-card>.row-actions button{flex:1}.batch-comment-timeline article{grid-template-columns:1fr}.analytics-table .table-head{display:none}.analytics-table article{grid-template-columns:1fr 1fr}.analytics-table article>*:nth-child(2),.analytics-table article>*:nth-child(3){grid-column:1/-1}}
.batch-filter-grid,.operations-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:12px;align-items:end}
.batch-filter-grid label,.operations-filter-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.batch-number{display:inline-block;margin-bottom:4px;color:var(--accent);font-size:1.18rem;letter-spacing:.035em}
.batch-reference{display:flex;align-items:baseline;gap:10px;padding:12px;border-radius:9px;background:var(--soft)}
.batch-reference strong{color:var(--accent);font-size:1.25rem}
.batch-recent{grid-column:1/-1;margin-top:8px;padding-top:11px;border-top:1px solid var(--border)}
.batch-recent>small{color:var(--muted);font-weight:800}.batch-recent ul{display:grid;gap:5px;margin:7px 0 0;padding:0;list-style:none}
.batch-recent li{display:grid;grid-template-columns:125px minmax(100px,1fr) auto;gap:10px;align-items:center;font-size:12px}.batch-recent time{color:var(--muted)}
.balance-list,.movement-list,.operations-list,.cron-table{display:grid;gap:9px;margin:18px 0}
.balance-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(95px,1fr)) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.balance-row>div{display:grid;gap:3px}.balance-row>div:first-child span{font-weight:700}.balance-row small{color:var(--muted)}
.movement-row{display:grid;grid-template-columns:125px minmax(220px,2fr) minmax(120px,1fr) minmax(180px,2fr);gap:14px;align-items:center;padding:13px;border-bottom:1px solid var(--border)}
.movement-row small,.operations-list small,.cron-table small{display:block;color:var(--muted)}
.operations-list article{display:grid;grid-template-columns:125px 95px minmax(240px,2fr) minmax(170px,1fr);gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
.cron-head,.cron-table article{display:grid;grid-template-columns:145px minmax(190px,2fr) 90px repeat(3,75px) minmax(170px,1.5fr);gap:11px;align-items:center}
.cron-head{padding:0 14px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}
.cron-table article{padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--panel)}
@media(max-width:900px){
  .balance-row,.movement-row,.operations-list article,.cron-table article{grid-template-columns:1fr 1fr}
  .cron-head{display:none}
  .balance-row .row-actions{grid-column:1/-1}
}
@media(max-width:560px){
  .balance-row,.movement-row,.operations-list article,.cron-table article{grid-template-columns:1fr}
}
.page-tabs-shell{display:flex;align-items:center;justify-content:space-between;margin:0 0 1rem}.page-tabs{display:flex;gap:.45rem;flex-wrap:wrap;padding:.35rem;border:1px solid var(--line,#d8d3c8);border-radius:14px;background:rgba(255,255,255,.65)}.page-tabs button{border:0;background:transparent;padding:.7rem 1rem;border-radius:10px;font-weight:700;cursor:pointer}.page-tabs button.active,.page-tabs button[aria-selected="true"]{background:var(--accent,#47562e);color:#fff}.page-tab-select{display:none}.tab-panel[hidden],[data-tab-panel][hidden]{display:none!important}.danger-zone{border:2px solid #b42318!important;background:#fff4f2!important}.danger-zone h2,.danger-zone .eyebrow{color:#b42318}.factory-warning{padding:1rem;border-radius:12px;background:#b42318;color:#fff;font-weight:800}.demo-lock{opacity:.6;filter:grayscale(.7)}.demo-banner{display:flex;gap:1rem;align-items:center;justify-content:space-between;background:#fff4cf;border:1px solid #e5b800;border-radius:14px;padding:1rem;margin-bottom:1rem}.landing-language-selector{display:flex;gap:.4rem}.landing-language-selector a{padding:.45rem .65rem;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-weight:800}.landing-language-selector a.active{background:var(--landing-primary);color:#fff}.landing-rich-text{max-width:1100px;margin:2rem auto;padding:2rem;border-radius:18px;background:rgba(255,255,255,.72);line-height:1.7}.landing-columns-1{grid-template-columns:minmax(0,1fr)}.landing-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-header-actions{display:flex;gap:1rem;align-items:center}
@media(max-width:720px){.page-tabs{display:none}.page-tab-select{display:grid;width:100%;gap:.3rem}.page-tab-select select{width:100%}.landing-columns-2,.landing-columns-3{grid-template-columns:1fr}.demo-banner{align-items:flex-start;flex-direction:column}}

.label-text-element{display:block;max-width:100%;overflow:hidden;line-height:var(--label-line);white-space:normal;overflow-wrap:anywhere}
.label-media-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:1rem;border:1px solid var(--border);border-radius:12px}
.label-media-choices legend{padding:0 .4rem;font-weight:800}.label-media-choices label{display:flex;align-items:flex-start;gap:.55rem;padding:.65rem;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.label-media-choices label span{display:grid;gap:.15rem}.label-media-choices input{width:auto;margin-top:.2rem}.label-media-choices p{grid-column:1/-1;margin:.2rem 0 0;color:var(--muted);font-size:.78rem}
.label-token-buttons{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0 1rem}.label-token-buttons button{padding:.42rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--accent);font:700 .75rem monospace}
.label-element-list{display:grid;gap:.65rem;margin-bottom:.8rem}.label-element-list article{display:grid;grid-template-columns:auto minmax(170px,1fr) 85px auto auto;align-items:center;gap:.6rem;padding:.7rem;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.label-element-list article>label{display:grid;gap:.3rem;color:var(--muted);font-size:.72rem;font-weight:800}.label-element-list textarea{resize:vertical;min-height:3.8rem}.label-element-order{display:grid;gap:.2rem}.label-element-order button{padding:.25rem .45rem}.label-format-buttons{display:flex;gap:.25rem}.label-format-buttons label{position:relative;display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--panel);cursor:pointer}.label-format-buttons input{position:absolute;opacity:0}.label-format-buttons label:has(input:checked){background:var(--accent);color:#fff}.label-element-list .danger-button{padding:.45rem .65rem}
.label-download-actions{display:grid;gap:.55rem;margin:1rem 0}.label-download-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem;padding:.7rem;border:1px solid var(--border);border-radius:10px;text-align:left}.label-download-row>div{display:grid;gap:.15rem}.label-download-row small{color:var(--muted)}
@media(max-width:760px){.label-media-choices{grid-template-columns:1fr}.label-element-list article{grid-template-columns:auto 1fr auto}.label-element-list article>label:first-of-type{grid-column:2/-1}.label-element-list article>label:nth-of-type(2){grid-column:2}.label-format-buttons{grid-column:2}.label-download-row{grid-template-columns:1fr 1fr}.label-download-row>div{grid-column:1/-1}}
.tap-stock-list{display:grid;gap:.7rem}.tap-stock-list article{display:grid;grid-template-columns:minmax(190px,1.5fr) repeat(3,minmax(100px,.7fr)) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.tap-stock-list article>div{display:grid;gap:.25rem}.tap-stock-list .eyebrow{display:block}.tap-stock-list .status{margin-top:.25rem}@media(max-width:900px){.tap-stock-list article{grid-template-columns:1fr 1fr}.tap-stock-list article>div:first-child,.tap-stock-list article>button{grid-column:1/-1}}
.inventory-sort-head button{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit}.inventory-sort-head button span{font-size:.9rem;opacity:.65}.inventory-sort-head button[aria-sort="ascending"],.inventory-sort-head button[aria-sort="descending"]{color:var(--accent)}
.amount-unit-field{display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.amount-unit-field input,.amount-unit-field select{border:0;border-radius:0}.amount-unit-field select{border-left:1px solid var(--border);background:var(--soft);font-weight:800}
/* Beheerde bierlocaties */
.table-list { display: grid; gap: .75rem; }

/* 3.9.4: dashboardkaarten vullen de beschikbare regel voordat een nieuwe regel begint. */
.metrics.compact-metrics {
  grid-template-columns: repeat(auto-fit, minmax(135px, 1fr))!important;
  gap: 9px;
  margin: 14px 0;
}
.compact-metrics article {
  min-height: 70px;
  padding: 11px 13px;
}
.compact-metrics strong { font-size: clamp(17px, 2vw, 23px); }
.metrics,.platform-metrics,.sync-metrics,.inventory-metrics{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important}
.test-mode-banner{position:relative;z-index:100;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.55rem 1rem;background:#8b1d1d;color:#fff;text-align:center;letter-spacing:.02em}.test-mode-banner strong{letter-spacing:.12em}.test-mode-site .app-shell{min-height:calc(100vh - 42px)}
.demo-mode-banner{position:relative;z-index:101;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.65rem 1rem;padding:.65rem 1rem;background:#b42318;color:#fff;text-align:center;box-shadow:0 3px 12px #450a0a55}.demo-mode-banner strong{letter-spacing:.12em}.demo-mode-banner #demo-reset-countdown{font-variant-numeric:tabular-nums;font-weight:800;background:#fff1;border:1px solid #fff5;border-radius:999px;padding:.2rem .7rem}
.demo-feature-lock{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:0 0 1rem;padding:.9rem 1rem;border:2px solid #b42318;border-radius:12px;background:#fff1f0;color:#7a271a}.demo-feature-lock strong{font-size:1rem}.demo-feature-lock span{flex:1 1 28rem}
.blocking-error-modal{max-width:620px!important;border:4px solid #b42318!important;text-align:center;background:#fff7f6!important}.blocking-error-modal h2{color:#b42318;font-size:1.8rem}.blocking-error-modal p{font-size:1.1rem;line-height:1.6}.blocking-error-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;background:#b42318;color:#fff;font-size:3rem;font-weight:900}
@media(max-width:720px){.demo-mode-banner{align-items:flex-start;flex-direction:column;text-align:left}.demo-mode-banner #demo-reset-countdown{margin:0}}
.inventory-export-form{display:grid;gap:1.4rem}.inventory-export-form fieldset{margin:0;padding:1.1rem;border:1px solid var(--border,#d8ddd3);border-radius:14px}.inventory-export-form legend{padding:0 .45rem;font-weight:800}.export-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.export-category-grid label{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .65rem;padding:1rem;border:2px solid var(--border,#d8ddd3);border-radius:12px;background:var(--surface,#fff);cursor:pointer}.export-category-grid input{position:absolute;right:.75rem;top:.75rem}.export-category-grid .category-icon{grid-row:1/3}.export-category-grid small{grid-column:2;color:var(--muted,#687064)}.export-category-grid label:has(input:checked),.export-format-grid label:has(input:checked){border-color:var(--accent,#47562e);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#47562e) 16%,transparent)}.export-format-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.export-format-grid label{display:flex;gap:.8rem;padding:1rem;border:2px solid var(--border,#d8ddd3);border-radius:12px;cursor:pointer}.export-format-grid small{display:block;margin-top:.25rem;color:var(--muted,#687064)}.export-submit-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:14px;background:color-mix(in srgb,var(--accent,#47562e) 10%,var(--surface,#fff))}.export-submit-bar small{display:block;color:var(--muted,#687064)}@media(max-width:900px){.export-category-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.export-category-grid,.export-format-grid{grid-template-columns:1fr}.export-submit-bar{align-items:stretch;flex-direction:column}.export-submit-bar button{width:100%}}
@media(min-width:761px){.sidebar nav{align-content:start;grid-auto-rows:max-content}.nav-section-title{margin-top:.75rem}.nav-section-title:first-child{margin-top:0}}
.content-wrap{min-width:0}
.service-plan-warning{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 5vw 0;padding:1rem 1.15rem;border:1px solid #d88b16;border-radius:13px;background:#fff4cf;color:#694900;box-shadow:var(--shadow)}
.service-plan-warning>div{display:grid;gap:.2rem}.service-plan-warning button{position:relative;z-index:2;flex:0 0 auto;min-width:2.5rem;min-height:2.5rem;border:0;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer;pointer-events:auto}
.service-plan-table article{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(120px,.7fr) minmax(150px,.8fr) repeat(2,minmax(90px,.45fr)) auto;align-items:center;gap:1rem;padding:1rem;border-top:1px solid var(--border)}
.service-plan-table article:first-child{border-top:0}.service-plan-table article>div{display:grid;gap:.2rem}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.about-grid article{display:grid;gap:.45rem;padding:1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
@media(max-width:760px){.metrics article:last-child{display:grid!important}.service-plan-warning{margin:.65rem .75rem 0;align-items:flex-start}.service-plan-table article{grid-template-columns:1fr 1fr}.service-plan-table article>div:first-child,.service-plan-table article>.row-actions{grid-column:1/-1}}

.mobile-menu-toggle,.mobile-menu-backdrop{display:none}
@media(max-width:760px){
  body[data-mobile-layout="drawer"] .app-shell{display:block;padding:64px 0 0}
  body[data-mobile-layout="drawer"] .content{padding:18px 12px 92px}
  body[data-mobile-layout="drawer"] .mobile-menu-toggle{position:fixed;z-index:42;top:max(10px,env(safe-area-inset-top));left:12px;display:flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:12px;background:var(--panel);color:var(--text);box-shadow:var(--shadow);font-weight:900}
  body[data-mobile-layout="drawer"] .mobile-menu-toggle span{font-size:1.2rem}
  body[data-mobile-layout="drawer"] .mobile-menu-backdrop{position:fixed;z-index:39;inset:0;display:block;border:0;background:#10140f99}
  body[data-mobile-layout="drawer"] .mobile-menu-backdrop[hidden]{display:none}
  body[data-mobile-layout="drawer"] .sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:min(88vw,340px);height:100dvh;min-height:0;padding:18px 14px calc(16px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:16px 0 40px #0005}
  body[data-mobile-layout="drawer"].mobile-menu-open .sidebar{transform:translateX(0)}
  body[data-mobile-layout="drawer"] .sidebar .brand{display:flex;padding:4px 4px 14px}
  body[data-mobile-layout="drawer"] .brewery-switcher{display:grid}
  body[data-mobile-layout="drawer"] .sidebar nav{display:grid;align-content:start;gap:3px;overflow-y:auto}
  body[data-mobile-layout="drawer"] .sidebar nav button{display:flex;flex:initial;flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:42px;padding:.65rem .75rem;font-size:.88rem;text-align:left}
  body[data-mobile-layout="drawer"] .sidebar nav button span{font-size:1.05rem}
  body[data-mobile-layout="drawer"] .nav-section-title{display:block;margin:.8rem .7rem .2rem}
  body[data-mobile-layout="drawer"] .sidebar footer.sidebar-user{display:grid;margin-top:auto;padding-top:12px}
  body[data-mobile-layout="drawer"] .sidebar-session-actions{display:flex}
  body[data-mobile-layout="drawer"] .mobile-qr-scanner{bottom:18px}
  body[data-mobile-layout="drawer"] .metrics.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
.table-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(150px, .35fr) auto; gap: 1rem; align-items: end; padding: 1rem; border: 1px solid var(--border, #d8d4ca); border-radius: 12px; background: var(--surface, #fff); }
.table-row label { margin: 0; }
@media (max-width: 760px) { .table-row { grid-template-columns: 1fr; align-items: stretch; } .table-row .row-actions { justify-content: stretch; } .table-row .row-actions button { flex: 1; } }

/* 4.0.0 · persoonlijke experience layouts */
body[data-theme="aurora"]{--bg:#f3f4ff;--panel:#ffffffd9;--soft:#ecebff;--sidebar:#302b63;--ink:#1f2140;--muted:#6d6f91;--primary:#6657d9;--accent:#e65c9c;--border:#dad8f2;--shadow:0 16px 38px #44398d18;background-image:radial-gradient(circle at 92% 4%,#ff9cc733,transparent 26%),radial-gradient(circle at 4% 96%,#7c70ff29,transparent 28%)}
body[data-theme="midnight"]{--bg:#07111f;--panel:#0d1a2c;--soft:#14243a;--sidebar:#050b14;--ink:#edf5ff;--muted:#91a5be;--primary:#4d9cff;--accent:#73e0c1;--border:#233852;--shadow:0 18px 42px #0007;color-scheme:dark}
body[data-theme="neon"]{--bg:#12150d;--panel:#1b2014;--soft:#252c19;--sidebar:#090b07;--ink:#f4ffe8;--muted:#a8b59b;--primary:#9be33b;--accent:#ff4fa3;--border:#38432b;--shadow:0 0 28px #9be33b14;color-scheme:dark}
body[data-theme="neon"] .primary,body[data-theme="neon"] #navigation button.active{box-shadow:0 0 18px #9be33b66}
body[data-theme="editorial"]{--bg:#f4f1eb;--panel:#fff;--soft:#ebe5dc;--sidebar:#24211e;--ink:#171512;--muted:#746d63;--primary:#1f1d1a;--accent:#b54a32;--border:#d8d0c5;--shadow:0 12px 32px #2a211413}
body[data-theme="editorial"] h1,body[data-theme="editorial"] h2{font-family:"Times New Roman",Georgia,serif;letter-spacing:-.035em}
body[data-theme="editorial"] .content{max-width:1500px}

/* Desktop experiences deliberately change composition as well as colour. */
@media(min-width:1051px){
  body[data-theme="fresh"] .app-shell,body[data-theme="neon"] .app-shell{display:block;padding-top:106px}
  body[data-theme="fresh"] .sidebar,body[data-theme="neon"] .sidebar{position:fixed;z-index:15;inset:0 0 auto;display:grid;grid-template-columns:auto minmax(180px,260px) 1fr auto;align-items:center;gap:18px;width:auto;min-height:0;height:106px;padding:12px 3vw;box-shadow:0 8px 28px #0002}
  body[data-theme="fresh"] .sidebar .brand,body[data-theme="neon"] .sidebar .brand{padding:0;font-size:18px}
  body[data-theme="fresh"] .brewery-switcher,body[data-theme="neon"] .brewery-switcher{margin:0}
  body[data-theme="fresh"] .sidebar nav,body[data-theme="neon"] .sidebar nav{display:flex;align-items:center;gap:4px;overflow-x:auto}
  body[data-theme="fresh"] .nav-section-title,body[data-theme="neon"] .nav-section-title{display:none}
  body[data-theme="fresh"] .sidebar nav button,body[data-theme="neon"] .sidebar nav button{flex:0 0 auto;padding:10px;font-size:12px;white-space:nowrap}
  body[data-theme="fresh"] .sidebar footer.sidebar-user,body[data-theme="neon"] .sidebar footer.sidebar-user{display:flex;align-items:center;gap:8px;margin:0;padding:0;border:0}
  body[data-theme="fresh"] .sidebar-user-details,body[data-theme="neon"] .sidebar-user-details{display:none}
  body[data-theme="fresh"] .sidebar-session-actions,body[data-theme="neon"] .sidebar-session-actions{display:grid}

  body[data-theme="aurora"] .app-shell,body[data-theme="editorial"] .app-shell{grid-template-columns:minmax(0,1fr) 285px}
  body[data-theme="aurora"] .sidebar,body[data-theme="editorial"] .sidebar{grid-column:2;grid-row:1}
  body[data-theme="aurora"] .content-wrap,body[data-theme="editorial"] .content-wrap{grid-column:1;grid-row:1}
  body[data-theme="aurora"] .sidebar{border-radius:28px 0 0 28px}

  body[data-theme="midnight"] .app-shell{grid-template-columns:98px minmax(0,1fr)}
  body[data-theme="midnight"] .sidebar{align-items:center;padding-inline:12px}
  body[data-theme="midnight"] .sidebar .brand{padding-inline:0}
  body[data-theme="midnight"] .sidebar .brand>span:last-child,body[data-theme="midnight"] .brewery-switcher,body[data-theme="midnight"] .nav-section-title,body[data-theme="midnight"] .sidebar footer{display:none}
  body[data-theme="midnight"] .sidebar nav button{justify-content:center;min-height:48px;font-size:0}
  body[data-theme="midnight"] .sidebar nav button span{width:auto;font-size:21px}
  body[data-theme="midnight"] .sidebar nav button:hover{font-size:0}

  body[data-theme="editorial"] .content{padding-inline:7vw}
  body[data-theme="editorial"] .metrics article,body[data-theme="editorial"] .settings-card,body[data-theme="editorial"] .inventory{border-radius:2px;box-shadow:none}
}

.stocktake-tabs{margin:26px 0 0;padding:5px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}
.stocktake-tabs button{min-width:110px}
.amount-unit-field>span{display:grid;align-items:center;padding:0 10px;border:1px solid var(--border);border-left:0;border-radius:0 8px 8px 0;background:var(--soft);font-weight:800}

.experience-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:18px 0 26px}.experience-card{display:grid;gap:7px;padding:10px;border:1px solid var(--border);border-radius:15px;background:var(--panel);color:var(--ink);text-align:left;box-shadow:var(--shadow)}.experience-card.active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent),var(--shadow)}.experience-card>strong,.experience-card>small{padding-inline:4px}.experience-preview,.mobile-preview{display:grid;grid-template-columns:26% 1fr;grid-template-rows:28% 1fr;gap:5px;height:92px;padding:8px;border-radius:10px;background:#f5f1e8;overflow:hidden}.experience-preview i,.mobile-preview i{display:block;border-radius:5px;background:#fff}.experience-preview i:first-child{grid-row:1/-1;background:#47562e}.experience-preview i:nth-child(2){background:#b86537}.preview-dark{background:#101416}.preview-dark i{background:#242a2d}.preview-dark i:first-child{background:#151719}.preview-dark i:nth-child(2){background:#d9952b}.preview-fresh{background:#f7faf6}.preview-fresh i:first-child{background:#fbfdf9}.preview-fresh i:nth-child(2){background:#237b57}.preview-aurora{background:linear-gradient(135deg,#eeeaff,#ffddea)}.preview-aurora i:first-child{background:#302b63}.preview-aurora i:nth-child(2){background:#e65c9c}.preview-midnight{background:#07111f}.preview-midnight i{background:#14243a}.preview-midnight i:first-child{background:#050b14}.preview-midnight i:nth-child(2){background:#4d9cff}.preview-neon{background:#12150d}.preview-neon i{background:#252c19}.preview-neon i:first-child{background:#090b07}.preview-neon i:nth-child(2){background:#9be33b}.preview-editorial{background:#f4f1eb}.preview-editorial i:first-child{background:#24211e}.preview-editorial i:nth-child(2){background:#b54a32}.mobile-preview{grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 18px;background:var(--soft)}.mobile-preview i{background:var(--panel)}.mobile-preview i:last-child{grid-column:1/-1;background:var(--primary)}.preview-mobile-drawer i:first-child{grid-column:1/-1}.preview-mobile-focus i:last-child{width:42px;justify-self:start;border-radius:999px}.preview-mobile-dock i:last-child{width:75%;justify-self:center;border-radius:999px}.preview-mobile-tiles{grid-template-rows:1fr 1fr}.preview-mobile-tiles i:last-child{grid-column:auto;background:var(--panel)}

.mfa-enrollment{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--soft);text-align:left}.mfa-enrollment img{width:150px;max-width:100%;border-radius:10px;background:#fff}.mfa-enrollment>div{display:grid;gap:8px}.mfa-enrollment code{padding:10px;border:1px dashed var(--border);border-radius:8px;background:var(--panel);overflow-wrap:anywhere}.recovery-codes{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--soft);font:700 1rem/1.75 monospace;text-align:center;white-space:pre-wrap}.session-list{display:grid;gap:9px}.session-list article{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--border);border-radius:11px;background:var(--soft)}.session-list article>div{display:grid;gap:3px;min-width:0}.session-list small{overflow:hidden;text-overflow:ellipsis}

.security-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:24px;margin:24px 0;padding:24px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,var(--panel),var(--soft));box-shadow:var(--shadow)}.security-score{display:flex;align-items:baseline;justify-content:center;width:128px;height:128px;border:10px solid currentColor;border-radius:50%;color:#a76014}.security-score.ok{color:#588037}.security-score.danger{color:#c2573b}.security-score strong{font-size:42px}.security-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.security-check-grid article{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-left:5px solid #d88b16;border-radius:12px;background:var(--panel)}.security-check-grid article.pass{border-left-color:#588037}.security-check-grid article.danger{border-left-color:#c2573b}.security-check-grid article>span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--soft);font-weight:900}.security-check-grid article>div{display:grid;gap:4px}.security-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.security-actions article{padding:16px;border-radius:12px;background:var(--soft)}

@media(max-width:760px){
  .mfa-enrollment{grid-template-columns:1fr;text-align:center}.mfa-enrollment img{margin:auto}.session-list article{grid-template-columns:1fr}.security-hero{grid-template-columns:1fr;text-align:center}.security-score{margin:auto}.security-actions{grid-template-columns:1fr}
  body[data-mobile-layout="dock"] .app-shell{display:block;padding-top:20px;padding-bottom:92px}
  body[data-mobile-layout="dock"] .mobile-menu-toggle{position:fixed;z-index:42;right:50%;bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:.5rem;min-width:150px;min-height:52px;justify-content:center;padding:.7rem 1.1rem;transform:translateX(50%);border:1px solid color-mix(in srgb,var(--primary) 40%,var(--border));border-radius:999px;background:var(--primary);color:#fff;box-shadow:0 16px 40px #0005;font-weight:900}
  body[data-mobile-layout="dock"] .mobile-menu-backdrop{position:fixed;z-index:39;inset:0;display:block;border:0;background:#10140faa}body[data-mobile-layout="dock"] .mobile-menu-backdrop[hidden]{display:none}
  body[data-mobile-layout="dock"] .sidebar{position:fixed;z-index:40;inset:0 0 auto 0;display:flex;width:100%;height:min(82dvh,720px);min-height:0;padding:18px 14px 24px;border-radius:0 0 26px 26px;transform:translateY(-105%);transition:transform .24s ease;box-shadow:0 20px 50px #0006}
  body[data-mobile-layout="dock"].mobile-menu-open .sidebar{transform:translateY(0)}body[data-mobile-layout="dock"] .sidebar .brand{display:flex}body[data-mobile-layout="dock"] .brewery-switcher{display:grid}body[data-mobile-layout="dock"] .sidebar nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:6px;overflow-y:auto}body[data-mobile-layout="dock"] .nav-section-title{grid-column:1/-1;display:block}body[data-mobile-layout="dock"] .sidebar nav button{display:flex;flex:initial;flex-direction:row;justify-content:flex-start;gap:.55rem;min-height:48px;border-radius:12px;font-size:.77rem}body[data-mobile-layout="dock"] .sidebar footer{display:grid;margin-top:auto}
  body[data-mobile-layout="focus"] .app-shell,body[data-mobile-layout="tiles"] .app-shell{display:block;padding-top:64px}
  body[data-mobile-layout="focus"] .mobile-menu-toggle,body[data-mobile-layout="tiles"] .mobile-menu-toggle{position:fixed;z-index:42;top:max(10px,env(safe-area-inset-top));left:12px;display:flex;gap:.45rem;min-height:42px;padding:.55rem .8rem;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);font-weight:900}
  body[data-mobile-layout="focus"] .mobile-menu-backdrop,body[data-mobile-layout="tiles"] .mobile-menu-backdrop{position:fixed;z-index:39;inset:0;display:block;border:0;background:#10140faa}body[data-mobile-layout="focus"] .mobile-menu-backdrop[hidden],body[data-mobile-layout="tiles"] .mobile-menu-backdrop[hidden]{display:none}
  body[data-mobile-layout="focus"] .sidebar,body[data-mobile-layout="tiles"] .sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;width:min(92vw,380px);height:100dvh;min-height:0;padding:18px 14px calc(16px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .22s ease;box-shadow:16px 0 40px #0005}
  body[data-mobile-layout="focus"].mobile-menu-open .sidebar,body[data-mobile-layout="tiles"].mobile-menu-open .sidebar{transform:translateX(0)}body[data-mobile-layout="focus"] .sidebar .brand,body[data-mobile-layout="tiles"] .sidebar .brand{display:flex}body[data-mobile-layout="focus"] .brewery-switcher,body[data-mobile-layout="tiles"] .brewery-switcher{display:grid}body[data-mobile-layout="focus"] .sidebar footer,body[data-mobile-layout="tiles"] .sidebar footer{display:grid;margin-top:auto}
  body[data-mobile-layout="focus"] .sidebar nav{display:grid;align-content:start;overflow-y:auto}body[data-mobile-layout="focus"] .sidebar nav button{display:flex;flex:initial;flex-direction:row;justify-content:flex-start;gap:.7rem;min-height:44px;font-size:.88rem}
  body[data-mobile-layout="tiles"] .sidebar{width:min(96vw,480px)}body[data-mobile-layout="tiles"] .sidebar nav{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:8px;overflow-y:auto}body[data-mobile-layout="tiles"] .nav-section-title{grid-column:1/-1;display:block}body[data-mobile-layout="tiles"] .sidebar nav button{display:flex;min-height:86px;flex-direction:column;justify-content:center;border-radius:14px;background:#ffffff12;font-size:.76rem}
}

.content{font-size:calc(1rem * var(--content-font-scale))!important}.sidebar nav button,.nav-section-title,.sidebar footer{font-size:calc(.86rem * var(--menu-font-scale))!important}
@media(min-width:761px){
 body[data-menu-position="left"] .app-shell{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;padding:0!important}body[data-menu-position="left"] .sidebar{position:sticky!important;inset:0 auto auto 0!important;display:flex!important;width:auto!important;height:100vh!important;min-height:100vh!important;grid-column:1!important;grid-row:1!important;padding:24px 18px!important;border-radius:0!important}body[data-menu-position="left"] .content{grid-column:2!important;padding:32px 5vw 80px!important}body[data-menu-position="left"] .sidebar nav{display:block!important;overflow-y:auto!important}body[data-menu-position="left"] .sidebar nav button{display:flex!important;flex-direction:row!important;width:100%!important;font-size:calc(.86rem * var(--menu-font-scale))!important}body[data-menu-position="left"] .nav-section-title{display:block!important}
 body[data-menu-position^="top-"] .app-shell,body[data-menu-position^="bottom-"] .app-shell{display:block!important;padding:0!important}
 body[data-menu-position^="top-"] .sidebar,body[data-menu-position^="bottom-"] .sidebar{position:fixed!important;z-index:35!important;left:0!important;right:0!important;display:grid!important;width:auto!important;height:auto!important;min-height:0!important;padding:10px 3vw!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;border-radius:0!important;background:var(--primary)!important}
 body[data-menu-position^="top-"] .sidebar{top:0!important;bottom:auto!important}body[data-menu-position^="bottom-"] .sidebar{top:auto!important;bottom:0!important}
 body[data-menu-position^="top-"] .sidebar nav,body[data-menu-position^="bottom-"] .sidebar nav{display:flex!important;overflow-x:auto!important;gap:.25rem!important}
 body[data-menu-position="top-center"] .sidebar nav,body[data-menu-position="bottom-center"] .sidebar nav{justify-content:center!important}
 body[data-menu-position="top-right"] .sidebar nav,body[data-menu-position="bottom-right"] .sidebar nav{justify-content:flex-end!important}
 body[data-menu-position^="top-"] .nav-section-title,body[data-menu-position^="bottom-"] .nav-section-title{display:none!important}
 body[data-menu-position^="top-"] .sidebar nav button,body[data-menu-position^="bottom-"] .sidebar nav button{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;white-space:nowrap!important}
 body[data-menu-position^="top-"] .content{padding-top:100px!important}body[data-menu-position^="bottom-"] .content{padding-bottom:110px!important}
}
.system-message-stack{display:grid;gap:.65rem;margin:0 0 1rem}.system-message{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--accent,#47562e) 35%,transparent);border-left:6px solid var(--accent,#47562e);border-radius:14px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(20,24,16,.08)}.system-message.warning{border-left-color:#c47a12;background:#fff8e8}.system-message.critical{border-left-color:#b32727;background:#fff0f0}.system-message.success{border-left-color:#29845a;background:#effaf4}.system-message small,.system-message strong,.system-message p{display:block}.system-message p{margin:.3rem 0 0;white-space:pre-wrap}.system-message>button{font-size:1.35rem;min-width:2.25rem}.recent-pages{display:flex;align-items:center;gap:.45rem;overflow:auto;margin:.15rem 0 1rem;padding:.55rem .7rem;border-radius:12px;background:color-mix(in srgb,var(--surface,#fff) 88%,var(--accent,#47562e) 12%)}.recent-pages strong{white-space:nowrap;font-size:.82rem}.recent-pages button{white-space:nowrap;padding:.38rem .65rem}.recent-pages-clear{margin-left:auto}.system-message-admin-list{display:grid;gap:.75rem}.system-message-admin-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem;border:1px solid var(--line,#ddd);border-radius:12px}.system-message-admin-list p{margin:.3rem 0}.status.critical{background:#b32727;color:#fff}
@media(max-width:720px){.system-message-admin-list>article{grid-template-columns:1fr}.system-message{border-radius:10px}.recent-pages{margin-inline:-.25rem}}

/* 4.1.x: scalable navigation, clearer table columns and demo safety. */
.desktop-menu-collapse{display:none}
.product-statuses{display:flex;min-width:0;max-width:100%;flex-wrap:wrap;align-content:flex-start;gap:6px}
.product-statuses .status{width:auto;max-width:100%;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.row-actions{min-width:0}
.breadcrumbs,.recent-pages{display:flex;align-items:center;gap:.45rem;overflow:auto;margin:.15rem 0 1rem;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 88%,var(--primary) 12%);color:var(--muted);font-size:.82rem}
.breadcrumbs[hidden],.recent-pages[hidden]{display:none}.breadcrumbs button,.recent-pages button{min-height:34px;padding:.38rem .65rem;border:1px solid var(--border);border-radius:9px;background:var(--panel);color:var(--ink);text-decoration:none;white-space:nowrap}.breadcrumbs strong,.recent-pages strong{color:var(--ink);white-space:nowrap}
@media(min-width:761px){
  body[data-menu-position="left"] .app-shell{grid-template-columns:var(--menu-width,280px) minmax(0,1fr)!important;transition:grid-template-columns .18s ease}
  body[data-menu-position="left"] .sidebar{position:sticky!important}
  body[data-menu-position="left"] .desktop-menu-collapse{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;min-height:36px;margin:0 0 10px;padding:.4rem .65rem;border:1px solid #ffffff30;border-radius:10px;background:#ffffff12;color:#fff;font-size:.76rem;font-weight:800}
  body[data-menu-position^="top-"] .desktop-menu-collapse,body[data-menu-position^="bottom-"] .desktop-menu-collapse{display:none!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .app-shell{grid-template-columns:76px minmax(0,1fr)!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar{padding-inline:10px!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .desktop-menu-collapse{width:48px;margin-inline:auto;font-size:1.15rem}
  body[data-menu-position="left"][data-menu-collapsed="true"] .desktop-menu-collapse .collapse-label,
  body[data-menu-position="left"][data-menu-collapsed="true"] .brand>span:last-child,
  body[data-menu-position="left"][data-menu-collapsed="true"] .brewery-switcher,
  body[data-menu-position="left"][data-menu-collapsed="true"] .nav-section-title,
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar-user-details,
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar-version{display:none!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .brand{justify-content:center;padding-inline:0}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar nav button{justify-content:center!important;min-height:44px;padding-inline:4px!important;font-size:0!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar nav button>span{width:auto!important;font-size:1.25rem!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar footer{padding-inline:0!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar-account{justify-content:center!important;padding-inline:0!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] .sidebar-session-actions{display:flex!important;justify-content:center}
  body[data-menu-position="left"][data-menu-collapsed="true"] #logout{width:42px!important;min-height:40px!important;font-size:0!important}
  body[data-menu-position="left"][data-menu-collapsed="true"] #logout::before{content:"↪";font-size:1.1rem}
}
@media(min-width:761px) and (max-width:1250px){
  .table-head,.product-row{grid-template-columns:minmax(210px,1.35fr) minmax(125px,.8fr) minmax(78px,.45fr) minmax(112px,.7fr) minmax(105px,.65fr) minmax(135px,auto)!important}
  .table-head span:nth-child(4),.product-row>div:nth-child(4){display:block!important}
  .product-row>.product-statuses,.product-row>.row-actions{grid-column:auto!important}
}
@media(max-width:760px){.desktop-menu-collapse{display:none!important}.breadcrumbs,.recent-pages{margin-inline:-.25rem}}
.password-assistant{display:grid;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.password-assistant legend{padding:0 .35rem;font-weight:900}.password-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.password-assistant output{display:block;color:var(--muted);font-size:.82rem}.password-assistant button{justify-self:start}@media(max-width:520px){.password-option-grid{grid-template-columns:1fr}}
.page-loading{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:35vh;color:var(--muted)}.page-loading span{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:beerzzz-spin .7s linear infinite}@keyframes beerzzz-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-loading span{animation:none}}
.manual-guide{display:grid;gap:1rem}.manual-guide details{padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.manual-guide summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;font-weight:900}.manual-guide summary small{padding:.25rem .55rem;border-radius:999px;background:var(--surface);color:var(--muted);font-weight:700;white-space:nowrap}.manual-guide .manual-intro{margin:.85rem 0 .35rem;color:var(--muted);line-height:1.55}.manual-guide ol{margin:.5rem 0 0;padding-left:1.6rem}.manual-guide li{margin:.75rem 0;line-height:1.6;padding-left:.25rem}.language-list progress{width:min(300px,100%);height:.7rem;accent-color:var(--primary)}

/* 4.1.4 · uitgebreide rolhandleiding en veilige Brewfather-demosimulatie. */
.demo-simulation .integration-status.connected{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.demo-simulation button:disabled{cursor:not-allowed;opacity:.62}

/* 4.1.3 · compacte mobiele bediening en consistente waarschuwingen. */
.page-preface{display:grid;gap:.25rem;margin:0 0 1rem;padding:1rem 1.1rem;border:1px solid #df9c91;border-left:6px solid #b42318;border-radius:13px;background:#fff4f2;color:#7a271a;box-shadow:var(--shadow)}
.page-preface strong,.page-preface span{display:block}
.inventory-export-modal{display:grid;gap:1rem;width:min(900px,96vw)}
.inventory-export-modal{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);overflow:auto;min-width:0}
.inventory-export-modal fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--border);border-radius:13px}
.inventory-export-modal legend{padding:0 .4rem;font-weight:900}
.inventory-export-modal .export-category-grid,.inventory-export-modal .export-format-grid{min-width:0}
.inventory-export-modal .export-category-grid label,.inventory-export-modal .export-format-grid label{width:100%;min-width:0;max-width:100%;overflow:hidden}
.inventory-export-modal .export-category-grid label{grid-template-columns:auto minmax(0,1fr);padding-right:2.6rem}
.inventory-export-modal .export-format-grid label>span,.inventory-export-modal .export-category-grid strong,.inventory-export-modal .export-format-grid strong,.inventory-export-modal .export-format-grid small{min-width:0;overflow-wrap:anywhere;word-break:normal}
.inventory-export-modal .export-format-grid input{flex:0 0 auto}
.export-column-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.55rem}
.export-column-grid label{display:flex;align-items:center;gap:.45rem;padding:.65rem;border:1px solid var(--border);border-radius:9px;background:var(--soft)}
.export-column-grid input{width:auto}.recent-page-icon{display:none}
@media(max-width:760px){
  body[data-mobile-layout="drawer"] .app-shell,body[data-mobile-layout="focus"] .app-shell,body[data-mobile-layout="tiles"] .app-shell{padding-top:0!important}
  body[data-mobile-layout="drawer"] .mobile-menu-toggle,body[data-mobile-layout="focus"] .mobile-menu-toggle,body[data-mobile-layout="tiles"] .mobile-menu-toggle{position:relative!important;z-index:8!important;top:auto!important;left:auto!important;margin:.75rem 12px .25rem;min-height:42px}
  .system-message-stack{margin:0 .75rem .5rem}.content>header{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:.85rem}
  .content>header .header-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));width:100%;gap:.55rem}.content>header .header-actions:empty{display:none}
  .content>header .header-actions>*{width:100%;min-width:0;min-height:42px;padding:.65rem .7rem;text-align:center;white-space:normal}.page-preface{margin:.25rem 0 .8rem}
  .recent-pages{max-width:100%;overflow:hidden;white-space:nowrap}.recent-pages-clear{display:none!important}
  .recent-pages [data-recent-page].icon-only{flex:0 0 36px;width:36px;padding:.35rem}.recent-pages [data-recent-page].icon-only .recent-page-label{display:none}.recent-pages [data-recent-page].icon-only .recent-page-icon{display:inline}.recent-pages [data-recent-page][hidden]{display:none}
  .inventory-export-modal{width:calc(100vw - 1rem);padding:1rem}.inventory-export-modal .export-category-grid,.inventory-export-modal .export-format-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:430px){.inventory-export-modal{padding:.8rem}.inventory-export-modal fieldset{padding:.8rem}.inventory-export-modal .export-category-grid,.inventory-export-modal .export-format-grid{grid-template-columns:minmax(0,1fr)}}

/* 4.1.8–4.2.0 · touchscreenmodus met brouwerijbeleid en persoonlijke opt-out. */
.touchscreen-setting{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1rem;border:1px solid var(--border);border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,var(--panel)),var(--panel))}.touchscreen-setting h2{margin:.15rem 0}.touchscreen-setting p{max-width:680px;margin:.35rem 0 0;color:var(--muted)}
.touchscreen-setting.unavailable{background:color-mix(in srgb,var(--muted) 6%,var(--panel));border-style:dashed}.touchscreen-brewery-policy{border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--panel)),var(--panel))}
.touchscreen-autosave{display:block;margin-top:.45rem;color:var(--muted);font-weight:750}
.switch-control{display:flex;align-items:center;gap:.65rem;min-width:max-content;cursor:pointer}.switch-control input{position:absolute;opacity:0;pointer-events:none}.switch-control span{position:relative;width:58px;height:32px;border:1px solid var(--border);border-radius:999px;background:var(--soft);transition:.18s ease}.switch-control span::after{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--muted);box-shadow:0 2px 6px #0003;content:"";transition:.18s ease}.switch-control input:checked+span{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 28%,var(--panel))}.switch-control input:checked+span::after{left:29px;background:var(--primary)}.switch-control input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:3px}
.touchscreen-input-active{outline:4px solid color-mix(in srgb,var(--primary) 42%,transparent)!important;outline-offset:2px!important;box-shadow:0 0 0 2px var(--panel),0 8px 25px color-mix(in srgb,var(--primary) 18%,transparent)!important}
.touchscreen-keypad{position:fixed;z-index:120;right:18px;bottom:18px;width:min(570px,calc(100vw - 36px));padding:16px;border:1px solid color-mix(in srgb,var(--primary) 38%,var(--border));border-radius:22px;background:color-mix(in srgb,var(--panel) 96%,var(--primary) 4%);color:var(--ink);box-shadow:0 28px 80px #0008;touch-action:manipulation;user-select:none}.touchscreen-keypad-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) 42px;align-items:center;gap:12px;margin-bottom:12px}.touchscreen-keypad-head div{display:grid;min-width:0}.touchscreen-keypad-head small{color:var(--primary);font-weight:900;letter-spacing:.08em;text-transform:uppercase}.touchscreen-keypad-head strong{overflow:hidden;font-size:1.05rem;text-overflow:ellipsis;white-space:nowrap}.touchscreen-keypad-head span{color:var(--muted);font-size:.72rem}.touchscreen-keypad-head output{display:block;min-width:120px;padding:.55rem .8rem;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--bg);font-size:1.55rem;font-weight:950;font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.touchscreen-keypad-head>button{width:42px;height:42px;padding:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:1.35rem}.touchscreen-key-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.touchscreen-key-grid button{min-height:62px;padding:.45rem;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:0 4px 0 color-mix(in srgb,var(--border) 80%,#000 20%);font-size:1.42rem;font-weight:950}.touchscreen-key-grid button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--border)}.touchscreen-key-grid button:disabled{cursor:not-allowed;opacity:.3;box-shadow:none}.touchscreen-key-grid .key-function{background:color-mix(in srgb,var(--primary) 12%,var(--panel));color:var(--primary)}.touchscreen-key-grid .key-clear{background:color-mix(in srgb,#b42318 12%,var(--panel));color:#b42318}.touchscreen-keypad-actions{display:grid;grid-template-columns:1fr 1.65fr;gap:10px;margin-top:12px}.touchscreen-keypad-actions button{min-height:52px;font-weight:900}
@media(max-width:680px){.touchscreen-setting{align-items:flex-start;flex-direction:column}.touchscreen-keypad{right:0;bottom:0;left:0;width:100%;padding:12px 12px calc(12px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:22px 22px 0 0}.touchscreen-keypad-head{grid-template-columns:minmax(0,1fr) minmax(92px,auto) 38px;gap:8px}.touchscreen-keypad-head span{display:none}.touchscreen-keypad-head output{min-width:92px;font-size:1.25rem}.touchscreen-key-grid{gap:7px}.touchscreen-key-grid button{min-height:54px;border-radius:12px}.touchscreen-keypad-actions button{min-height:48px}}
@media(max-height:590px) and (orientation:landscape){.touchscreen-keypad{top:8px;right:8px;bottom:8px;left:auto;width:min(470px,55vw);overflow:auto;padding:10px}.touchscreen-keypad-head{margin-bottom:7px}.touchscreen-key-grid{gap:5px}.touchscreen-key-grid button{min-height:41px;font-size:1.05rem;box-shadow:none}.touchscreen-keypad-actions{margin-top:7px}.touchscreen-keypad-actions button{min-height:40px}}
@media(prefers-reduced-motion:reduce){.switch-control span,.switch-control span::after{transition:none}}

/* 4.3.1 · heldere voorraadexport en flexibele demoresetplanning. */
.inventory-export-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;width:min(840px,calc(100vw - 2rem));max-height:min(860px,calc(100dvh - 2rem));padding:0!important;overflow:hidden!important}
.inventory-export-modal>.close{z-index:2;top:1rem;right:1rem}.inventory-export-header{padding:1.35rem 4rem 1rem 1.4rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 10%,var(--panel)),var(--panel))}.inventory-export-header h2{margin:.15rem 0 .35rem}.inventory-export-header p{margin:0;color:var(--muted);line-height:1.5}
.inventory-export-sections{display:grid;gap:1rem;min-height:0;padding:1.1rem 1.4rem 1.3rem;overflow:auto}.inventory-export-modal fieldset{padding:1rem 1.1rem 1.15rem!important;background:var(--panel)}.inventory-export-modal legend{padding:0 .5rem;color:var(--ink)}.export-section-help{margin:0 0 .8rem;color:var(--muted);font-size:.85rem}
.inventory-export-modal .export-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.inventory-export-modal .export-format-card{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.75rem;min-height:82px;padding:.85rem 1rem!important;border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--ink)!important;cursor:pointer;overflow:visible}.inventory-export-modal .export-format-card:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 22%,transparent)}.inventory-export-modal .export-format-card input{position:static;width:19px;height:19px;flex:none;accent-color:var(--primary)}.export-file-badge{display:grid;place-items:center;min-width:52px;min-height:42px;padding:.3rem;border-radius:9px;background:var(--primary);color:#fff!important;font-size:.72rem;font-weight:950;letter-spacing:.04em}.export-choice-copy{display:grid;gap:.2rem;min-width:0;color:var(--ink)!important}.inventory-export-modal .export-choice-copy strong{display:block!important;color:var(--ink)!important;font-size:.95rem;opacity:1!important}.inventory-export-modal .export-choice-copy small{display:block!important;color:var(--muted)!important;font-size:.78rem;line-height:1.35;opacity:1!important}
.inventory-export-modal .export-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:.15rem}.inventory-export-modal .export-category-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:74px;padding:.8rem .9rem!important;border:1px solid var(--border);border-radius:12px;background:var(--soft);color:var(--ink);cursor:pointer;overflow:visible}.inventory-export-modal .export-category-card:has(input:checked){border-color:color-mix(in srgb,var(--primary) 75%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--panel))}.inventory-export-modal .export-category-card .category-icon{display:grid;place-items:center;width:48px;height:48px;margin:0}.inventory-export-modal .export-category-card input{position:static;width:19px;height:19px;accent-color:var(--primary)}
.inventory-export-modal .export-column-grid{gap:.65rem}.inventory-export-modal .export-column-grid label{min-height:44px;padding:.7rem .8rem;background:var(--soft);cursor:pointer}.inventory-export-actions{padding:1rem 1.4rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--panel)}.inventory-export-actions .notice{margin:0 0 .75rem}
.demo-reset-time-list{display:grid;gap:.65rem;margin-bottom:.75rem}.demo-reset-time-row{display:grid;grid-template-columns:minmax(170px,1fr) auto;align-items:end;gap:.65rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--soft)}.demo-reset-time-row label{margin:0}.demo-reset-time-row button{min-height:42px}.demo-reset-now-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid color-mix(in srgb,#b42318 35%,var(--border));border-radius:13px;background:color-mix(in srgb,#b42318 5%,var(--panel))}.demo-reset-now-card div{display:grid;gap:.25rem}.demo-reset-now-card small{color:var(--muted)}
@media(max-width:680px){.inventory-export-modal{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.inventory-export-header{padding:1.05rem 3.5rem .85rem 1rem}.inventory-export-sections{padding:.85rem 1rem 1rem}.inventory-export-modal .export-format-grid,.inventory-export-modal .export-category-grid{grid-template-columns:1fr}.inventory-export-modal .export-format-card{grid-template-columns:auto 46px minmax(0,1fr);min-height:72px}.inventory-export-modal fieldset{padding:.85rem .8rem 1rem!important}.inventory-export-actions{padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom))}.demo-reset-now-card{align-items:stretch;flex-direction:column}.demo-reset-now-card button{width:100%}}
@media(max-width:430px){.demo-reset-time-row{grid-template-columns:1fr}.demo-reset-time-row button{width:100%}}

/* 4.3.2 · herkenbare loginpersistentie en veilige versieovergang. */
.login-remember{display:flex!important;align-items:flex-start;gap:.7rem;padding:.8rem .9rem;border:1px solid #dfd5bf;border-radius:11px;background:#f8f4e9}.login-remember input{width:19px;height:19px;margin:.1rem 0 0;accent-color:var(--primary)}.login-remember span{display:grid;gap:.2rem}.login-remember strong{color:#303426;font-size:.88rem}.login-remember small{color:#737565;font-size:.73rem;line-height:1.35}.update-available-modal{text-align:center;border:3px solid color-mix(in srgb,var(--primary) 55%,var(--border))!important}.update-available-modal p{line-height:1.6}.update-available-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1rem;border-radius:50%;background:var(--primary);color:#fff;font-size:2.7rem;font-weight:950}
/* Productmedia is alleen aanwezig wanneer de platformfunctie voor de actieve
   brouwerij aanstaat. De vormgeving blijft bewust rustig naast voorraaddata. */
.media-thumbnail{width:48px;height:48px;flex:0 0 48px;padding:0;border:1px solid color-mix(in srgb,var(--line,#d8d2c5) 80%,transparent);border-radius:12px;overflow:hidden;background:var(--surface,#fff);box-shadow:none}
.media-thumbnail:hover{transform:none;border-color:var(--accent,#47562e)}
.media-thumbnail img,.entity-media-grid img,.media-library-image img{width:100%;height:100%;display:block;object-fit:cover}
.beer-media-thumbnail{width:54px;height:54px;flex-basis:54px}
.entity-media{margin:1.25rem 0;padding:1rem;border:1px solid var(--line,#d8d2c5);border-radius:16px;background:color-mix(in srgb,var(--surface,#fff) 94%,var(--accent,#47562e))}
.entity-media-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.entity-media-heading h3{margin:.1rem 0 0}
.entity-media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.75rem}
.entity-media-grid article{position:relative;min-width:0}.entity-media-grid article>button:first-child{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:12px;overflow:hidden;background:#eee}.entity-media-grid article>small{display:block;margin-top:.35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.media-delete{position:absolute;top:.4rem;right:.4rem;width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(30,25,20,.78);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.media-viewer-modal{width:min(94vw,1000px);padding:0;overflow:hidden}.media-viewer-modal>.close{position:absolute;z-index:2;right:1rem;top:1rem;background:rgba(20,20,20,.72);color:#fff}.media-viewer-modal>img{display:block;width:100%;max-height:72vh;object-fit:contain;background:#181818}.media-viewer-modal>div{padding:1rem 1.25rem 1.25rem}.media-viewer-modal h2,.media-viewer-modal p{margin:.25rem 0}
.media-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto;align-items:end;gap:1rem}.media-toolbar label{margin:0}
.media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.media-library>article{position:relative;display:grid;grid-template-columns:110px minmax(0,1fr);gap:1rem;padding:.75rem;border:1px solid var(--line,#d8d2c5);border-radius:16px;background:var(--surface,#fff)}.media-library-image{width:110px;height:110px;padding:0;border:0;border-radius:12px;overflow:hidden}.media-library article>div{min-width:0;display:flex;align-items:flex-start;flex-direction:column;gap:.25rem}.media-library p{margin:.2rem 0}.media-library code{max-width:100%;overflow:hidden;text-overflow:ellipsis}.platform-feature-toggle{padding:.8rem;border:1px solid var(--line,#d8d2c5);border-radius:12px}.platform-feature-toggle span{display:grid;gap:.2rem}
@media(max-width:720px){.media-toolbar{grid-template-columns:1fr}.media-library{grid-template-columns:1fr}.media-library>article{grid-template-columns:92px minmax(0,1fr)}.media-library-image{width:92px;height:92px}.media-viewer-modal>img{max-height:62vh}.entity-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-name .category-icon:has(+div){display:none}}
[hidden], [data-category-field][hidden], [data-template-fields][hidden] { display: none !important; }

.mail-stat-grids { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.mail-preference-list { display:grid; gap:.65rem; margin-top:1rem; }
.scanner-programming-reference { margin:1rem 1.25rem 1.25rem; padding:1rem; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%); display:grid; gap:.75rem; }
.scanner-programming-reference > small { display:block; line-height:1.55; }
.scanner-guide-images{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.scanner-guide-images figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem}.scanner-guide-images img{display:block;width:100%;max-height:520px;object-fit:contain}.scanner-guide-images figcaption{padding:.65rem .25rem .2rem;font-weight:700}.digest-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.digest-section-grid legend{grid-column:1/-1}
@media(max-width:700px){.scanner-guide-images,.digest-section-grid{grid-template-columns:1fr}.scanner-guide-images img{max-height:none}}
.scanner-code-grid { display:grid; grid-template-columns:max-content 1fr; gap:.5rem .85rem; align-items:center; }
.scanner-code-grid code { font-weight:800; padding:.35rem .55rem; border-radius:8px; background:var(--surface); }
.login-help-link { display:block; text-align:center; margin-top:.75rem; }

@media (max-width:760px) {
  .inventory-dashboard-metrics { grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:.4rem !important; }
  .inventory-dashboard-metrics article,
  .inventory-dashboard-metrics article:last-child { display:grid !important; min-height:68px !important; padding:.6rem !important; align-content:center; min-width:0; }
  .inventory-dashboard-metrics small { font-size:.64rem; line-height:1.15; overflow-wrap:anywhere; }
  .inventory-dashboard-metrics strong { font-size:clamp(.86rem,3.8vw,1.1rem) !important; line-height:1.1; overflow-wrap:anywhere; }
  .mail-stat-grids { grid-template-columns:1fr; }
  .scanner-code-grid { grid-template-columns:1fr; }
}
.detail-list{display:grid;gap:.45rem;margin:1rem 0}.detail-list p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.6rem .75rem;border-radius:.65rem;background:color-mix(in srgb,var(--surface,#fff) 90%,var(--accent,#47562e) 10%)}.detail-list p span{color:var(--muted,#6b6f65)}.detail-list p strong{text-align:right}
