:root {
  --forest: #1f4634;
  --forest-2: #315f48;
  --forest-3: #dfe9df;
  --cream: #f5f0e5;
  --paper: #fffdf8;
  --ink: #203029;
  --muted: #6c776f;
  --line: #dddccf;
  --yolk: #e2a536;
  --yolk-soft: #f5e7bc;
  --terra: #b55f43;
  --terra-soft: #f1ded5;
  --sage: #7d9b7e;
  --shadow: 0 16px 50px rgba(31, 70, 52, 0.1);
  --shadow-small: 0 7px 24px rgba(31, 70, 52, 0.08);
  --space-1: 8px;
  --space-2: 12px;
  --space-3: 16px;
  --space-4: 24px;
  --product-image-ratio: 16 / 9;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  font-synthesis: none;
}
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 8% 4%, rgba(226, 165, 54, 0.13), transparent 25rem),
    var(--cream);
}

button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid rgba(226, 165, 54, 0.55);
  outline-offset: 2px;
}

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand-name, .metric-value { font-family: Georgia, "Times New Roman", serif; }
h1 { font-size: clamp(2.3rem, 5vw, 4.8rem); line-height: 0.98; letter-spacing: -0.045em; }
h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -0.03em; }
h3 { line-height: 1.18; }
p { line-height: 1.6; }

.app-shell { min-height: 100vh; }
.page-width { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.demo-ribbon {
  background: #172f25;
  color: #e9f0ea;
  font-size: 0.78rem;
  text-align: center;
  padding: 8px 16px;
  letter-spacing: 0.02em;
}

.demo-ribbon strong { color: #ffd987; }

.brand { display: inline-flex; align-items: center; gap: 11px; color: inherit; text-decoration: none; }
.brand-mark {
  width: 44px;
  height: 44px;
  border-radius: 50% 50% 48% 52% / 58% 58% 42% 42%;
  display: grid;
  place-items: center;
  background: var(--paper);
  color: var(--forest);
  border: 1px solid rgba(255, 255, 255, 0.45);
}
.brand-mark svg { width: 25px; }
.brand-name { display: block; font-weight: 700; font-size: 1.2rem; line-height: 1; }
.brand-place { display: block; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.14em; opacity: 0.72; margin-top: 4px; }

.topbar {
  background: var(--forest);
  color: white;
  min-height: 78px;
  display: flex;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 8px 28px rgba(24, 54, 40, 0.12);
}
.topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.top-nav { display: flex; align-items: center; gap: 6px; }
.top-nav button {
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: 0.9rem;
}
.top-nav button:hover, .top-nav button.active { background: rgba(255,255,255,0.11); color: white; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.user-chip { display: flex; align-items: center; gap: 9px; padding: 6px 12px 6px 7px; background: rgba(255,255,255,0.1); border-radius: 999px; }
.avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--yolk); color: var(--forest); font-weight: 800; font-size: 0.78rem; }
.customer-identity-mark { flex: 0 0 auto; overflow: hidden; }
.customer-identity-mark.has-logo { background: transparent; border: 0; border-radius: 0; }
.customer-identity-mark img { width: 100%; height: 100%; display: block; object-fit: contain; }
.user-chip span:last-child { font-size: 0.82rem; }
.user-chip > span:last-child { display: grid; gap: 1px; line-height: 1.15; }
.user-chip small { color: rgba(255,255,255,.68); font-size: .58rem; font-weight: 700; letter-spacing: .02em; }
.icon-button { width: 42px; height: 42px; border: 0; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,0.1); color: white; }
.icon-button:hover { background: rgba(255,255,255,0.18); }
.icon-button svg { width: 20px; }

.button {
  border: 0;
  border-radius: 12px;
  min-height: 44px;
  padding: 12px 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 750;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}
.button:hover { transform: translateY(-1px); }
.button svg { width: 18px; }
.button-primary { background: var(--forest); color: white; box-shadow: 0 5px 14px rgba(31,70,52,0.16); }
.button-primary:hover { background: #173728; }
.button-yolk { background: var(--yolk); color: #2d301e; box-shadow: 0 5px 14px rgba(0,0,0,0.12); }
.button-yolk:hover { background: #edb545; }
.button-secondary { background: transparent; color: #4f5c54; border: 1px solid #d1d3cc; box-shadow: none; }
.button-secondary:hover { border-color: var(--sage); background: rgba(255,255,255,0.55); color: var(--forest); }
.button-ghost { background: transparent; color: var(--forest); padding-inline: 8px; }
.button-danger { background: var(--terra-soft); color: #873c29; }
.button-small { min-height: 40px; padding: 8px 11px; border-radius: 9px; font-size: 0.82rem; }
.button-wide { width: 100%; }
.button:disabled { cursor: not-allowed; opacity: 0.48; transform: none; }

.login-page { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.55fr); }
.login-story {
  min-height: 100vh;
  background: var(--forest);
  color: white;
  padding: clamp(30px, 6vw, 80px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  overflow: hidden;
}
.login-story::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 50%;
  right: -150px;
  top: 9%;
  box-shadow: 0 0 0 70px rgba(255,255,255,0.028), 0 0 0 140px rgba(255,255,255,0.018);
}
.login-story::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(100deg, rgba(12, 35, 26, 0.88) 0%, rgba(12, 35, 26, 0.64) 54%, rgba(12, 35, 26, 0.26) 100%);
  opacity: 0;
}
.login-story.has-login-image::before { display: none; }
.login-story.has-login-image::after { opacity: 1; }
.login-story-image { position: absolute !important; inset: 0; z-index: 0 !important; width: 100%; height: 100%; object-fit: cover; object-position: var(--brand-login-position, center center); }
.login-story > * { position: relative; z-index: 1; }
.story-copy { max-width: 630px; margin-block: auto; padding-block: 70px; }
.eyebrow { text-transform: uppercase; letter-spacing: 0.16em; font-weight: 800; font-size: 0.72rem; color: var(--terra); margin-bottom: 16px; }
.login-story .eyebrow { color: #f5c86b; }
.story-copy h1 { max-width: 650px; margin-bottom: 28px; }
.story-copy p { max-width: 510px; font-size: 1.05rem; color: rgba(255,255,255,0.72); }
.farm-line { display: flex; align-items: flex-end; gap: 10px; opacity: 0.86; }
.farm-line svg { width: 260px; max-width: 70%; }
.login-panel { min-height: 100vh; background: var(--paper); display: grid; place-items: center; padding: 34px; }
.login-card { width: min(390px, 100%); }
.mobile-login-brand { display: none; color: var(--forest); margin-bottom: 45px; }
.login-card h2 { margin-bottom: 9px; }
.login-card > p { color: var(--muted); margin-bottom: 30px; }
.password-support-note {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-top: 13px;
  padding: 11px 12px;
  border: 1px solid #d8d4c6;
  border-radius: 11px;
  background: #f4f2eb;
  color: var(--forest);
}
.password-support-note > svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; }
.password-support-note > span { display: grid; gap: 3px; }
.password-support-note strong { font-size: .72rem; line-height: 1.35; }
.password-support-note small { color: var(--muted); font-size: .66rem; line-height: 1.45; }
.role-switch { background: #efeee7; border-radius: 13px; padding: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-bottom: 24px; }
.role-switch button { border: 0; border-radius: 10px; padding: 11px; background: transparent; color: var(--muted); font-weight: 750; }
.role-switch button.active { color: var(--forest); background: var(--paper); box-shadow: 0 2px 9px rgba(31,70,52,0.08); }
.field { display: grid; gap: var(--space-1); margin-bottom: var(--space-3); }
.field label { font-size: 0.82rem; font-weight: 800; color: #435149; }
.input, .select, .textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: white;
  color: var(--ink);
  border-radius: 11px;
  padding: 13px 14px;
  outline: none;
}
.textarea { min-height: 90px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { border-color: var(--forest-2); box-shadow: 0 0 0 3px rgba(49,95,72,0.1); }
.password-wrap { position: relative; }
.password-wrap .input { padding-right: 47px; }
.password-toggle { position: absolute; right: 6px; top: 6px; width: 36px; height: 36px; border: 0; background: transparent; border-radius: 8px; color: var(--muted); }
.password-toggle svg { width: 19px; }
.login-error { background: #f8e4dc; color: #853a25; border-radius: 10px; padding: 10px 12px; font-size: 0.84rem; margin-bottom: 15px; }
.demo-logins { margin-top: 25px; padding-top: 21px; border-top: 1px solid var(--line); }
.demo-logins p { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: var(--muted); margin-bottom: 10px; }
.demo-buttons { display: flex; gap: 8px; flex-wrap: wrap; }
.demo-buttons button { flex: 1; min-width: 150px; }
.small-note { font-size: 0.76rem; color: var(--muted); margin-top: 15px; line-height: 1.5; }
.login-code-note { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 18px; padding: 13px; color: var(--forest); background: var(--forest-3); border: 1px solid rgba(49,95,72,.18); border-radius: 10px; }
.login-code-note svg { width: 20px; flex: 0 0 auto; }
.login-code-note span { display: grid; gap: 3px; }
.login-code-note small { color: var(--muted); line-height: 1.45; }
.verification-code-input { font-size: 1.35rem; font-weight: 800; letter-spacing: .35em; text-align: center; }
#login-mfa-form .button + .button { margin-top: 8px; }

.customer-main { padding: 54px 0 90px; }
.mobile-customer-nav { display: none; }
.customer-hero {
  background: var(--paper);
  border: 1px solid rgba(49,95,72,0.14);
  border-radius: 26px;
  padding: clamp(25px, 4vw, 50px);
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  align-items: center;
  min-height: 285px;
  box-shadow: var(--shadow);
  overflow: hidden;
  position: relative;
}
.customer-hero::after {
  content: "";
  width: 300px;
  height: 300px;
  position: absolute;
  right: -80px;
  top: -65px;
  border-radius: 50%;
  background: var(--yolk-soft);
}
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 { font-size: clamp(2.25rem, 4.5vw, 4rem); margin-bottom: 15px; }
.hero-copy p { color: var(--muted); max-width: 580px; margin-bottom: 22px; }
.pickup-pill { display: inline-flex; align-items: center; gap: 10px; padding: 10px 13px; border-radius: 10px; background: var(--forest-3); color: var(--forest); font-size: 0.86rem; font-weight: 750; }
.pickup-pill svg { width: 18px; }
.hero-art { position: relative; z-index: 2; min-height: 190px; display: grid; place-items: center; }
.hero-art svg { width: min(280px, 100%); overflow: visible; }
.customer-hero-compact {
  min-height: 0;
  grid-template-columns: 1fr;
  padding: clamp(22px, 3vw, 32px);
}
.customer-hero-compact::after { width: 210px; height: 210px; right: -85px; top: -100px; opacity: 0.72; }
.customer-hero-compact .hero-copy h1 { font-size: clamp(1.9rem, 3.6vw, 3rem); margin-bottom: 13px; }
.hero-compact-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.hero-compact-row p { max-width: 660px; margin: 0; }
.hero-compact-row .pickup-pill { flex: 0 0 auto; }
.customer-hero-compact + section .section-head { margin-top: 34px; }
.customer-hero.has-customer-hero-image { position: relative; isolation: isolate; overflow: hidden; }
.customer-hero-media { min-width: 0; min-height: 220px; overflow: hidden; }
.customer-hero-media img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--brand-hero-position, center center); }
.customer-hero.hero-layout-split { grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 0; padding: 0; }
.customer-hero.hero-layout-split .hero-copy { align-self: center; padding: clamp(24px, 4vw, 46px); }
.customer-hero.hero-layout-split .customer-hero-media { min-height: 330px; }
.customer-hero.hero-layout-cover { min-height: 390px; display: grid; align-items: end; padding: clamp(30px, 5vw, 58px); color: white; }
.customer-hero.hero-layout-cover::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10,29,21,.58) 0%, rgba(10,29,21,.32) 52%, rgba(10,29,21,.08) 100%); }
.customer-hero.hero-layout-cover .customer-hero-media { position: absolute; inset: 0; z-index: -2; min-height: 100%; }
.customer-hero.hero-layout-cover .hero-copy { max-width: 850px; }
.customer-hero.hero-layout-cover .hero-copy h1, .customer-hero.hero-layout-cover .hero-copy p { color: white; }
.customer-hero.hero-layout-cover .eyebrow { color: var(--yolk); }
.customer-hero.hero-layout-cover .pickup-pill { color: white; background: rgba(10,29,21,.22); border: 1px solid rgba(255,255,255,.3); box-shadow: none; backdrop-filter: blur(3px); }
.customer-hero.hero-layout-strip { display: grid; grid-template-columns: 1fr; gap: 0; padding: 0; }
.customer-hero.hero-layout-strip .hero-copy { padding: clamp(24px, 4vw, 42px); }
.customer-hero.hero-layout-strip .customer-hero-media { height: clamp(180px, 26vw, 290px); }
.brand-story-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 18px 0 8px; }
.brand-story-gallery figure { min-width: 0; height: clamp(150px, 20vw, 250px); margin: 0; overflow: hidden; border: 1px solid var(--line); background: #e9e7df; }
.brand-story-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; }

.section-head { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); margin: 48px 0 var(--space-4); }
.section-head h2 { margin-bottom: 5px; }
.section-head p { color: var(--muted); margin: 0; }
.category-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.category-chip { min-height: 42px; border: 1px solid var(--line); background: var(--paper); color: var(--muted); border-radius: 999px; padding: 9px 13px; font-weight: 750; font-size: 0.82rem; }
.category-chip.active, .category-chip:hover { background: var(--forest); border-color: var(--forest); color: white; }
.favorite-category-chip { display: inline-flex; align-items: center; gap: 6px; }
.favorite-category-chip svg { width: 15px; }
.favorite-category-chip b { min-width: 21px; height: 21px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 999px; background: #ece9df; color: var(--forest); font-size: 0.65rem; }
.favorite-category-chip.active svg { fill: currentColor; }
.favorite-category-chip.active b { background: rgba(255,255,255,0.18); color: white; }
.shop-filter-actions { display: grid; justify-items: end; gap: 10px; }
.customer-product-search { position: relative; width: min(100%, 430px); display: block; }
.customer-product-search > svg { position: absolute; z-index: 1; top: 50%; left: 12px; width: 18px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.customer-product-search .input { min-height: 42px; padding-left: 40px; background: var(--paper); }
#customer-product-results { min-width: 0; }
.customer-product-search-count { margin: 0 0 11px; color: var(--muted); font-size: 0.73rem; font-weight: 800; }
.customer-product-search-empty { min-height: 210px; }
.sold-out-filter { min-height: 42px; display: inline-flex; align-items: center; gap: 9px; padding: 7px 11px; border-radius: 10px; color: var(--muted); font-size: 0.78rem; font-weight: 750; cursor: pointer; }
.sold-out-filter:hover { background: rgba(255,255,255,0.48); color: var(--forest); }
.sold-out-filter input { width: 19px; height: 19px; margin: 0; accent-color: var(--forest); }
.comparison-bar { display: flex; align-items: center; gap: 13px; padding: 14px 16px; margin: -4px 0 22px; border: 1px solid #c8d8c9; border-radius: 13px; background: var(--forest-3); color: var(--forest); }
.comparison-bar > svg { width: 23px; flex: 0 0 auto; }
.comparison-bar > div { display: grid; gap: 2px; flex: 1; }
.comparison-bar strong { font-size: 0.86rem; }
.comparison-bar small { color: var(--muted); font-size: 0.72rem; }
.comparison-repeat-all { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; }
.comparison-repeat-all svg { width: 16px; }
.shop-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.product-sections { min-width: 0; display: grid; gap: 24px; }
.product-category-section { min-width: 0; }
.category-banner { position: relative; isolation: isolate; overflow: hidden; }
.category-banner-content { position: relative; z-index: 2; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.category-banner-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; display: block; object-fit: cover; }
.category-banner-image.position-top, .builder-preview-category-banner img.position-top, .category-manager-image img.position-top, .category-image-editor-preview img.position-top { object-position: center top; }
.category-banner-image.position-center, .builder-preview-category-banner img.position-center, .category-manager-image img.position-center, .category-image-editor-preview img.position-center { object-position: center center; }
.category-banner-image.position-bottom, .builder-preview-category-banner img.position-bottom, .category-manager-image img.position-bottom, .category-image-editor-preview img.position-bottom { object-position: center bottom; }
.category-banner.has-category-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,34,25,0.56), rgba(12,34,25,0.2)); }
.product-category-title { margin-bottom: 16px; }
.product-category-title:not(.has-category-image) { padding: 0 2px 11px; border-bottom: 2px solid var(--forest); }
.product-category-title.has-category-image { height: 76px; border-radius: 12px; background: var(--forest); }
.product-category-title .category-banner-content { height: 100%; padding: 0 15px; }
.product-category-title:not(.has-category-image) .category-banner-content { align-items: baseline; padding: 0; }
.product-category-title h3 { color: var(--forest); font-size: 1.25rem; margin: 0; }
.product-category-title small { color: var(--muted); font-size: 0.72rem; font-weight: 750; }
.product-category-title.has-category-image h3, .product-category-title.has-category-image small { color: white; text-shadow: 0 1px 8px rgba(0,0,0,0.36); }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.product-card { position: relative; border-radius: 15px; background: var(--paper); border: 1px solid var(--line); overflow: hidden; box-shadow: var(--shadow-small); transition: transform 180ms ease, box-shadow 180ms ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.product-card.is-favorite { border-color: #cbbd8d; }
.product-favorite-button { position: absolute; z-index: 3; top: 9px; right: 9px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(31,70,52,0.15); border-radius: 50%; background: rgba(255,255,255,0.92); color: var(--forest); box-shadow: 0 4px 14px rgba(31,70,52,0.14); backdrop-filter: blur(5px); }
.product-favorite-button:hover { background: white; transform: scale(1.05); }
.product-favorite-button svg { width: 19px; }
.product-favorite-button.active { border-color: #d3b95e; background: #f7e8b9; color: #765315; }
.product-favorite-button.active svg { fill: currentColor; }
.product-visual { width: 100%; height: auto; aspect-ratio: 11 / 5; display: grid; place-items: center; position: relative; overflow: hidden; }
.product-visual::after { content: ""; position: absolute; width: 76px; height: 76px; border-radius: 50%; border: 1px solid rgba(31,70,52,0.13); box-shadow: 0 0 0 19px rgba(255,255,255,0.12); }
.product-visual.has-photo::after { display: none; }
.product-visual .emoji { font-size: 3.15rem; position: relative; z-index: 1; filter: drop-shadow(0 7px 10px rgba(31,70,52,0.14)); }
.product-photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.tone-yellow { background: #f4e5b7; }
.tone-green { background: #dce8dc; }
.tone-terra { background: #eedbd2; }
.tone-blue { background: #dce8e7; }
.product-body { padding: 15px; }
.product-kicker { overflow: hidden; color: var(--terra); font-size: 0.62rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.075em; text-overflow: ellipsis; white-space: nowrap; }
.product-card h3 { min-height: 2.25em; margin: 5px 0 5px; font-size: 1.02rem; line-height: 1.13; }
.product-meta { display: -webkit-box; min-height: 2.7em; overflow: hidden; color: var(--muted); font-size: 0.73rem; line-height: 1.35; margin-bottom: 11px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.weight-note { display: flex; align-items: center; gap: 6px; color: #7a5512; background: #f7e9bd; border-radius: 8px; padding: 6px 7px; font-size: 0.65rem; line-height: 1.3; margin: -3px 0 9px; }
.weight-note svg { width: 15px; flex: 0 0 auto; }
.product-availability-note { margin: -3px 0 9px; padding: 7px 8px; display: flex; align-items: center; gap: 7px; border: 1px solid #c8d8c9; border-radius: 8px; background: #eef4ed; color: var(--forest); font-size: 0.65rem; line-height: 1.35; }
.product-availability-note svg { width: 15px; flex: 0 0 auto; }
.last-week-chip { width: 100%; display: flex; align-items: center; gap: 7px; border: 1px solid #cbd9cb; background: #eef4ed; color: var(--forest); border-radius: 9px; padding: 8px 9px; font-size: 0.72rem; font-weight: 750; text-align: left; margin: -4px 0 13px; }
.last-week-chip:hover { background: var(--forest-3); }
.last-week-chip svg { width: 15px; flex: 0 0 auto; }
.last-week-panel { display: flex; align-items: center; justify-content: space-between; gap: 7px; border: 1px solid #cbd9cb; background: #eef4ed; color: var(--forest); border-radius: 9px; padding: 7px; margin: -2px 0 9px; }
.last-week-panel > div { display: flex; align-items: center; gap: 8px; min-width: 0; }
.last-week-panel > div > svg { width: 15px; flex: 0 0 auto; }
.last-week-panel span { display: grid; gap: 2px; }
.last-week-panel strong { font-size: 0.63rem; }
.last-week-panel small { color: var(--muted); font-size: 0.61rem; line-height: 1.25; }
.last-week-panel.no-order { border-color: #dddcd5; background: #f4f3ed; color: #7a827d; }
.last-week-panel .button { flex: 0 0 auto; padding: 7px 8px; font-size: 0.66rem; }
.product-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.add-button { width: 40px; height: 40px; border: 0; border-radius: 11px; background: var(--forest); color: white; display: grid; place-items: center; }
.add-button:hover { background: var(--yolk); color: var(--forest); }
.add-button svg { width: 19px; }
.product-direct-order { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.product-direct-order label { display: grid; gap: 4px; color: var(--muted); font-size: 0.68rem; font-weight: 750; }
.direct-input-wrap { height: 40px; display: flex; align-items: center; border: 1px solid var(--line); border-radius: 9px; background: white; overflow: hidden; }
.direct-input-wrap input { min-width: 0; width: 100%; height: 100%; border: 0; outline: 0; padding: 0 8px; font: inherit; color: var(--ink); background: transparent; }
.direct-input-wrap:focus-within { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(31,70,52,0.1); }
.direct-input-wrap small { color: var(--muted); padding-right: 8px; white-space: nowrap; font-size: 0.67rem; }
.product-add-button { min-height: 40px; padding-inline: 10px; white-space: nowrap; }
.product-add-button svg { width: 16px; }
.product-extra-order-list { display: grid; gap: 6px; margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--line); }
.product-extra-order-title { color: var(--muted); font-size: 0.62rem; font-weight: 800; }
.product-extra-order-row { display: grid; grid-template-columns: minmax(58px, 1fr) 76px auto; align-items: center; gap: 5px; padding: 5px; border: 1px solid var(--line); border-radius: 9px; background: #f7f6f1; }
.product-extra-order-row.selected { border-color: #a8c2ac; background: #eef4ed; }
.product-extra-order-copy { min-width: 0; display: grid; gap: 1px; }
.product-extra-order-copy strong { color: var(--forest); font-size: 0.68rem; }
.product-extra-order-copy small { overflow: hidden; color: var(--muted); font-size: 0.58rem; line-height: 1.25; text-overflow: ellipsis; }
.product-extra-order-row .direct-input-wrap { height: 36px; }
.product-extra-order-row .direct-input-wrap input { padding-inline: 6px; font-size: 0.7rem; }
.product-extra-order-row .direct-input-wrap small { padding-right: 5px; font-size: 0.56rem; }
.product-extra-order-row .button { min-height: 36px; padding: 6px 7px; font-size: 0.62rem; }
.egg-order-control { display: grid; gap: 7px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.egg-option-field, .egg-order-amount > label { min-width: 0; display: grid; gap: 4px; color: var(--muted); font-size: 0.68rem; font-weight: 750; }
.egg-option-field .select { width: 100%; min-width: 0; height: 40px; padding: 7px 28px 7px 8px; border-radius: 9px; font-size: 0.7rem; text-overflow: ellipsis; }
.egg-order-amount { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 7px; }
.product-quantity-field > span { display: flex; justify-content: space-between; gap: 8px; }
.product-quantity-field > span strong { min-width: 0; overflow: hidden; color: var(--forest); font-size: 0.65rem; text-overflow: ellipsis; white-space: nowrap; }
.product-quantity-input { min-width: 0; width: 100%; height: 40px; border: 1px solid var(--line); border-radius: 9px; padding: 0 10px; background: white; color: var(--ink); font: inherit; font-size: 0.95rem; font-weight: 850; outline: 0; }
.product-quantity-input:focus { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(31,70,52,0.1); }
.egg-order-amount .button { min-height: 40px; padding-inline: 9px; white-space: nowrap; }
.egg-order-amount .button svg { width: 15px; }
.egg-order-info { display: flex; align-items: flex-start; gap: 5px; color: var(--forest); font-size: 0.61rem; line-height: 1.35; }
.egg-order-info svg { width: 14px; flex: 0 0 auto; }
.packaging-choice-head { display: grid; gap: 2px; }
.packaging-choice-head strong { color: var(--forest); font-size: 0.72rem; }
.packaging-choice-head small { color: var(--muted); font-size: 0.59rem; line-height: 1.35; }
.packaging-choice-list { display: grid; gap: 6px; }
.packaging-choice { display: grid; grid-template-columns: minmax(0, 1fr) 54px auto; align-items: end; gap: 6px; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,0.52); }
.packaging-choice.is-selected { border-color: #8eaa92; background: #edf4ec; box-shadow: inset 3px 0 0 var(--forest); }
.packaging-choice-copy { min-width: 0; display: grid; gap: 2px; align-self: center; }
.packaging-choice-copy strong { overflow: hidden; color: var(--forest); font-size: 0.67rem; line-height: 1.2; text-overflow: ellipsis; }
.packaging-choice-copy small { color: var(--muted); font-size: 0.57rem; line-height: 1.2; }
.packaging-choice-quantity { min-width: 0; display: grid; gap: 3px; color: var(--muted); font-size: 0.56rem; font-weight: 800; }
.packaging-choice .product-quantity-input { height: 34px; padding-inline: 6px; font-size: 0.78rem; }
.packaging-choice .button { min-height: 34px; padding: 5px 7px; font-size: 0.59rem; white-space: nowrap; }
.sold-out { display: inline-flex; padding: 8px 10px; border: 1px solid #c8cac4; border-radius: 8px; font-size: 0.76rem; background: #dadbd6; color: #4f5651; font-weight: 850; }
.product-unavailable { background: #ecece7; border-color: #d1d2cc; box-shadow: none; }
.product-unavailable .product-visual,
.product-unavailable .admin-product-visual { filter: grayscale(1); opacity: 0.48; }
.product-unavailable .product-kicker,
.product-unavailable h3,
.product-unavailable .product-meta,
.product-unavailable .product-description-short { color: #777d78; }
.product-card.product-unavailable:hover { transform: none; box-shadow: none; }

.cart {
  background: var(--forest);
  color: white;
  border-radius: 19px;
  padding: 18px;
  position: sticky;
  top: 98px;
  box-shadow: var(--shadow);
}
.cart-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }
.cart-head h3 { margin: 0; font-size: 1.35rem; }
.cart-head-actions { display: flex; align-items: center; gap: 8px; }
.cart-count { min-width: 25px; height: 25px; border-radius: 50%; background: var(--yolk); color: var(--forest); display: grid; place-items: center; font-size: 0.75rem; font-weight: 900; }
.cart-clear-button { min-height: 32px; display: inline-flex; align-items: center; gap: 5px; padding: 5px 7px; border: 1px solid rgba(255,255,255,0.2); border-radius: 8px; background: transparent; color: rgba(255,255,255,0.72); font-size: 0.64rem; font-weight: 750; }
.cart-clear-button:hover { border-color: rgba(255,255,255,0.45); color: white; }
.cart-clear-button svg { width: 14px; }
.cart-empty { padding: 30px 5px; text-align: center; color: rgba(255,255,255,0.6); }
.cart-empty svg { width: 38px; margin-bottom: 9px; opacity: 0.6; }
.cart-empty p { font-size: 0.82rem; line-height: 1.45; margin: 0; }
.cart-list { display: grid; gap: 14px; margin-bottom: 17px; }
.cart-line { display: grid; grid-template-columns: 1fr; gap: 10px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.13); }
.cart-product-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.cart-product { min-width: 0; font-size: 0.85rem; font-weight: 750; }
.cart-packaging-title { display: block; margin-top: 2px; color: var(--yolk); font-size: 0.64rem; font-weight: 800; }
.cart-remove-button { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; margin: -7px -5px 0 0; border: 1px solid rgba(255,214,202,0.24); border-radius: 9px; background: rgba(255,255,255,0.08); color: #ffd6ca; }
.cart-remove-button:hover { border-color: rgba(255,214,202,0.5); background: rgba(255,255,255,0.15); color: white; }
.cart-remove-button svg { width: 16px; }
.cart-packaging-info { display: block; margin: -5px 0 8px; color: rgba(255,255,255,0.66); font-size: 0.66rem; }
.quantity { display: flex; align-items: center; }
.cart-quantity-wrap { height: 38px; display: flex; align-items: center; background: rgba(255,255,255,0.11); border: 1px solid rgba(255,255,255,0.22); border-radius: 9px; overflow: hidden; }
.cart-quantity-input { width: 54px; height: 100%; border: 0; outline: 0; padding: 0 4px 0 7px; background: transparent; color: white; font: inherit; font-size: 0.9rem; font-weight: 850; }
.cart-quantity-wrap:focus-within { border-color: var(--yolk); }
.cart-quantity-wrap small { padding-right: 6px; color: rgba(255,255,255,0.7); font-size: 0.62rem; white-space: nowrap; }
.cart .button-yolk { width: 100%; }
.mobile-cart-bar { display: none; }

.history-grid { display: grid; gap: 15px; }
.order-card { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 20px; box-shadow: var(--shadow-small); }
.order-card-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.order-number { font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.order-card h3 { margin: 5px 0 4px; }
.order-date { color: var(--muted); font-size: 0.82rem; }
.status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 999px; font-size: 0.72rem; font-weight: 850; white-space: nowrap; }
.status::before { width: 14px; display: inline-grid; place-items: center; font-size: 0.78rem; font-weight: 950; line-height: 1; }
.status-new::before { content: "!"; }
.status-preparing::before { content: "↻"; }
.status-ready::before { content: "✓"; }
.status-done::before { content: "✓"; }
.status-new { color: #876011; background: #f7e8b9; }
.status-preparing { color: #315d73; background: #dce9ef; }
.status-ready { color: #286042; background: #dbeade; }
.status-done { color: #626c65; background: #e9ebe8; }
.order-items { display: flex; flex-wrap: wrap; gap: 6px; margin: 17px 0; }
.order-items span { padding: 6px 9px; border-radius: 8px; background: #f0eee6; color: #58635c; font-size: 0.76rem; }
.order-foot { padding-top: 14px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; color: var(--muted); font-size: 0.9rem; line-height: 1.55; }
.order-foot strong { color: var(--ink); }
.order-edit-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 14px; padding: 11px 12px; border-radius: 10px; background: var(--forest-3); color: var(--forest); }
.order-edit-row > span { display: flex; align-items: center; gap: 7px; font-size: 0.75rem; font-weight: 750; }
.order-edit-row svg { width: 17px; }
.order-edit-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.customer-order-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.customer-order-actions .button { display: inline-flex; align-items: center; gap: 7px; }
.customer-order-actions svg { width: 16px; }
.repeat-order-summary { display: flex; align-items: flex-start; gap: 13px; padding: 15px; margin-bottom: 13px; border: 1px solid #c9d8ca; border-radius: 12px; background: var(--forest-3); color: var(--forest); }
.repeat-order-summary > svg { width: 24px; flex: 0 0 auto; }
.repeat-order-summary p { margin: 5px 0 0; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.edit-order-banner { display: flex; align-items: center; gap: 12px; padding: 14px 16px; margin-bottom: 20px; border: 1px solid #d7bd73; background: #f7e8b9; color: #684b10; border-radius: 13px; }
.edit-order-banner > svg { width: 22px; flex: 0 0 auto; }
.edit-order-banner > span { display: grid; gap: 2px; flex: 1; }
.edit-order-banner strong { font-size: 0.86rem; }
.edit-order-banner small { color: #765c26; line-height: 1.4; }
.empty-state { padding: 60px 20px; text-align: center; background: var(--paper); border: 1px dashed var(--line); border-radius: 18px; }
.empty-state svg { width: 48px; color: var(--sage); margin-bottom: 13px; }
.empty-state p { color: var(--muted); }

.admin-shell { min-height: 100vh; background: #eeece3; }
.admin-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); min-height: calc(100vh - 108px); }
.admin-sidebar { background: var(--paper); border-right: 1px solid var(--line); padding: 27px 17px; }
.admin-menu { display: grid; gap: 6px; position: sticky; top: 106px; }
.admin-menu button { border: 0; background: transparent; color: var(--muted); border-radius: 10px; padding: 12px 13px; display: flex; align-items: center; gap: 11px; text-align: left; font-weight: 720; }
.admin-menu button svg { width: 19px; }
.admin-menu button:hover, .admin-menu button.active { color: var(--forest); background: var(--forest-3); }
.admin-main { padding: 38px clamp(22px, 4vw, 54px) 70px; max-width: 1500px; width: 100%; }
.admin-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.admin-heading h1 { font-size: clamp(2rem, 4vw, 3.2rem); margin-bottom: 7px; }
.admin-heading p { color: var(--muted); margin: 0; }
.heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.metrics { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; margin-bottom: 25px; }
.metric { background: var(--paper); border: 1px solid var(--line); border-radius: 15px; padding: 19px; box-shadow: var(--shadow-small); }
.metric-top { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: 0.76rem; font-weight: 750; }
.metric-icon { width: 32px; height: 32px; border-radius: 9px; display: grid; place-items: center; background: var(--forest-3); color: var(--forest); }
.metric-icon svg { width: 17px; }
.metric-value { font-size: 2rem; margin-top: 12px; font-weight: 700; }
.metric-sub { color: var(--muted); font-size: 0.7rem; margin-top: 3px; }
.day-dashboard { display: grid; gap: 15px; }
.day-dashboard-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow-small); }
.day-dashboard-head h2 { margin: 3px 0 0; font-size: 1.55rem; }
.day-controls { display: flex; align-items: end; gap: 8px; }
.day-controls label { display: grid; gap: 4px; color: var(--muted); font-size: 0.66rem; font-weight: 800; }
.day-controls .input { width: 155px; padding-block: 9px; }
.day-arrow { width: 39px; height: 39px; background: var(--forest-3); color: var(--forest); }
.day-pack-button { min-height: 39px; }
.day-pack-button svg { width: 17px; }
.day-workflow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.day-workflow article { min-width: 0; padding: 14px; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-small); }
.day-workflow article > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #e2e3dd; color: var(--muted); font-size: 0.78rem; font-weight: 900; }
.day-workflow article > div { min-width: 0; display: grid; gap: 3px; }
.day-workflow article strong { color: var(--forest); font-size: 0.84rem; }
.day-workflow article small { overflow: hidden; color: var(--muted); font-size: 0.68rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.day-workflow article .button { grid-column: 1 / -1; width: 100%; justify-content: center; }
.day-workflow article.is-ready > span { background: var(--forest-3); color: var(--forest); }
.day-workflow article.is-complete { border-color: #abc8ae; background: #edf5ed; }
.day-workflow article.is-complete > span { background: var(--forest); color: white; }
.day-complete-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.day-complete-summary span { padding: 12px; display: grid; gap: 5px; border: 1px solid var(--line); background: #f7f5ee; color: var(--muted); font-size: 0.72rem; }
.day-complete-summary strong { color: var(--forest); font-size: 1.35rem; }
.day-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.55fr); gap: 20px; align-items: start; }
.day-order-list { display: grid; }
.day-order-line { display: grid; grid-template-columns: minmax(190px, 1.4fr) minmax(135px, 0.75fr) auto; align-items: center; gap: 14px; padding: 15px 18px; border-top: 1px solid var(--line); }
.day-order-line:first-child { border-top: 0; }
.day-order-customer, .day-order-delivery { display: grid; gap: 4px; }
.day-order-customer > strong, .day-order-delivery > strong { font-size: 0.92rem; }
.day-order-customer > small { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.day-order-delivery .status { width: max-content; }
.day-total-count { color: var(--muted); font-size: 0.7rem; font-weight: 750; }
.day-empty { display: grid; justify-items: center; gap: 6px; padding: 42px 20px; color: var(--muted); text-align: center; }
.day-empty svg { width: 34px; color: var(--sage); margin-bottom: 4px; }
.day-empty strong { color: var(--ink); }
.day-empty small { font-size: 0.72rem; }
.admin-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(270px, 0.55fr); gap: 20px; }
.panel { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-small); overflow: hidden; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 20px; border-bottom: 1px solid var(--line); }
.panel-head h3 { margin: 0; }
.panel-body { padding: 20px; }
.admin-order { padding: 16px 20px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(140px,1.3fr) minmax(125px,1fr) auto; gap: 15px; align-items: center; }
.admin-order:last-child { border-bottom: 0; }
.admin-order strong { display: block; font-size: 0.9rem; }
.admin-order small { color: var(--muted); }
.admin-order-total { text-align: right; }
.admin-order-total strong { margin-bottom: 5px; }
.summary-list { display: grid; gap: 13px; }
.summary-line { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 0.84rem; }
.summary-line:last-child { border-bottom: 0; padding-bottom: 0; }
.summary-line span:first-child { color: var(--muted); }
.summary-line strong { text-align: right; }
.summary-line strong small { display: block; margin-top: 2px; color: var(--forest); font-size: 0.64rem; }
.statistics-filter-panel { padding: 17px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); box-shadow: var(--shadow-small); }
.statistics-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.statistics-filter-grid label { min-width: 0; display: grid; gap: 5px; }
.statistics-filter-grid label > span { color: var(--muted); font-size: 0.67rem; font-weight: 850; }
.statistics-filter-grid .input, .statistics-filter-grid .select { min-width: 0; width: 100%; }
.statistics-filter-actions { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.statistics-active-filters { flex: 1 1 auto; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.statistics-active-filters span { padding: 5px 8px; border: 1px solid #c9d6c9; border-radius: 999px; background: #edf2ea; color: var(--forest); font-size: 0.63rem; font-weight: 800; }
.statistics-report { display: grid; gap: 20px; }
.statistics-print-head { display: none; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 14px; border-bottom: 2px solid var(--forest); }
.statistics-print-head h2 { margin: 3px 0 4px; }
.statistics-print-head p { margin: 0; color: var(--muted); font-size: 0.72rem; }
.statistics-empty { margin: 0; }
.statistics-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.statistics-metrics article { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); box-shadow: var(--shadow-small); }
.statistics-metrics span, .statistics-insights span { display: block; color: var(--muted); font-size: 0.65rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; }
.statistics-metrics strong { display: block; margin-top: 9px; color: var(--forest); font-size: 1.45rem; line-height: 1.15; }
.statistics-metrics small { display: block; margin-top: 5px; color: var(--muted); font-size: 0.65rem; line-height: 1.4; }
.statistics-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, 0.45fr); gap: 20px; align-items: start; }
.statistics-layout-even { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.statistics-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); box-shadow: var(--shadow-small); }
.statistics-card-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; padding: 17px 19px; border-bottom: 1px solid var(--line); }
.statistics-card-head > div > span { color: var(--terra); font-size: 0.61rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.1em; }
.statistics-card-head h3 { margin: 3px 0 0; font-size: 1.02rem; }
.statistics-card-head > small { color: var(--muted); font-size: 0.67rem; font-weight: 750; }
.statistics-bars { display: grid; gap: 12px; padding: 18px 19px; }
.statistics-bar-row { display: grid; grid-template-columns: minmax(80px, 120px) minmax(80px, 1fr) minmax(70px, auto); align-items: center; gap: 11px; }
.statistics-bar-row > span { overflow: hidden; color: var(--muted); font-size: 0.7rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.statistics-bar-track { height: 9px; overflow: hidden; border-radius: 999px; background: #e7e8e1; }
.statistics-bar-track i { display: block; width: var(--statistics-bar, 0%); height: 100%; min-width: 0; border-radius: inherit; background: var(--forest); }
.statistics-bar-row > strong { min-width: 0; color: var(--forest); font-size: 0.78rem; text-align: right; }
.statistics-bar-row > strong small { display: block; margin-top: 2px; color: var(--muted); font-size: 0.57rem; font-weight: 650; white-space: nowrap; }
.statistics-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.statistics-facts > div { min-height: 83px; padding: 15px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.statistics-facts > div:nth-child(2n) { border-right: 0; }
.statistics-facts > div:nth-last-child(-n + 2) { border-bottom: 0; }
.statistics-facts span { display: block; color: var(--muted); font-size: 0.63rem; line-height: 1.35; }
.statistics-facts strong { display: block; margin-top: 7px; color: var(--forest); font-size: 1.05rem; }
.statistics-insights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.statistics-insights article { padding: 16px 18px; border: 1px solid var(--line); border-left: 4px solid var(--yolk); border-radius: 12px; background: var(--paper); }
.statistics-insights strong { display: block; margin-top: 7px; color: var(--forest); font-size: 0.92rem; }
.statistics-insights small { display: block; margin-top: 3px; color: var(--muted); font-size: 0.68rem; line-height: 1.4; }
.statistics-table-card { margin: 0; }
.statistics-table-wrap { overflow-x: auto; }
.statistics-table { width: 100%; border-collapse: collapse; }
.statistics-table th { padding: 11px 14px; background: #f3f2ec; color: var(--muted); font-size: 0.63rem; text-align: left; text-transform: uppercase; letter-spacing: 0.06em; }
.statistics-table td { padding: 12px 14px; border-top: 1px solid var(--line); color: var(--ink); font-size: 0.75rem; vertical-align: middle; }
.statistics-table td > strong, .statistics-table td > small { display: block; }
.statistics-table td > small { margin-top: 3px; color: var(--muted); font-size: 0.63rem; line-height: 1.4; }
.statistics-table-link { display: block; width: 100%; border: 0; padding: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.statistics-table-link strong, .statistics-table-link small { display: block; }
.statistics-table-link strong { color: var(--forest); font-size: 0.77rem; }
.statistics-table-link small { margin-top: 3px; color: var(--muted); font-size: 0.63rem; }
.statistics-table-link:hover strong { color: var(--terra); text-decoration: underline; }
.statistics-table-link:disabled { cursor: default; }
.statistics-report-foot { display: flex; justify-content: space-between; gap: 16px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.65rem; }
.notice { display: flex; gap: 12px; border-radius: 12px; padding: 14px; background: #f5e9c6; color: #6e5118; font-size: 0.8rem; line-height: 1.5; margin-top: 16px; }
.notice svg { width: 20px; flex: 0 0 20px; margin-top: 1px; }
.toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; flex-wrap: wrap; }
.toolbar .input { max-width: 290px; }
.toolbar .select { width: auto; min-width: 160px; }
.order-control-panel { position: sticky; z-index: 15; top: 88px; padding: 11px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 15px; background: rgba(238,236,227,0.96); box-shadow: 0 8px 22px rgba(31,70,52,0.08); backdrop-filter: blur(10px); }
.order-quick-filters { display: flex; align-items: center; gap: 7px; overflow-x: auto; padding-bottom: 9px; scrollbar-width: thin; }
.order-quick-filters button { flex: 0 0 auto; min-height: 36px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px 7px 12px; background: white; color: var(--muted); font-weight: 800; }
.order-quick-filters button:hover { border-color: var(--sage); color: var(--forest); }
.order-quick-filters button.active { border-color: var(--forest); background: var(--forest); color: white; }
.order-quick-filters button strong { min-width: 21px; height: 21px; display: grid; place-items: center; border-radius: 999px; background: #eeece3; color: var(--forest); font-size: 0.65rem; }
.order-quick-filters button.active strong { background: var(--yolk); }
.order-toolbar { align-items: stretch; }
.order-control-panel .order-toolbar { margin-bottom: 0; }
.order-search-field { min-width: min(320px, 100%); flex: 1 1 360px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--muted); }
.order-search-field:focus-within { border-color: var(--forest-2); box-shadow: 0 0 0 3px rgba(49,95,72,0.1); }
.order-search-field svg { width: 19px; flex: 0 0 auto; }
.order-search-field input { min-width: 0; width: 100%; border: 0; outline: 0; padding: 11px 0; color: var(--ink); background: transparent; }
.order-search-field input::placeholder { color: #879189; }
.order-date-filter { min-width: 170px; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; padding-left: 11px; border: 1px solid var(--line); border-radius: 11px; background: white; color: var(--muted); }
.order-date-filter > span { font-size: 0.68rem; font-weight: 850; white-space: nowrap; }
.order-date-filter .input { min-width: 0; border: 0; padding: 10px 9px 10px 0; box-shadow: none; }
.order-date-filter:focus-within { border-color: var(--forest-2); box-shadow: 0 0 0 3px rgba(49,95,72,0.1); }
.order-date-clear { white-space: nowrap; }
.toolbar-spacer { flex: 1 1 15px; }
.order-mobile-sort { display: none; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; background: var(--paper); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-small); }
.data-table th { text-align: left; color: var(--muted); font-size: 0.69rem; text-transform: uppercase; letter-spacing: 0.08em; padding: 13px 16px; background: #f4f2eb; }
.order-table th[aria-sort] { padding: 0; }
.table-sort-button { width: 100%; display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; border: 0; padding: 13px 16px; background: transparent; color: inherit; font: inherit; font-weight: 800; text-transform: inherit; letter-spacing: inherit; }
.table-sort-button:hover { background: #e9eee8; color: var(--forest); }
.table-sort-button:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(226,165,54,0.5); outline-offset: -3px; }
.table-sort-button.active { color: var(--forest); background: #e8efe8; }
.sort-indicator { font-size: 0.88rem; line-height: 1; }
.data-table td { padding: 15px 16px; border-top: 1px solid var(--line); font-size: 0.84rem; vertical-align: middle; }
.data-table strong { display: block; }
.data-table small { color: var(--muted); }
.customer-category-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.customer-category-summary > span { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--muted); font-size: 0.72rem; font-weight: 750; }
.customer-category-summary strong { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--forest-3); color: var(--forest); }
.customer-category-row th { padding: 10px 16px; border-top: 1px solid #cbd9cb; background: var(--forest-3); color: var(--forest); text-align: left; }
.customer-category-row th span { font-size: 0.82rem; font-weight: 850; }
.customer-category-row th small { margin-left: 8px; color: var(--muted); font-size: 0.68rem; font-weight: 650; }
.customer-category-row + tr td { border-top: 0; }
.order-changed-badge { width: max-content; display: inline-flex !important; align-items: center; gap: 5px; margin-top: 5px; padding: 5px 7px; border-radius: 7px; background: #f7e8b9; color: #765315 !important; font-size: 0.64rem !important; font-weight: 850; line-height: 1.2; }
.order-changed-badge svg { width: 13px; flex: 0 0 auto; }
.order-results-meta { min-height: 20px; margin: -7px 3px 9px; color: var(--muted); font-size: 0.74rem; font-weight: 700; }
.order-empty { padding-block: 42px; }
.order-empty svg { width: 38px; }
.table-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.status-select { border: 1px solid var(--line); border-radius: 9px; padding: 8px 9px; color: var(--ink); background: white; font-size: 0.78rem; }
.order-complete-toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; user-select: none; }
.order-complete-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.order-complete-track { width: 48px; height: 27px; padding: 3px; border-radius: 999px; background: #d1d4d0; box-shadow: inset 0 0 0 1px #bec3be; transition: background 160ms, box-shadow 160ms; }
.order-complete-track > span { display: block; width: 21px; height: 21px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(20,40,30,0.22); transition: transform 160ms; }
.order-complete-toggle input:checked + .order-complete-track { background: var(--forest); box-shadow: inset 0 0 0 1px var(--forest); }
.order-complete-toggle input:checked + .order-complete-track > span { transform: translateX(21px); }
.order-complete-toggle input:focus-visible + .order-complete-track { outline: 3px solid rgba(226,165,54,0.45); outline-offset: 2px; }
.order-complete-toggle strong { min-width: 54px; color: var(--muted); font-size: 0.75rem; }
.order-complete-toggle input:checked ~ strong { color: var(--forest); }
.admin-product-categories { display: grid; gap: 34px; }
.admin-product-category-section { min-width: 0; }
.admin-product-category-head { margin-bottom: 12px; }
.admin-product-category-head:not(.has-category-image) { padding-bottom: 10px; border-bottom: 2px solid var(--forest); }
.admin-product-category-head.has-category-image { height: 70px; border-radius: 11px; background: var(--forest); }
.admin-product-category-head .category-banner-content { height: 100%; align-items: end; padding: 0; }
.admin-product-category-head.has-category-image .category-banner-content { align-items: center; padding: 0 14px; }
.admin-product-category-head span { display: block; margin-bottom: 2px; color: var(--muted); font-size: 0.66rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
.admin-product-category-head h2 { margin: 0; color: var(--forest); font-size: 1.35rem; }
.admin-product-category-head small { color: var(--muted); font-size: 0.75rem; font-weight: 750; }
.admin-product-category-head.has-category-image span, .admin-product-category-head.has-category-image h2, .admin-product-category-head.has-category-image small { color: white; text-shadow: 0 1px 8px rgba(0,0,0,0.4); }
.admin-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.admin-product { background: var(--paper); border: 1px solid var(--line); border-radius: 15px; overflow: hidden; box-shadow: var(--shadow-small); }
.admin-product-visual { width: 100%; height: auto; aspect-ratio: var(--product-image-ratio); display: grid; place-items: center; overflow: hidden; font-size: 2.7rem; }
.admin-product-visual .product-photo { transition: transform 180ms ease; }
.admin-product:hover .admin-product-visual .product-photo { transform: scale(1.025); }
.admin-product-body { padding: 15px; }
.admin-product-body h3 { font-size: 1rem; margin: 4px 0 6px; }
.product-description-short { color: var(--muted); font-size: 0.76rem; line-height: 1.45; min-height: 34px; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.admin-product-row { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.admin-product-card-actions { width: 100%; padding-top: 10px; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px; border-top: 1px solid var(--line); }
.admin-product-card-actions .button { min-height: 34px; }
.product-order-controls { margin-right: auto; display: inline-flex; align-items: center; gap: 4px; }
.product-order-controls > span { min-width: 42px; color: var(--muted); font-size: 0.68rem; font-weight: 800; text-align: center; }
.product-order-button { width: 34px; padding: 6px; }
.product-order-button svg { width: 15px; height: 15px; }
.toggle { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 0.75rem; }
.toggle input { appearance: none; width: 37px; height: 21px; border-radius: 999px; background: #c9ccc7; position: relative; cursor: pointer; transition: background 160ms; }
.toggle input::after { content: ""; position: absolute; width: 15px; height: 15px; top: 3px; left: 3px; border-radius: 50%; background: white; transition: transform 160ms; box-shadow: 0 1px 4px rgba(0,0,0,0.18); }
.toggle input:checked { background: var(--forest-2); }
.toggle input:checked::after { transform: translateX(16px); }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.setting-card { background: var(--paper); border: 1px solid var(--line); border-radius: 16px; padding: 22px; box-shadow: var(--shadow-small); }
.setting-card h3 { margin-bottom: 8px; }
.backup-actions { display: grid; gap: 14px; margin-bottom: 16px; }
.backup-actions > section { padding: 17px; display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 13px; border: 1px solid var(--line); border-radius: 13px; background: #f7f5ee; }
.backup-actions h3 { margin: 0 0 6px; color: var(--forest); }
.backup-actions p { margin: 0 0 13px; color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.backup-file-picker { display: inline-flex; cursor: pointer; }
.backup-file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.backup-preview { margin-top: 12px; padding: 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #bcd1bf; border-radius: 10px; background: #edf5ed; color: var(--forest); }
.backup-preview > svg { width: 21px; flex: 0 0 auto; }
.backup-preview p { margin: 3px 0 0; }
.backup-error { margin-top: 12px; }
.setting-card p { color: var(--muted); font-size: 0.85rem; }
.setting-action { margin-top: 15px; }
.setting-icon { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: var(--forest-3); color: var(--forest); margin-bottom: 15px; }
.setting-icon svg { width: 23px; }
.permission-denied { max-width: 720px; display: flex; align-items: flex-start; gap: 15px; padding: 22px; border: 1px solid #c8d8c9; border-radius: 15px; background: var(--forest-3); color: var(--forest); }
.permission-denied > svg { width: 30px; flex: 0 0 auto; }
.permission-denied strong { display: block; margin-bottom: 5px; }
.permission-denied p { margin: 0; color: var(--muted); font-size: 0.82rem; line-height: 1.5; }
.team-role-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-bottom: 18px; }
.team-role-overview article { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); }
.team-role-overview article > svg { width: 24px; color: var(--forest); flex: 0 0 auto; }
.team-role-overview strong { display: block; color: var(--forest); margin-bottom: 4px; }
.team-role-overview p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.admin-list-search { max-width: 680px; margin: 0 0 13px; }
.admin-list-search label { position: relative; display: block; }
.admin-list-search label > svg { position: absolute; z-index: 1; top: 50%; left: 13px; width: 19px; color: var(--muted); transform: translateY(-50%); pointer-events: none; }
.admin-list-search .input { min-height: 46px; padding-left: 43px; background: var(--paper); box-shadow: var(--shadow-small); }
.admin-search-result-count { margin: 0 0 13px; color: var(--muted); font-size: 0.75rem; font-weight: 800; }
.admin-search-empty { max-width: 680px; margin-bottom: 18px; }
.builder-safety-note { max-width: 880px; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; margin: -10px 0 20px; border: 1px solid #c8d8c9; border-radius: 13px; background: var(--forest-3); color: var(--forest); }
.builder-safety-note > svg { width: 22px; flex: 0 0 auto; }
.builder-safety-note strong { display: block; font-size: 0.84rem; }
.builder-safety-note p { margin: 4px 0 0; color: var(--muted); font-size: 0.74rem; line-height: 1.45; }
.content-builder-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr); gap: 20px; align-items: start; }
.content-builder-form { min-width: 0; display: grid; gap: 14px; }
.builder-editor-section { border: 1px solid var(--line); border-radius: 15px; background: var(--paper); box-shadow: var(--shadow-small); overflow: hidden; }
.builder-editor-section > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 16px; color: var(--forest); cursor: pointer; list-style: none; }
.builder-editor-section > summary::-webkit-details-marker { display: none; }
.builder-editor-section > summary > span:first-child { min-width: 0; display: grid; gap: 2px; }
.builder-editor-section > summary strong { font-size: 0.9rem; }
.builder-editor-section > summary small { color: var(--muted); font-size: 0.68rem; font-weight: 650; }
.builder-editor-section > summary > span:last-child { color: var(--muted); font-size: 0.68rem; font-weight: 800; }
.builder-editor-section[open] > summary { border-bottom: 1px solid var(--line); background: #f3f6f1; }
.builder-editor-fields { padding: 16px; }
.builder-editor-fields .field:last-child { margin-bottom: 0; }
.builder-save-bar { position: sticky; z-index: 10; bottom: 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid #bdcebf; border-radius: 14px; background: rgba(245,247,241,0.97); box-shadow: 0 12px 32px rgba(25,53,40,0.16); backdrop-filter: blur(10px); }
.builder-save-bar > div:first-child { display: grid; gap: 3px; }
.builder-save-bar strong { font-size: 0.76rem; }
.builder-save-bar small { color: var(--muted); font-size: 0.65rem; }
.builder-save-actions { display: flex; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.content-builder-preview { min-width: 0; position: sticky; top: 96px; display: grid; gap: 10px; }
.builder-preview-toolbar { display: grid; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-small); }
.builder-preview-toolbar > div:first-child { display: grid; gap: 2px; }
.builder-preview-toolbar > div:first-child strong { font-size: 0.85rem; color: var(--forest); }
.builder-preview-toolbar > div:first-child small { color: var(--muted); font-size: 0.68rem; }
.builder-preview-toolbar label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 9px; color: var(--muted); font-size: 0.7rem; font-weight: 800; }
.builder-preview-toolbar .select { padding-block: 9px; }
.builder-preview-modes { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5px; padding: 4px; border-radius: 10px; background: #ecebe4; }
.builder-preview-modes button { min-height: 38px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.builder-preview-modes button.active { background: white; color: var(--forest); box-shadow: 0 2px 7px rgba(25,53,40,0.1); }
.builder-preview-browser { max-height: calc(100vh - 290px); overflow: auto; border: 1px solid #c8cbc3; border-radius: 16px; background: #f4f2eb; box-shadow: 0 18px 45px rgba(25,53,40,0.16); }
.builder-browser-bar { position: sticky; z-index: 2; top: 0; min-height: 34px; display: flex; align-items: center; gap: 5px; padding: 7px 10px; border-bottom: 1px solid #d7d8d1; background: #e7e6df; }
.builder-browser-bar > span { width: 8px; height: 8px; border-radius: 50%; background: #b6bab4; }
.builder-browser-bar small { margin-left: 5px; color: #737b75; font-size: 0.58rem; font-weight: 750; }
#content-builder-preview-stage { min-height: 420px; background: var(--cream); }
.builder-preview-brand { margin-bottom: 38px; }
.builder-login-preview { min-height: 520px; padding: 30px; background: var(--forest); color: white; }
.builder-login-preview .brand-name { color: white; }
.builder-login-preview .brand-place { color: rgba(255,255,255,0.64); }
.builder-login-preview .eyebrow { color: var(--yolk); }
.builder-login-preview h2 { max-width: 450px; margin: 12px 0; color: white; font-size: clamp(1.8rem, 5vw, 2.8rem); line-height: 1.05; }
.builder-login-preview p { max-width: 430px; color: rgba(255,255,255,0.72); line-height: 1.6; }
.builder-preview-tagline { margin-top: 50px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,0.16); color: var(--yolk); font-weight: 850; }
.builder-customer-preview { min-height: 520px; background: var(--cream); }
.builder-preview-customer-head { display: flex; align-items: center; gap: 9px; padding: 11px 14px; border-bottom: 1px solid var(--line); background: white; }
.builder-preview-customer-head .brand-mark { width: 34px; height: 34px; }
.builder-preview-customer-head > div { display: grid; gap: 1px; }
.builder-preview-customer-head .builder-preview-brand { margin: 0; }
.builder-preview-customer-head .brand-logo { height: 38px; max-width: 120px; }
.builder-preview-customer-head > small { margin-left: auto; }
.builder-preview-customer-head strong { color: var(--forest); font-size: 0.75rem; }
.builder-preview-customer-head small { color: var(--muted); font-size: 0.58rem; }
.builder-preview-hero { padding: 22px; background: var(--forest); color: white; }
.builder-preview-hero .eyebrow { color: var(--yolk); font-size: 0.58rem; }
.builder-preview-hero h2 { margin: 7px 0; color: white; font-size: 1.7rem; line-height: 1.08; }
.builder-preview-hero p { margin: 0; color: rgba(255,255,255,0.72); font-size: 0.72rem; line-height: 1.5; }
.builder-preview-assortment { padding: 19px; }
.builder-preview-assortment > h3 { margin: 0 0 4px; color: var(--forest); font-size: 1.15rem; }
.builder-preview-assortment > p { margin: 0 0 12px; color: var(--muted); font-size: 0.68rem; }
.builder-preview-chips { display: flex; gap: 5px; overflow: hidden; margin-bottom: 10px; }
.builder-preview-chips span { flex: 0 0 auto; padding: 6px 8px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--muted); font-size: 0.58rem; font-weight: 750; }
.builder-preview-chips span.active { border-color: var(--forest); background: var(--forest); color: white; }
.builder-preview-comparison { display: flex; align-items: center; gap: 7px; padding: 9px; margin-bottom: 10px; border-radius: 9px; background: var(--forest-3); color: var(--forest); font-size: 0.62rem; }
.builder-preview-comparison svg { width: 15px; flex: 0 0 auto; }
.builder-preview-category-banner { position: relative; isolation: isolate; height: 42px; display: flex; align-items: center; overflow: hidden; margin-bottom: 9px; padding: 0 10px; border-bottom: 2px solid var(--forest); color: var(--forest); }
.builder-preview-category-banner.has-category-image { border: 0; border-radius: 7px; background: var(--forest); color: white; }
.builder-preview-category-banner.has-category-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,34,25,0.56), rgba(12,34,25,0.2)); }
.builder-preview-category-banner img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.builder-preview-category-banner strong { font-size: 0.67rem; }
.builder-preview-products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.builder-preview-products article { min-width: 0; display: flex; align-items: center; gap: 7px; padding: 9px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.builder-preview-products article > span { font-size: 1.25rem; }
.builder-preview-products article > div { min-width: 0; display: grid; gap: 2px; }
.builder-preview-products strong, .builder-preview-products small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.builder-preview-products strong { font-size: 0.64rem; }
.builder-preview-products small { color: var(--muted); font-size: 0.54rem; }

.direct-editor-launcher { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 18px; }
.direct-editor-launcher article { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 15px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); box-shadow: var(--shadow-small); }
.direct-editor-launcher .setting-icon { margin: 0; }
.direct-editor-launcher h3 { margin: 2px 0 6px; color: var(--forest); }
.direct-editor-launcher p { margin: 0; color: var(--muted); font-size: 0.8rem; }
.direct-editor-launcher .button { grid-column: 1 / -1; width: 100%; }
.advanced-content-builder { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,253,248,0.72); }
.advanced-content-builder > summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 16px; list-style: none; cursor: pointer; }
.advanced-content-builder > summary::-webkit-details-marker { display: none; }
.advanced-content-builder > summary > span:first-child { display: grid; gap: 2px; }
.advanced-content-builder > summary strong { color: var(--forest); font-size: 0.86rem; }
.advanced-content-builder > summary small { color: var(--muted); font-size: 0.68rem; }
.advanced-content-builder > summary > span:last-child { color: var(--muted); font-size: 0.7rem; font-weight: 800; }
.advanced-content-builder[open] > summary { border-bottom: 1px solid var(--line); }
.advanced-content-builder-body { padding: 16px; }

.inline-edit-toggle { border: 1px solid rgba(255,255,255,0.22); background: rgba(255,255,255,0.08); color: white; }
.inline-edit-toggle:hover { background: rgba(255,255,255,0.16); }
.inline-edit-toggle.active { border-color: var(--yolk); background: var(--yolk); color: var(--forest); }
.inline-edit-mode-bar { position: sticky; z-index: 19; top: 78px; display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 42px; padding: 8px 18px; border-bottom: 1px solid #d4b35e; background: #fff2c8; color: #5d481c; box-shadow: 0 5px 18px rgba(50,45,25,0.08); font-size: 0.77rem; }
.inline-edit-mode-bar strong { color: var(--forest); }
.inline-content-edit { max-width: 100%; min-width: 0; display: inline-flex; align-items: center; gap: 7px; padding: 3px 6px; border: 1px dashed #d39b31; border-radius: 7px; background: rgba(255,242,200,0.58); color: inherit; font: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit; box-shadow: 0 0 0 2px rgba(255,255,255,0.32); cursor: pointer; vertical-align: baseline; transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease; }
.inline-content-edit:hover { border-color: #9f6c0c; background: #fff0b9; box-shadow: 0 0 0 3px rgba(226,165,54,0.2); }
.inline-content-edit > span:first-child { min-width: 0; white-space: normal; }
.inline-edit-pencil { width: 22px; height: 22px; display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--yolk); color: var(--forest); font-family: Inter, sans-serif; font-size: 0.76rem; font-weight: 900; line-height: 1; }
.login-story .inline-content-edit { background: rgba(255,242,200,0.13); color: inherit; box-shadow: none; }
.login-story .inline-content-edit:hover { background: rgba(255,242,200,0.23); }

.inline-preview-toolbar { position: sticky; z-index: 19; top: 78px; min-height: 62px; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 9px 20px; border-bottom: 1px solid #cfcec5; background: rgba(255,253,248,0.97); box-shadow: 0 7px 22px rgba(31,70,52,0.11); backdrop-filter: blur(12px); }
.inline-preview-surfaces { display: grid; grid-template-columns: repeat(2, minmax(115px, 1fr)); gap: 4px; padding: 4px; border-radius: 11px; background: #ebeae3; }
.inline-preview-surfaces button { min-height: 38px; padding: 8px 12px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 0.74rem; font-weight: 800; }
.inline-preview-surfaces button.active { background: white; color: var(--forest); box-shadow: 0 2px 8px rgba(31,70,52,0.1); }
.inline-preview-toolbar label { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 0.7rem; font-weight: 800; }
.inline-preview-toolbar .select { min-width: 190px; padding-block: 9px; }
.inline-preview-help { display: inline-flex; align-items: center; gap: 6px; color: var(--forest); font-size: 0.72rem; font-weight: 800; }
.inline-preview-help svg { width: 17px; }
.admin-site-preview .inline-customer-site { padding-top: 34px; }
.admin-site-preview .inline-customer-site .page-width { padding-bottom: 20px; }
.inline-preview-product .product-body { min-height: 150px; }
.inline-preview-product-edit { width: 100%; margin-top: 12px; }
.inline-login-site { min-height: calc(100vh - 140px); }
.inline-login-site .login-story, .inline-login-site .login-panel { min-height: calc(100vh - 140px); }
.inline-login-tagline { color: var(--yolk); font-size: 0.95rem; font-weight: 850; }
.inline-login-site .login-panel .input { min-height: 48px; color: var(--muted); }
.inline-login-site .login-panel .button { pointer-events: none; }
.inline-text-editor-input { font-size: 1rem; line-height: 1.55; }
.inline-editor-note, .inline-editor-safety { padding: 11px 12px; border-radius: 10px; color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.inline-editor-note { margin-top: -4px; border-left: 3px solid var(--yolk); background: #f7f2e3; }
.inline-editor-safety { display: flex; align-items: flex-start; gap: 8px; margin-top: 13px; background: #f1f2ee; }
.inline-editor-safety svg { width: 18px; flex: 0 0 auto; color: var(--forest); }

.modal-backdrop { position: fixed; inset: 0; z-index: 50; background: rgba(19, 39, 30, 0.64); backdrop-filter: blur(3px); display: grid; place-items: center; padding: 20px; animation: fade 140ms ease-out; }
.modal { width: min(560px, 100%); max-height: calc(100vh - 35px); overflow-y: auto; background: var(--paper); border-radius: 20px; box-shadow: 0 30px 90px rgba(15,36,27,0.28); animation: rise 180ms ease-out; }
.modal-large { width: min(760px, 100%); }
.modal-head { display: flex; align-items: start; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); border-bottom: 1px solid var(--line); }
.modal-head h2 { font-size: 1.65rem; margin-bottom: 5px; }
.modal-head p { color: var(--muted); margin: 0; font-size: 0.8rem; }
.modal-close { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; color: var(--muted); background: #efeee8; }
.modal-close svg { width: 18px; }
.modal-body { padding: var(--space-4); }
.modal-foot { padding: 0 var(--space-4) var(--space-4); display: flex; align-items: center; justify-content: flex-end; gap: var(--space-1); }
.modal-spacer { flex: 1; }
.field-help { display: block; color: var(--muted); font-size: 0.72rem; line-height: 1.4; }
.field-full { grid-column: 1 / -1; }
.new-category-input { display: grid; gap: 7px; margin-top: 5px; padding: 12px; border-left: 3px solid var(--yolk); border-radius: 0 9px 9px 0; background: #f7f2e3; }
.new-category-input[hidden] { display: none; }
.new-category-input label { font-size: 0.74rem; }
.category-add-form { padding: 16px; margin-bottom: 17px; border: 1px solid #c8d8c9; border-radius: 13px; background: var(--forest-3); }
.category-add-form .field { margin: 0; }
.category-add-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: stretch; }
.category-manager-list { display: grid; border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: white; }
.category-manager-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 14px; }
.category-manager-row + .category-manager-row { border-top: 1px solid var(--line); }
.category-manager-identity { min-width: 0; display: flex; align-items: center; gap: 11px; }
.category-manager-image { width: 76px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden; border-radius: 8px; background: var(--forest-3); color: var(--forest); }
.category-manager-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.category-manager-image svg { width: 18px; }
.category-manager-copy { display: grid; gap: 3px; }
.category-manager-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.category-manager-actions svg { width: 16px; }
.category-manager-row strong { font-size: 0.88rem; }
.category-manager-row small { color: var(--muted); font-size: 0.7rem; }
.category-image-editor-preview { position: relative; isolation: isolate; height: 104px; display: grid; place-items: center; overflow: hidden; margin-bottom: 18px; border-radius: 12px; background: var(--forest); color: white; }
.category-image-editor-preview::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(12,34,25,0.58), rgba(12,34,25,0.18)); }
.category-image-editor-preview > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; display: block; object-fit: cover; }
.category-image-editor-title { position: relative; z-index: 2; width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; }
.category-image-editor-title strong { font-size: 1.18rem; }
.category-image-editor-title small { color: rgba(255,255,255,0.78); font-size: 0.7rem; font-weight: 750; }
#category-image-preview-placeholder { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; align-content: center; gap: 5px; color: rgba(255,255,255,0.42); }
#category-image-preview-placeholder svg { width: 22px; }
#category-image-preview-placeholder span { font-size: 0.65rem; }
.delete-category-summary { display: flex; align-items: flex-start; gap: 12px; padding: 14px; margin-bottom: 19px; border: 1px solid #e2c6bd; border-radius: 12px; background: var(--terra-soft); color: #713b2c; }
.delete-category-summary > svg { width: 22px; flex: 0 0 auto; }
.delete-category-summary strong { font-size: 0.86rem; line-height: 1.45; }
.delete-category-summary p { margin: 5px 0 0; color: #76564d; font-size: 0.76rem; line-height: 1.5; }
.delete-account-summary { display: flex; align-items: flex-start; gap: 12px; padding: 15px; margin-bottom: 20px; border: 1px solid #e2c6bd; border-radius: 12px; background: var(--terra-soft); color: #713b2c; }
.delete-account-summary > svg { width: 23px; flex: 0 0 auto; }
.delete-account-summary strong { font-size: 0.9rem; line-height: 1.45; }
.delete-account-summary p { margin: 6px 0 0; color: #76564d; font-size: 0.78rem; line-height: 1.55; }
.delete-confirm-form { padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #f4f3ed; }
.delete-confirm-form .field { margin-bottom: 0; }
.protected-delete-note { display: flex; align-items: center; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f2f1eb; color: var(--forest); }
.protected-delete-note > svg { width: 22px; flex: 0 0 auto; }
.protected-delete-note span { display: grid; gap: 3px; }
.protected-delete-note small { color: var(--muted); line-height: 1.5; }
.automatic-quantity-note { display: flex; align-items: center; gap: 11px; padding: 12px 13px; margin: 0 0 18px; border: 1px solid #c8d8c9; border-radius: 11px; background: var(--forest-3); color: var(--forest); }
.automatic-quantity-note > svg { width: 21px; flex: 0 0 auto; }
.automatic-quantity-note > span { display: grid; gap: 3px; }
.automatic-quantity-note strong { font-size: 0.8rem; }
.automatic-quantity-note small { color: var(--muted); font-size: 0.72rem; line-height: 1.4; }
.product-availability-editor { min-width: 0; padding: 15px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 13px; background: #f7f5ee; }
.product-availability-editor legend { padding: 0 8px; color: var(--forest); font-size: 0.86rem; font-weight: 850; }
.product-availability-editor > p { margin: 0 0 13px; color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.availability-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.admin-product-availability { margin: 8px 0 2px; padding: 7px 8px; display: flex; align-items: center; gap: 7px; border: 1px solid #c8d8c9; background: #eef4ed; color: var(--forest); font-size: 0.68rem; font-weight: 750; line-height: 1.35; }
.admin-product-availability svg { width: 15px; flex: 0 0 auto; }
.admin-product-option-summary { margin: 8px 0 2px; padding: 8px; display: flex; align-items: flex-start; gap: 8px; border-left: 3px solid var(--terra); background: #f7f0e8; color: var(--forest); }
.admin-product-option-summary > svg { width: 16px; flex: 0 0 auto; margin-top: 1px; }
.admin-product-option-summary > span { min-width: 0; display: grid; gap: 2px; }
.admin-product-option-summary strong { font-size: 0.69rem; }
.admin-product-option-summary small { color: var(--muted); font-size: 0.63rem; line-height: 1.35; overflow-wrap: anywhere; }
.product-extra-unit-editor { min-width: 0; padding: 15px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: 13px; background: #f7f5ee; }
.product-extra-unit-editor legend { padding: 0 8px; color: var(--forest); font-size: 0.86rem; font-weight: 850; }
.product-extra-unit-editor > p { margin: 0 0 12px; color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.extra-unit-editor-list { display: grid; gap: 9px; }
.extra-unit-editor-row { display: grid; grid-template-columns: minmax(190px, 0.8fr) minmax(0, 1.2fr); align-items: center; gap: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #efeee8; opacity: 0.72; }
.extra-unit-editor-row.enabled { border-color: #bfd1c0; background: #f3f7f1; opacity: 1; }
.extra-unit-toggle { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.extra-unit-toggle input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--forest); }
.extra-unit-toggle span { display: grid; gap: 3px; }
.extra-unit-toggle strong { font-size: 0.8rem; }
.extra-unit-toggle small { color: var(--muted); font-size: 0.68rem; line-height: 1.4; }
.extra-unit-value { display: grid; gap: 5px; }
.extra-unit-value label { color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.extra-unit-value .input:disabled { background: #e5e4de; color: #8b908c; }
.egg-order-editor { min-width: 0; padding: 15px; margin: 0 0 18px; border: 1px solid #bfd1c0; border-radius: 13px; background: #f3f7f1; }
.egg-order-editor[hidden] { display: none; }
.egg-order-editor legend { padding: 0 8px; color: var(--forest); font-size: 0.86rem; font-weight: 850; }
.egg-order-editor > p { margin: 0 0 13px; color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.egg-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.egg-settings-grid .field { margin-bottom: 12px; }
.egg-editor-result { display: flex; align-items: center; gap: 10px; padding: 11px; border-radius: 10px; background: white; color: var(--forest); }
.egg-editor-result > svg { width: 20px; flex: 0 0 auto; }
.egg-editor-result > span { display: grid; gap: 2px; }
.egg-editor-result strong { font-size: 0.78rem; }
.egg-editor-result small { color: var(--muted); font-size: 0.69rem; line-height: 1.4; }
.product-order-options-editor { min-width: 0; padding: 15px; margin: 0 0 18px; border: 1px solid #d6c6b6; border-radius: 13px; background: #faf5ee; }
.product-order-options-editor[hidden] { display: none; }
.product-order-options-editor legend { padding: 0 8px; color: var(--forest); font-size: 0.86rem; font-weight: 850; }
.product-order-options-editor > p { margin: 0 0 10px; color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.product-order-option-examples { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 13px; color: var(--muted); font-size: 0.65rem; }
.product-order-option-examples strong { color: var(--forest); }
.product-order-option-examples span { padding: 4px 7px; border: 1px solid #e1d5c9; border-radius: 999px; background: white; }
.product-order-option-list { display: grid; gap: 9px; }
.product-order-option-row { display: grid; grid-template-columns: minmax(190px, 0.82fr) minmax(320px, 1.3fr) 42px; align-items: start; gap: 12px; padding: 13px; border: 1px solid #ded7ce; border-radius: 10px; background: white; }
.product-order-option-row .field { min-width: 0; margin: 0; }
.product-order-option-row .field > label { min-height: 18px; display: flex; align-items: center; line-height: 1.25; }
.product-order-option-quantity { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.product-order-option-quantity .input { min-width: 0; border: 0; border-radius: 0; box-shadow: none; }
.product-order-option-quantity small { padding: 0 10px; color: var(--muted); font-size: 0.7rem; font-weight: 800; white-space: nowrap; }
.product-order-option-composition { display: grid; grid-template-columns: minmax(86px, 0.34fr) 18px minmax(190px, 1fr); align-items: center; gap: 8px; }
.product-order-option-composition > span { color: var(--forest); font-weight: 900; text-align: center; }
.product-order-option-composition .input, .product-order-option-composition .select { min-width: 0; }
.product-order-option-calculation { display: block; min-height: 18px; margin-top: 6px; color: var(--forest); font-size: 0.67rem; font-weight: 800; line-height: 1.35; }
.product-order-option-remove { width: 42px; height: 42px; margin-top: 25px; border-color: #e2c6bd; color: #8a4938; }
.product-order-option-remove svg { width: 16px; }
.product-order-options-empty { margin-bottom: 10px; padding: 11px; border: 1px dashed #cfc6bc; border-radius: 9px; color: var(--muted); background: rgba(255,255,255,.5); font-size: 0.7rem; text-align: center; }
.product-order-options-empty[hidden] { display: none; }
.product-order-option-add { margin-top: 10px; }
.product-order-options-rule { display: grid; gap: 2px; margin-top: 10px; padding: 10px 11px; border-left: 3px solid var(--forest); background: #eef4ed; }
.product-order-options-rule strong { color: var(--forest); font-size: 0.71rem; }
.product-order-options-rule small { color: var(--muted); font-size: 0.65rem; line-height: 1.4; }
.product-image-editor { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; align-items: stretch; padding: 14px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 13px; background: #f7f5ee; }
.product-image-preview { width: 100%; min-height: 0; aspect-ratio: var(--product-image-ratio); display: grid; place-items: center; position: relative; overflow: hidden; border: 1px solid #d7d9d2; border-radius: 11px; }
.product-image-preview::after { content: ""; position: absolute; width: 75px; height: 75px; border: 1px solid rgba(31,70,52,0.13); border-radius: 50%; }
.product-image-preview.has-photo::after { display: none; }
.product-image-preview .emoji { position: relative; z-index: 1; font-size: 3.4rem; filter: drop-shadow(0 5px 8px rgba(31,70,52,0.13)); }
.product-image-preview img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.product-image-preview img[hidden], .product-image-preview .emoji[hidden] { display: none; }
.product-image-input { align-content: center; margin: 0; }
.file-input { padding: 9px; font-size: 0.78rem; }
.file-input::file-selector-button { border: 0; border-radius: 8px; padding: 8px 10px; margin-right: 9px; background: var(--forest); color: white; font-weight: 750; cursor: pointer; }
.image-remove { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: var(--muted); font-size: 0.74rem; cursor: pointer; }
.image-remove input { width: 16px; height: 16px; accent-color: var(--terra); }
.form-check { display: flex; align-items: flex-start; gap: 11px; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: #f4f2eb; cursor: pointer; }
.form-check input { width: 18px; height: 18px; accent-color: var(--forest); margin-top: 1px; }
.form-check span { display: grid; gap: 3px; }
.form-check strong { font-size: 0.84rem; }
.form-check small { color: var(--muted); line-height: 1.4; }
.remember-login-option { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 15px; color: var(--ink); cursor: pointer; }
.remember-login-option input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--forest); }
.remember-login-option span { display: grid; gap: 2px; min-width: 0; }
.remember-login-option strong { font-size: .84rem; line-height: 1.35; }
.remember-login-option small { color: var(--muted); font-size: .72rem; line-height: 1.4; }
.password-change-fields { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px 12px; padding-top: 18px; margin-top: 2px; border-top: 1px solid var(--line); }
.password-change-fields > svg { width: 22px; color: var(--forest); }
.password-change-copy { display: grid; gap: 3px; }
.password-change-copy strong { font-size: 0.86rem; }
.password-change-copy small { color: var(--muted); font-size: 0.74rem; line-height: 1.5; }
.password-change-inputs { grid-column: 1 / -1; width: 100%; margin-top: 7px; }
.password-change-inputs .field { margin-bottom: 0; }
.customer-order-note { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 0.76rem; line-height: 1.45; margin-top: 16px; }
.customer-order-note svg { width: 19px; flex: 0 0 auto; }
.weight-editor { padding: 15px; margin: 18px 0; border: 1px solid #c8d8c9; border-radius: 13px; background: #f5f8f2; }
.weight-editor-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; color: var(--forest); }
.weight-editor-head > svg { width: 24px; flex: 0 0 auto; }
.weight-editor-head > span { display: grid; gap: 2px; }
.weight-editor-head strong { font-size: 0.84rem; }
.weight-editor-head small { color: var(--muted); font-size: 0.7rem; line-height: 1.4; }
.weight-entry { display: grid; grid-template-columns: minmax(0, 1fr) 150px; align-items: center; gap: 14px; padding: 11px 0; border-top: 1px solid #dbe3d8; }
.weight-entry > span:first-child { display: grid; gap: 3px; }
.weight-entry strong { font-size: 0.78rem; }
.weight-entry small { color: var(--muted); font-size: 0.68rem; }
.weight-input-wrap { display: flex; align-items: center; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }
.weight-input-wrap .input { border: 0; border-radius: 0; box-shadow: none; padding: 10px; }
.weight-input-wrap > small { padding-right: 10px; font-weight: 800; }
.weight-total-preview { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 12px; border-top: 1px solid #dbe3d8; color: var(--muted); font-size: 0.74rem; }
.weight-total-preview strong { color: var(--forest); text-align: right; }
.customer-delivery-summary { display: block; margin-top: 6px; color: var(--forest) !important; font-size: 0.8rem; line-height: 1.5; }
.customer-form-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 5px; margin-bottom: 19px; border: 1px solid var(--line); border-radius: 13px; background: #efeee8; }
.customer-form-tabs button { min-height: 44px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-weight: 800; }
.customer-form-tabs button svg { width: 18px; }
.customer-form-tabs button:hover { color: var(--forest); background: rgba(255,255,255,0.55); }
.customer-form-tabs button.active { color: var(--forest); background: white; box-shadow: 0 2px 9px rgba(31,70,52,0.09); }
.customer-form-panel[hidden] { display: none; }
.customer-form-panel { min-height: 250px; }
.customer-form-panel .customer-delivery-rule, .customer-form-panel .customer-catalog { margin-top: 0; }
.customer-delivery-rule { border: 1px solid #c8d8c9; border-radius: 12px; padding: 16px; margin: 18px 0 0; background: #f6f8f3; }
.customer-delivery-rule legend { padding: 0 8px; color: var(--forest); font-weight: 850; }
.customer-delivery-rule > p { color: var(--muted); font-size: 0.78rem; line-height: 1.5; margin: 0 0 14px; }
.fulfillment-mode-field { margin-bottom: 15px; }
.fulfillment-config-panel { padding: 15px; margin-bottom: 14px; border: 1px solid #cbd8c8; border-radius: 11px; background: #fff; }
.fulfillment-config-panel[hidden] { display: none; }
.fulfillment-pickup-panel { border-color: #dacdb9; background: #fdfaf5; }
.fulfillment-config-heading { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; margin-bottom: 12px; border-bottom: 1px solid var(--line); }
.fulfillment-config-heading > svg { width: 23px; color: var(--terra); flex: 0 0 auto; }
.fulfillment-config-heading > div { display: grid; gap: 2px; }
.fulfillment-config-heading strong { color: var(--forest); font-size: 0.88rem; }
.fulfillment-config-heading small { color: var(--muted); font-size: 0.7rem; line-height: 1.35; }
.pickup-time-range { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; align-items: center; }
.pickup-time-range > span { color: var(--muted); font-size: 0.72rem; font-weight: 800; }
.delivery-weekday-block { min-width: 0; padding: 13px; margin: 4px 0 14px; border: 1px solid #d6dfd4; border-radius: 10px; background: #eef3eb; }
.delivery-weekday-block legend { padding: 0 7px; color: var(--forest); font-size: 0.82rem; font-weight: 850; }
.delivery-weekday-block > p { margin: 0 0 10px; color: var(--muted); font-size: 0.72rem; }
.delivery-weekday-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.delivery-weekday-option { min-width: 0; cursor: pointer; }
.delivery-weekday-option input { position: absolute; opacity: 0; pointer-events: none; }
.delivery-weekday-option span { min-height: 54px; display: grid; place-items: center; gap: 1px; padding: 7px 3px; border: 1px solid #cbd5c9; border-radius: 9px; background: white; color: var(--forest); text-align: center; transition: 140ms ease; }
.delivery-weekday-option strong { font-size: 0.78rem; }
.delivery-weekday-option small { overflow: hidden; max-width: 100%; color: var(--muted); font-size: 0.55rem; text-overflow: ellipsis; }
.delivery-weekday-option input:focus-visible + span { outline: 3px solid rgba(31,70,52,0.16); outline-offset: 1px; }
.delivery-weekday-option input:checked + span { border-color: #a25949; background: #f6e4df; color: #7c3023; box-shadow: inset 0 -3px 0 #a25949; }
.delivery-weekday-option input:checked + span small { color: #8e5145; }
.delivery-promise-time[hidden] { display: none; }
.delivery-rule-preview { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 10px; background: white; border: 1px solid #c9d8ca; color: var(--forest); }
.delivery-rule-preview > svg { width: 21px; flex: 0 0 auto; }
.delivery-rule-preview > span { display: grid; gap: 2px; }
.delivery-rule-preview strong { font-size: 0.84rem; }
.delivery-rule-preview small { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.customer-catalog { border: 1px solid var(--line); border-radius: 12px; padding: 16px; margin: 18px 0 0; }
.customer-catalog legend { padding: 0 8px; color: var(--forest); font-weight: 850; }
.customer-catalog > p { color: var(--muted); font-size: 0.78rem; line-height: 1.5; margin: 0 0 14px; }
.catalog-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.catalog-group { border: 1px solid #d9ddd6; background: #faf9f4; border-radius: 10px; padding: 12px; }
.catalog-group h4 { color: var(--terra); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 9px; }
.catalog-product-entry + .catalog-product-entry { border-top: 1px solid #e4e5df; }
.catalog-product { display: flex; gap: 9px; align-items: start; padding: 7px 0; cursor: pointer; }
.catalog-product input { margin-top: 3px; accent-color: var(--forest); }
.catalog-product span { display: grid; gap: 1px; }
.catalog-product strong { font-size: 0.78rem; }
.catalog-product small { color: var(--muted); font-size: 0.68rem; }
.catalog-egg-options { margin: 1px 0 10px 24px; padding: 9px; border: 1px solid #d8dfd7; border-radius: 9px; background: #f0f4ee; }
.catalog-egg-options legend { padding: 0 5px; color: var(--forest); font-size: 0.65rem; font-weight: 850; }
.catalog-egg-options > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.catalog-egg-options label { min-width: 0; display: flex; align-items: center; gap: 6px; padding: 6px 7px; border: 1px solid #d7ddd5; border-radius: 7px; background: white; cursor: pointer; }
.catalog-egg-options label:has(input:checked) { border-color: #a9bea9; background: #e7efe5; }
.catalog-egg-options input { flex: 0 0 auto; margin: 0; accent-color: var(--forest); }
.catalog-egg-options label span { min-width: 0; overflow: hidden; font-size: 0.63rem; font-weight: 750; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.catalog-egg-options > small { display: block; margin-top: 7px; color: var(--muted); font-size: 0.62rem; line-height: 1.4; }
.catalog-product-options { display: grid; gap: 2px; margin: 1px 0 10px 24px; padding: 8px 9px; border-left: 3px solid var(--terra); background: #f7f0e8; }
.catalog-product-options strong { color: var(--forest); font-size: 0.64rem; }
.catalog-product-options span { color: var(--muted); font-size: 0.62rem; line-height: 1.4; }
.email-delivery-status { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 10px; border: 1px solid #c9d8ca; background: #eef4ed; color: var(--forest); border-radius: 11px; padding: 12px; margin-top: 4px; }
.email-delivery-status svg { width: 21px; flex: 0 0 auto; }
.email-delivery-status span { display: grid; gap: 2px; }
.email-delivery-status > span { min-width: 0; flex: 1; }
.email-delivery-status > .button { flex: 0 0 auto; }
.email-delivery-status strong { font-size: 0.8rem; }
.email-delivery-status small { color: var(--muted); }
.email-test-recipient-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.email-test-recipient-row .button { white-space: nowrap; }
.email-setup-panel, .email-template-panel { border: 1px solid var(--line); border-radius: 14px; padding: 17px; background: #fbfaf6; }
.email-template-panel { margin-top: 14px; background: var(--paper); }
.email-section-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; }
.email-section-heading > span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--forest); color: white; font-size: 0.76rem; font-weight: 850; }
.email-section-heading > div { min-width: 0; display: grid; gap: 2px; }
.email-section-heading strong { color: var(--forest); font-size: 0.92rem; }
.email-section-heading small { color: var(--muted); line-height: 1.35; }
.hof-notification-panel { background: #f7f4eb; }
.hof-notification-events { display: flex; flex-wrap: wrap; gap: 7px; margin: 13px 0; }
.hof-notification-events span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid #cbd8cc; border-radius: 999px; background: #eef4ed; color: var(--forest); font-size: 0.69rem; font-weight: 750; }
.hof-notification-events svg { width: 14px; height: 14px; flex: 0 0 auto; }
.email-provider-help { margin: 2px 0 12px; padding: 10px 12px; border-left: 3px solid var(--terra); background: #f5efe7; color: var(--muted); font-size: 0.76rem; line-height: 1.5; }
.email-smtp-details { margin: 4px 0 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.email-smtp-details summary { padding: 10px 1px; color: var(--forest); cursor: pointer; font-size: 0.76rem; font-weight: 800; }
.email-smtp-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(90px, 0.7fr) minmax(140px, 1fr); gap: 0 12px; padding: 4px 0 7px; }
.email-smtp-details input[readonly], .email-smtp-details select:disabled { color: var(--muted); background: #f0efe9; opacity: 1; cursor: default; }
.email-connection-actions { display: flex; align-items: center; gap: 12px; }
.email-connection-actions small { color: var(--muted); line-height: 1.4; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.checkout-summary { background: #f1efe7; border-radius: 12px; padding: 14px; margin-bottom: 20px; }
.checkout-method-choice { min-width: 0; padding: 0; margin: 0 0 17px; border: 0; }
.checkout-method-choice > legend { margin-bottom: 9px; color: var(--forest); font-size: 0.8rem; font-weight: 850; }
.checkout-method-choice > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.checkout-method-choice label { min-width: 0; cursor: pointer; }
.checkout-method-choice input { position: absolute; opacity: 0; pointer-events: none; }
.checkout-method-choice label > span { min-height: 76px; display: grid; grid-template-columns: 25px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-content: center; padding: 12px; border: 1px solid var(--line); border-radius: 11px; background: white; transition: 140ms ease; }
.checkout-method-choice label svg { grid-row: 1 / 3; width: 23px; align-self: center; color: var(--terra); }
.checkout-method-choice label strong { color: var(--forest); font-size: 0.84rem; }
.checkout-method-choice label small { color: var(--muted); font-size: 0.7rem; line-height: 1.35; }
.checkout-method-choice input:checked + span { border-color: var(--forest); background: var(--forest-3); box-shadow: inset 0 -3px 0 var(--forest); }
.checkout-method-choice input:focus-visible + span { outline: 3px solid rgba(31,70,52,0.16); outline-offset: 2px; }
.checkout-single-method { display: flex; align-items: center; gap: 10px; padding: 11px 12px; margin-bottom: 16px; border: 1px solid #c9d8ca; border-radius: 11px; background: var(--forest-3); color: var(--forest); }
.checkout-single-method > svg { width: 22px; }
.checkout-single-method > span { display: grid; gap: 1px; }
.checkout-single-method small { color: var(--muted); font-size: 0.7rem; }
.checkout-method-panel[hidden] { display: none; }
.pickup-instruction { display: flex; align-items: flex-start; gap: 9px; padding: 11px; margin: -2px 0 16px; border: 1px solid #ddcfb8; border-radius: 10px; background: #f8f1e5; }
.pickup-instruction > svg { width: 20px; flex: 0 0 auto; color: var(--terra); }
.pickup-instruction > span { display: grid; gap: 2px; }
.pickup-instruction strong { color: var(--forest); font-size: 0.78rem; }
.pickup-instruction small { color: var(--muted); line-height: 1.45; }
.checkout-summary-title { color: var(--forest); font-size: 0.7rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 7px; }
.checkout-line { display: flex; justify-content: space-between; gap: 15px; font-size: 0.82rem; padding: 5px 0; }
.checkout-weight-note { color: #765315; background: #f7e8b9; border-radius: 8px; padding: 9px 10px; font-size: 0.74rem; line-height: 1.4; margin-top: 9px; }
.deadline-box { display: flex; align-items: center; gap: 10px; color: var(--forest); background: var(--forest-3); border: 1px solid #c8d8c9; border-radius: 11px; padding: 12px; margin-bottom: 16px; }
.deadline-box svg { width: 21px; flex: 0 0 auto; }
.deadline-box span { display: grid; gap: 2px; }
.deadline-box strong { font-size: 0.8rem; }
.deadline-box small { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.delivery-promise-box { display: flex; align-items: center; gap: 10px; color: #6e5118; background: #f7edcf; border: 1px solid #e3ce91; border-radius: 11px; padding: 12px; margin: -2px 0 17px; }
.delivery-promise-box > svg { width: 21px; flex: 0 0 auto; }
.delivery-promise-box > span { display: grid; gap: 2px; }
.delivery-promise-box strong { font-size: 0.8rem; }
.delivery-promise-box small { color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.product-grid > .empty-state { grid-column: 1 / -1; }
.print-report { background: white; color: #243129; border: 1px solid var(--line); border-radius: 12px; padding: 22px; }
.print-report-head { display: flex; align-items: start; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 2px solid var(--forest); }
.print-report-head h2 { margin-bottom: 5px; }
.print-report-head p { color: var(--muted); font-size: 0.78rem; margin: 0; }
.print-logo { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: white; }
.print-logo svg { width: 25px; }
.print-brand-logo { width: 112px; height: 54px; display: grid; place-items: center; padding: 3px; background: transparent; }
.print-brand-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.has-brand-logo .print-logo { width: 112px; height: 54px; border-radius: 0; background-color: transparent; background-image: var(--brand-logo-image); background-position: center; background-repeat: no-repeat; background-size: contain; }
.has-brand-logo .print-logo svg { display: none; }
.document-brand-tagline { margin: 3px 0 7px; color: var(--muted); font-size: .67rem; font-weight: 700; letter-spacing: .02em; }
.report-table { width: 100%; border-collapse: collapse; margin-top: 14px; font-size: 0.72rem; }
.report-table th { background: #e9efe8; color: var(--forest); text-align: left; padding: 9px 8px; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.62rem; }
.report-table td { padding: 10px 8px; border-bottom: 1px solid var(--line); vertical-align: top; line-height: 1.45; }
.report-table small { color: var(--muted); }
.report-section { margin-top: 20px; }
.report-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.report-section-title h3 { margin: 0; color: var(--forest); font-size: 1rem; }
.report-section-title span { color: var(--muted); font-size: 0.7rem; font-weight: 750; }
.order-total-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.order-total-meta > div { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid var(--line); background: #f7f6f1; }
.order-total-meta span { color: var(--muted); font-size: 0.6rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.07em; }
.order-total-meta strong { color: var(--forest); font-size: 0.82rem; }
.aggregate-product-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 14px; padding: 8px 10px; background: var(--forest); color: white; font-size: 0.62rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; }
.aggregate-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-top: 0; }
.aggregate-product-item { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 10px; border-bottom: 1px solid var(--line); }
.aggregate-product-item:nth-child(odd) { border-right: 1px solid var(--line); }
.aggregate-product-copy { min-width: 0; display: grid; align-content: start; }
.aggregate-product-copy strong { color: var(--forest); font-size: 0.78rem; line-height: 1.35; }
.aggregate-product-copy small { color: var(--muted); font-size: 0.65rem; line-height: 1.35; }
.aggregate-total-quantity { min-width: 82px; text-align: right; }
.aggregate-total-quantity strong { display: block; color: var(--forest); font-size: 0.83rem; }
.aggregate-total-quantity small { display: block; margin-top: 3px; color: var(--muted); font-size: 0.62rem; }
.aggregate-breakdown { grid-column: 1 / -1; padding-top: 5px; border-top: 1px dotted var(--line); color: var(--muted); font-size: 0.65rem; }
.aggregate-breakdown span { display: block; }
.aggregate-breakdown span + span { margin-top: 4px; padding-top: 4px; border-top: 1px dotted var(--line); }
.aggregate-product-empty { grid-column: 1 / -1; padding: 18px; color: var(--muted); text-align: center; }
.print-report-foot { display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 0.68rem; padding-top: 13px; }
.customer-order-receipt { font-family: Inter, Arial, sans-serif; }
.receipt-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 17px 0 20px; }
.receipt-meta > div { min-height: 88px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; display: grid; align-content: start; gap: 4px; }
.receipt-meta span, .receipt-notes > span { color: var(--muted); font-size: 0.64rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.07em; }
.receipt-meta strong { color: var(--forest); font-size: 0.94rem; line-height: 1.35; }
.receipt-meta small { color: var(--muted); font-size: 0.72rem; line-height: 1.45; }
.receipt-products-head { display: flex; justify-content: space-between; gap: 12px; padding: 9px 10px; background: var(--forest); color: white; font-size: 0.64rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; }
.receipt-products-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-top: 0; }
.receipt-product-item { min-width: 0; min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px; border-bottom: 1px solid var(--line); }
.receipt-product-item:nth-child(odd) { border-right: 1px solid var(--line); }
.receipt-product-copy { min-width: 0; display: grid; gap: 3px; }
.receipt-product-copy strong { color: var(--ink); font-size: 0.76rem; line-height: 1.35; }
.receipt-product-copy small { color: var(--muted); font-size: 0.68rem; line-height: 1.35; }
.receipt-product-quantity { display: inline-block; padding: 6px 9px; border-radius: 7px; background: var(--yolk-soft); color: var(--forest); font-size: 0.82rem; white-space: nowrap; }
.receipt-notes { margin-top: 14px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.receipt-notes p { margin: 6px 0 0; font-size: 0.76rem; line-height: 1.5; }
.receipt-legal { margin-top: 16px; color: var(--muted); font-size: 0.66rem; line-height: 1.45; }
.pack-slip { font-family: Inter, Arial, sans-serif; }
.pack-slip-batch { display: grid; gap: 20px; padding: 3px; background: #e8e6de; }
.pack-slip-batch > .pack-slip { min-height: 0; }
.pack-slip-title { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 9px; border-bottom: 2px solid var(--forest); }
.pack-slip-title-side { display: flex; align-items: center; gap: 12px; }
.pack-document-brands { display: grid; grid-template-columns: repeat(2, minmax(105px, 1fr)); gap: 12px; align-items: start; }
.pack-document-brand { min-width: 0; display: grid; justify-items: center; gap: 4px; padding-left: 12px; border-left: 1px solid var(--line); }
.pack-document-brand > span { color: var(--muted); font-size: .52rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.pack-document-brand .print-brand-logo, .pack-document-brand .print-logo, .document-customer-logo { width: 108px; height: 52px; }
.document-customer-logo { display: grid; place-items: center; overflow: hidden; }
.document-customer-logo img { width: 100%; height: 100%; display: block; object-fit: contain; }
.document-customer-fallback { align-content: center; gap: 2px; padding: 5px; border: 1px solid var(--line); color: var(--forest); text-align: center; }
.document-customer-fallback strong { font-size: 1rem; }
.document-customer-fallback small { max-width: 96px; overflow: hidden; color: var(--muted); font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.pack-slip-title .eyebrow { margin-bottom: 4px; font-size: 0.58rem; }
.pack-slip-title h2 { margin: 0; font-size: 1.5rem; }
.pack-position-count { color: var(--muted); font-size: 0.7rem; font-weight: 800; }
.pack-summary-table { width: 100%; margin: 10px 0 13px; border: 1px solid var(--line); border-collapse: collapse; table-layout: fixed; }
.pack-summary-table th, .pack-summary-table td { border-right: 1px solid var(--line); text-align: left; vertical-align: top; }
.pack-summary-table th:last-child, .pack-summary-table td:last-child { border-right: 0; }
.pack-summary-table th { padding: 5px 7px; background: #eff1ec; color: var(--muted); font-size: 0.58rem; text-transform: uppercase; letter-spacing: 0.06em; }
.pack-summary-table td { padding: 7px; font-size: 0.74rem; line-height: 1.3; }
.pack-summary-table th:first-child, .pack-summary-table td:first-child { width: 17%; }
.pack-summary-table th:last-child, .pack-summary-table td:last-child { width: 30%; }
.pack-summary-table strong, .pack-summary-table small { display: block; }
.pack-customer-identity { display: flex; align-items: center; gap: 7px; }
.pack-customer-identity > span:last-child { min-width: 0; }
.pack-customer-logo { width: 34px; height: 34px; }
.pack-summary-table strong { color: var(--forest); font-size: 0.78rem; }
.pack-summary-table small { margin-top: 2px; color: var(--muted); font-size: 0.63rem; line-height: 1.35; }
.pack-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; margin-bottom: 6px; }
.pack-section-head h3 { margin: 0; font-size: 0.95rem; }
.pack-section-head span { color: var(--muted); font-size: 0.7rem; }
.pack-product-head { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 8px; padding: 6px 8px; background: var(--forest); color: white; font-size: 0.6rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.06em; }
.pack-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #aeb5af; border-top: 0; }
.pack-product-item { min-width: 0; min-height: 48px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px 8px; border-bottom: 1px solid #c9ceca; }
.pack-product-item:nth-child(odd) { border-right: 1px solid #c9ceca; }
.pack-product-copy { min-width: 0; display: grid; gap: 2px; }
.pack-product-copy strong { color: var(--ink); font-size: 0.78rem; line-height: 1.25; }
.pack-product-copy small { color: var(--muted); font-size: 0.64rem; line-height: 1.25; }
.pack-product-amount { min-width: 74px; text-align: right; }
.pack-product-amount strong { display: block; color: var(--ink); font-size: 0.8rem; white-space: nowrap; }
.pack-product-amount small { display: block; margin-top: 2px; color: var(--muted); font-size: 0.58rem; white-space: nowrap; }
.paper-check { display: inline-block; width: 18px; height: 18px; border: 1.7px solid #435149; border-radius: 2px; background: white; }
.pack-quantity { color: var(--ink); font-size: 0.82rem; white-space: nowrap; }
.pack-base-quantity { display: block; margin-top: 2px; color: var(--muted); font-size: 0.58rem; white-space: nowrap; }
.pack-product-name strong { font-size: 0.8rem; }
.pack-product-variant { color: var(--muted); font-size: 0.68rem !important; }
.pack-note-line { min-height: 32px; display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 6px 8px; border: 1px solid var(--line); font-size: 0.7rem; }
.pack-note-line > strong { flex: 0 0 auto; color: var(--forest); }
.pack-note-write { height: 17px; flex: 1; border-bottom: 1px solid #aeb5af; }
.pack-complete { display: flex; align-items: center; gap: 9px; margin-top: 9px; padding: 7px 8px; border: 1.5px solid var(--forest); color: var(--forest); }
.pack-complete strong { flex: 1; font-size: 0.76rem; }
.pack-complete .paper-check { width: 18px; height: 18px; }
.pack-signature { color: var(--muted); font-size: 0.68rem; }

/* Ruhige, einheitliche Informationsflächen. Gelb und Rot bleiben Warnungen vorbehalten. */
.comparison-bar,
.weight-note,
.last-week-panel,
.last-week-panel.no-order,
.notice,
.automatic-quantity-note,
.customer-delivery-rule,
.delivery-rule-preview,
.email-delivery-status,
.deadline-box,
.delivery-promise-box,
.permission-denied,
.weight-editor {
  border: 1px solid var(--line);
  background: #f2f1eb;
  color: var(--forest);
}
.last-week-panel.no-order { color: var(--muted); }
.delivery-promise-box small { color: var(--muted); }

/* Lieferinformationen bleiben auch in dichten Tabellen gut lesbar. */
.order-table td[data-label="Übergabe"] small,
.customer-table td:nth-child(3) small {
  font-size: 0.78rem;
  line-height: 1.55;
}
.form-grid p { font-size: 0.9rem; line-height: 1.6; }

.success-screen { text-align: center; padding: 15px 5px 5px; }
.success-mark { width: 68px; height: 68px; display: grid; place-items: center; border-radius: 50%; background: var(--forest-3); color: var(--forest); margin: 0 auto 18px; }
.success-mark svg { width: 34px; }
.success-screen h2 { margin-bottom: 9px; }
.success-screen p { color: var(--muted); }
.order-confirmation { display: flex; justify-content: space-between; gap: 20px; background: #f0eee6; padding: 13px; border-radius: 11px; margin: 18px 0; text-align: left; font-size: 0.8rem; }

.toast { position: fixed; right: 20px; bottom: 20px; z-index: 80; max-width: 360px; padding: 13px 16px; border-radius: 11px; background: #152d23; color: white; box-shadow: var(--shadow); font-size: 0.84rem; transform: translateY(20px); opacity: 0; pointer-events: none; transition: opacity 180ms, transform 180ms; }
.toast.show { opacity: 1; transform: translateY(0); }

@keyframes fade { from { opacity: 0; } }
@keyframes rise { from { opacity: 0; transform: translateY(12px) scale(0.99); } }

@media (max-width: 1050px) {
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .statistics-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statistics-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .admin-grid { grid-template-columns: 1fr; }
  .day-dashboard-grid { grid-template-columns: 1fr; }
  .day-workflow { grid-template-columns: 1fr; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .content-builder-layout { grid-template-columns: 1fr; }
  .content-builder-preview { position: relative; top: auto; }
  .builder-preview-browser { max-height: 680px; }
}

@media (max-width: 900px) {
  .login-page { grid-template-columns: 1fr; }
  .login-story { display: none; }
  .admin-site-preview .inline-login-site .login-story { display: flex; min-height: 560px; }
  .admin-site-preview .inline-login-site .login-panel { min-height: 560px; }
  .mobile-login-brand { display: inline-flex; }
  .login-panel { background: var(--cream); }
  .login-card { background: var(--paper); padding: 28px; border-radius: 20px; box-shadow: var(--shadow); }
  .customer-hero { grid-template-columns: 1fr; }
  .hero-art { display: none; }
  .shop-layout { grid-template-columns: 1fr; }
  .cart { position: relative; top: auto; }
  .admin-layout { grid-template-columns: 78px minmax(0,1fr); }
  .admin-sidebar { padding-inline: 10px; }
  .admin-menu button { justify-content: center; padding: 13px; }
  .admin-menu button span { display: none; }
  .statistics-layout, .statistics-layout-even { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .page-width { width: min(100% - 24px, 1180px); }
  .topbar { min-height: 68px; }
  .topbar-inner, .topbar-inner > * { min-width: 0; }
  .topbar-actions { gap: 6px; }
  .topbar-actions .button { max-width: 100%; padding-inline: 10px; }
  .email-test-recipient-row { grid-template-columns: 1fr; }
  .email-test-recipient-row .button { width: 100%; }
  .email-setup-panel, .email-template-panel { padding: 13px; }
  .email-smtp-grid { grid-template-columns: 1fr; }
  .email-connection-actions { align-items: stretch; flex-direction: column; }
  .email-connection-actions .button { width: 100%; }
  .pickup-time-range { grid-template-columns: 1fr; }
  .pickup-time-range > span { text-align: center; }
  .checkout-method-choice > div { grid-template-columns: 1fr; }
  .brand-mark { width: 38px; height: 38px; }
  .brand-name { font-size: 1.05rem; }
  .top-nav { display: none; }
  .mobile-customer-nav { display: grid; margin-bottom: 18px; }
  .user-chip span:last-child { display: none; }
  .inline-edit-toggle { width: 42px; min-width: 42px; padding: 8px; }
  .inline-edit-toggle-label { display: none; }
  .inline-edit-mode-bar { top: 68px; align-items: flex-start; flex-direction: column; gap: 2px; padding: 8px 12px; }
  .inline-edit-mode-bar span { font-size: 0.67rem; }
  .direct-editor-launcher { grid-template-columns: 1fr; }
  .advanced-content-builder-body { padding: 10px; }
  .inline-preview-toolbar { position: relative; top: auto; align-items: stretch; flex-direction: column; padding: 10px 12px; }
  .inline-preview-toolbar > .button { width: 100%; }
  .inline-preview-toolbar label { display: grid; grid-template-columns: auto minmax(0, 1fr); }
  .inline-preview-toolbar .select { min-width: 0; }
  .inline-preview-help { justify-content: center; }
  .admin-site-preview .inline-customer-site { padding-top: 20px; }
  .admin-site-preview .inline-login-site .login-story { min-height: 520px; padding: 28px 20px; }
  .admin-site-preview .inline-login-site .login-panel { min-height: 520px; padding: 20px; }
  .admin-site-preview .inline-login-site .story-copy { padding-block: 42px; }
  .customer-main { padding-top: 22px; }
  .customer-main.has-mobile-cart { padding-bottom: calc(82px + env(safe-area-inset-bottom)); }
  .customer-main.mobile-cart-open { padding-bottom: calc(var(--mobile-cart-space, 178px) + env(safe-area-inset-bottom)); }
  .customer-hero { border-radius: 18px; min-height: 0; }
  .customer-hero-compact { padding: 20px; }
  .customer-hero-compact::after { width: 140px; height: 140px; right: -55px; top: -45px; opacity: 0.55; }
  .customer-hero-compact .hero-copy h1 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
  .hero-compact-row { align-items: stretch; flex-direction: column; gap: 13px; }
  .hero-compact-row .pickup-pill { width: 100%; align-items: flex-start; line-height: 1.45; }
  .section-head { align-items: start; flex-direction: column; margin-top: 30px; }
  .shop-filter-actions { width: 100%; justify-items: start; }
  .customer-product-search { width: 100%; }
  .category-chips { width: 100%; flex-wrap: wrap; overflow: visible; padding: 1px 0 3px; }
  .category-chip { flex: 0 1 auto; }
  .product-category-title.has-category-image { height: 62px; border-radius: 10px; }
  .product-category-title .category-banner-content { padding: 0 11px; }
  .product-category-title h3 { font-size: 1.05rem; }
  .product-category-title small { font-size: 0.66rem; }
  .admin-product-category-head.has-category-image { height: 62px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .product-visual { aspect-ratio: var(--product-image-ratio); }
  .product-card { border-radius: 14px; }
  .product-card:hover { transform: none; }
  .product-body { padding: 12px; }
  .product-kicker { overflow: hidden; font-size: 0.56rem; letter-spacing: 0.06em; text-overflow: ellipsis; white-space: nowrap; }
  .product-card h3 { min-height: 2.4em; margin: 5px 0 5px; font-size: 0.94rem; line-height: 1.2; }
  .product-meta { display: -webkit-box; min-height: 2.7em; margin-bottom: 11px; overflow: hidden; font-size: 0.7rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .weight-note { align-items: flex-start; margin: -2px 0 9px; padding: 6px 7px; font-size: 0.61rem; }
  .weight-note svg { display: none; }
  .product-direct-order { grid-template-columns: 1fr; gap: 7px; margin-top: 10px; padding-top: 10px; }
  .direct-input-wrap { height: 44px; }
  .product-add-button { width: 100%; justify-content: center; padding-inline: 8px; }
  .product-extra-order-row { grid-template-columns: minmax(0, 1fr) auto; gap: 5px; }
  .product-extra-order-copy { grid-column: 1 / -1; }
  .product-extra-order-copy small { white-space: normal; }
  .product-extra-order-row .direct-input-wrap { height: 40px; }
  .product-extra-order-row .button { min-height: 40px; }
  .egg-option-field .select { height: 42px; }
  .product-quantity-input { height: 42px; font-size: 1rem; }
  .egg-order-amount { grid-template-columns: 1fr; }
  .egg-order-amount .button { width: 100%; justify-content: center; }
  .egg-order-info { font-size: 0.59rem; }
  .catalog-egg-options { margin-left: 0; }
  .catalog-egg-options > div { grid-template-columns: 1fr; }
  .last-week-panel { gap: 7px; margin: -2px 0 9px; padding: 7px; }
  .last-week-panel > div > svg { display: none; }
  .last-week-panel strong { font-size: 0.62rem; }
  .last-week-panel small { font-size: 0.61rem; }
  .admin-layout { display: block; }
  .admin-sidebar { position: fixed; z-index: 30; bottom: 0; left: 0; right: 0; border: 0; border-top: 1px solid var(--line); padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 24px rgba(31,70,52,0.08); }
  .admin-menu { position: static; width: 100%; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: stretch; gap: 3px; overflow: visible; }
  .admin-menu button { min-width: 0; display: grid; justify-items: center; align-content: center; gap: 2px; padding: 5px 2px; font-size: 0.61rem; line-height: 1.12; }
  .admin-menu button span { display: block; }
  .admin-menu button svg { width: 18px; }
  .admin-main { min-width: 0; padding: 25px 12px calc(142px + env(safe-area-inset-bottom)); }
  .admin-heading { align-items: stretch; flex-direction: column; }
  .day-dashboard-head { align-items: stretch; flex-direction: column; }
  .day-controls { align-items: stretch; flex-wrap: wrap; }
  .day-controls label { flex: 1 1 160px; }
  .day-controls .input { width: 100%; }
  .day-complete-summary { grid-template-columns: 1fr; }
  .day-order-line { grid-template-columns: 1fr; align-items: stretch; }
  .day-order-line .table-actions { justify-content: stretch; }
  .day-order-line .table-actions .button { flex: 1; }
  .heading-actions { justify-content: stretch; }
  .heading-actions .button { flex: 1 1 210px; }
  .builder-save-bar { position: relative; bottom: auto; align-items: stretch; flex-direction: column; }
  .builder-save-actions { display: grid; grid-template-columns: 1fr; }
  .builder-save-actions .button { width: 100%; }
  .builder-preview-toolbar label { grid-template-columns: 1fr; }
  .builder-preview-browser { max-height: 620px; }
  .builder-preview-chips { flex-wrap: wrap; overflow: visible; }
  .builder-login-preview { min-height: 430px; padding: 22px; }
  .builder-preview-products { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .statistics-filter-grid { grid-template-columns: 1fr; }
  .statistics-filter-actions { align-items: stretch; flex-direction: column; }
  .statistics-filter-actions .button { width: 100%; }
  .statistics-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .statistics-insights { grid-template-columns: 1fr; }
  .statistics-bar-row { grid-template-columns: 72px minmax(65px, 1fr) 62px; gap: 7px; }
  .statistics-bar-row > strong small { display: none; }
  .statistics-card-head { align-items: start; }
  .statistics-table-wrap { overflow: visible; }
  .statistics-table, .statistics-table tbody, .statistics-table tr, .statistics-table td { display: block; width: 100%; }
  .statistics-table thead { display: none; }
  .statistics-table tr { margin-top: 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 11px; background: white; }
  .statistics-table tr:first-child { margin-top: 0; }
  .statistics-table td { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 9px; padding: 6px 2px; border: 0; overflow-wrap: anywhere; }
  .statistics-table td::before { color: var(--muted); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.05em; text-transform: uppercase; }
  .statistics-table:not(.statistics-customer-table) td:nth-child(1)::before { content: "Produkt"; }
  .statistics-table:not(.statistics-customer-table) td:nth-child(2)::before { content: "Gesamtmenge"; }
  .statistics-table:not(.statistics-customer-table) td:nth-child(3)::before { content: "Bestellungen"; }
  .statistics-table:not(.statistics-customer-table) td:nth-child(4)::before { content: "Kunden"; }
  .statistics-customer-table td:nth-child(1)::before { content: "Kunde"; }
  .statistics-customer-table td:nth-child(2)::before { content: "Bestellungen"; }
  .statistics-customer-table td:nth-child(3)::before { content: "Umsatz"; }
  .statistics-customer-table td:nth-child(4)::before { content: "Ø Bestellung"; }
  .statistics-customer-table td:nth-child(5)::before { content: "Letzte Bestellung"; }
  .statistics-table td[colspan] { display: block; }
  .statistics-table td[colspan]::before { display: none; }
  .metric { padding: 14px; }
  .metric-value { font-size: 1.65rem; }
  .admin-order { grid-template-columns: 1fr auto; }
  .admin-order > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .admin-order-total { grid-column: 2; grid-row: 1; }
  .admin-product-grid, .settings-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .availability-period-grid { grid-template-columns: 1fr; }
  .product-image-editor { grid-template-columns: 1fr; }
  .extra-unit-editor-row { grid-template-columns: 1fr; gap: 10px; }
  .egg-settings-grid { grid-template-columns: 1fr; }
  .product-order-option-row { grid-template-columns: 1fr; align-items: stretch; }
  .product-order-option-composition { grid-template-columns: minmax(78px, 0.34fr) 18px minmax(0, 1fr); }
  .product-order-option-remove { justify-self: end; margin-top: 0; }
  .product-order-option-examples span { width: 100%; border-radius: 8px; }
  .category-manager-row { align-items: flex-start; flex-direction: column; }
  .category-manager-identity { width: 100%; }
  .category-manager-actions { width: 100%; }
  .category-manager-actions .button { min-width: 108px; flex: 1; }
  .category-image-editor-title { padding: 0 12px; }
  .catalog-product-options { margin-left: 0; }
  .catalog-groups { grid-template-columns: 1fr; }
  .customer-form-tabs button { display: grid; justify-items: center; gap: 3px; padding: 7px 4px; font-size: 0.67rem; }
  .customer-form-tabs button svg { width: 17px; }
  .customer-form-panel { min-height: 0; }
  .modal-backdrop { padding: 10px; }
  .modal { max-width: 100%; max-height: calc(100dvh - 20px); overflow-x: hidden; }
  .modal-head { display: grid; grid-template-columns: minmax(0, 1fr) 36px; }
  .modal-head > div { min-width: 0; }
  .modal-head h2 { font-size: 1.45rem; overflow-wrap: anywhere; hyphens: auto; }
  .modal-head, .modal-body { padding-inline: 14px; }
  .modal-foot { padding-inline: 14px; flex-direction: column-reverse; }
  .modal-foot .button { width: 100%; }
  .modal-spacer { display: none; }
  .weight-entry { grid-template-columns: 1fr; }
  .edit-order-banner, .order-edit-row { align-items: stretch; flex-direction: column; }
  .customer-order-actions { align-items: stretch; flex-direction: column; }
  .customer-order-actions .button { width: 100%; justify-content: center; }
  .edit-order-banner > svg { display: none; }
  .comparison-bar { align-items: stretch; flex-direction: column; }
  .comparison-bar > svg { display: none; }
  .comparison-repeat-all { width: 100%; justify-content: center; }
  .last-week-panel { align-items: stretch; flex-direction: column; }
  .last-week-panel .button { width: 100%; }
  .receipt-meta { grid-template-columns: 1fr; }
  .receipt-products-grid, .pack-product-grid, .aggregate-product-grid { grid-template-columns: 1fr; }
  .receipt-products-head { flex-wrap: wrap; }
  .receipt-product-item { grid-template-columns: 1fr; align-items: start; }
  .receipt-product-quantity { max-width: 100%; justify-self: start; white-space: normal; overflow-wrap: anywhere; }
  .pack-product-item { grid-template-columns: 28px minmax(0, 1fr); align-items: start; }
  .pack-product-amount { min-width: 0; grid-column: 2; text-align: left; }
  .pack-product-amount strong, .pack-product-amount small, .pack-quantity, .pack-base-quantity { white-space: normal; overflow-wrap: anywhere; }
  .aggregate-product-item { grid-template-columns: 1fr; }
  .aggregate-total-quantity { min-width: 0; text-align: left; }
  .receipt-product-item:nth-child(odd), .pack-product-item:nth-child(odd), .aggregate-product-item:nth-child(odd) { border-right: 0; }
  .pack-summary-table th:first-child, .pack-summary-table td:first-child { width: 21%; }
  .pack-complete { align-items: flex-start; flex-wrap: wrap; }
  .order-search-field { flex-basis: 100%; }
  .order-date-filter { flex: 1 1 190px; }
  .order-date-clear { flex: 1 1 105px; }
  .order-control-panel { position: relative; top: auto; padding: 9px; }
  .order-quick-filters { flex-wrap: wrap; overflow: visible; padding-bottom: 5px; }
  .order-quick-filters button { min-width: 0; }
  .order-mobile-sort { display: block; }
  .order-toolbar .toolbar-spacer { display: none; }
  .table-wrap { overflow: visible; }
  .data-table thead { display: none; }
  .data-table, .data-table tbody, .data-table tr, .data-table td { display: block; width: 100%; }
  .data-table tr { border-top: 1px solid var(--line); padding: 12px; }
  .data-table tr:first-child { border-top: 0; }
  .data-table td { border: 0; padding: 6px 4px; }
  .customer-table .customer-category-row, .customer-table .customer-category-row th { display: block; width: 100%; }
  .customer-table .customer-category-row { padding: 0; border-top: 0; margin-top: 9px; }
  .customer-table .customer-category-row th { border-radius: 8px; }
  .order-table td[data-label] { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 8px; align-items: start; }
  .order-table td[data-label]::before { content: attr(data-label); color: var(--muted); font-size: 0.65rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; padding-top: 2px; }
  .table-actions { justify-content: flex-start; }
  .print-report { padding: 14px; }
  .print-report-head, .pack-slip-title { align-items: flex-start; flex-direction: column; gap: 10px; }
  .print-report-head > *, .pack-slip-title > * { min-width: 0; max-width: 100%; }
  .print-report-head h2, .pack-slip-title h2 { max-width: 100%; font-size: 1.45rem; overflow-wrap: anywhere; hyphens: auto; }
  .report-section-title { align-items: flex-start; flex-direction: column; gap: 3px; }
  .report-table, .report-table tbody, .report-table tr, .report-table td { display: block; width: 100%; }
  .report-table thead { display: none; }
  .report-table tr { margin-top: 8px; padding: 8px; border: 1px solid var(--line); }
  .report-table td { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: 8px; padding: 5px 2px; border: 0; overflow-wrap: anywhere; }
  .report-table td::before { color: var(--muted); font-size: 0.58rem; font-weight: 850; letter-spacing: 0.05em; text-transform: uppercase; }
  .report-table td:nth-child(1)::before { content: "Produkt"; }
  .report-table td:nth-child(2)::before { content: "Menge"; }
  .report-order-details .report-table td:nth-child(1)::before { content: "Nr."; }
  .report-order-details .report-table td:nth-child(2)::before { content: "Kunde"; }
  .report-order-details .report-table td:nth-child(3)::before { content: "Übergabe"; }
  .report-order-details .report-table td:nth-child(4)::before { content: "Produkte"; }
  .print-report-foot { align-items: flex-start; flex-direction: column; gap: 5px; }
  .pack-slip-title-side { min-width: 0; flex-wrap: wrap; }
  .pack-summary-table { table-layout: auto; }
  .pack-summary-table th, .pack-summary-table td { overflow-wrap: anywhere; }
  .category-add-row { grid-template-columns: 1fr; }
  .category-add-row .button { width: 100%; }
  .mobile-cart-bar {
    position: fixed;
    z-index: 45;
    left: auto;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    width: 154px;
    max-width: calc(100vw - 24px);
    display: grid;
    gap: 0;
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,0.14);
    border-radius: 999px;
    background: var(--forest);
    color: white;
    box-shadow: 0 14px 36px rgba(21,45,35,0.3);
    transform-origin: right bottom;
    transition: width 240ms ease, padding 240ms ease, border-radius 240ms ease, box-shadow 240ms ease;
  }
  .mobile-cart-bar.expanded {
    width: min(calc(100vw - 24px), 380px);
    gap: 10px;
    padding: 10px;
    border-radius: 16px;
    box-shadow: 0 18px 46px rgba(21,45,35,0.38);
  }
  .mobile-cart-summary { width: 100%; min-width: 0; min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
  .mobile-cart-summary > svg { width: 22px; flex: 0 0 auto; }
  .mobile-cart-summary-copy { min-width: 0; display: grid; gap: 1px; flex: 1; }
  .mobile-cart-summary strong { font-size: 0.78rem; white-space: nowrap; }
  .mobile-cart-summary small { overflow: hidden; color: rgba(255,255,255,0.68); font-size: 0.62rem; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-cart-bar.collapsed .mobile-cart-summary small { display: none; }
  .mobile-cart-count { min-width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--yolk); color: var(--forest); font-size: 0.7rem; font-weight: 900; }
  .mobile-cart-toggle-icon { width: 20px; flex: 0 0 auto; color: rgba(255,255,255,0.74); font-size: 1.05rem; font-weight: 800; text-align: center; }
  .mobile-cart-bar.collapsed .mobile-cart-toggle-icon { display: none; }
  .mobile-cart-details { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(8px) scale(0.98); transition: grid-template-rows 240ms ease, opacity 170ms ease, transform 240ms ease; }
  .mobile-cart-details-inner { min-height: 0; display: grid; gap: 10px; overflow: hidden; }
  .mobile-cart-bar.expanded .mobile-cart-details { grid-template-rows: 1fr; opacity: 1; transform: translateY(0) scale(1); }
  .mobile-cart-products { max-height: 184px; display: grid; overflow-y: auto; overscroll-behavior: contain; border: 1px solid rgba(255,255,255,0.14); border-radius: 11px; background: rgba(255,255,255,0.07); scrollbar-width: thin; }
  .mobile-cart-product { min-height: 46px; display: grid; grid-template-columns: minmax(105px, auto) minmax(0, 1fr) 36px; gap: 7px; align-items: center; padding: 6px 7px 6px 9px; }
  .mobile-cart-product + .mobile-cart-product { border-top: 1px solid rgba(255,255,255,0.12); }
  .mobile-cart-product > strong { color: var(--yolk); font-size: 0.7rem; line-height: 1.3; }
  .mobile-cart-product > span { min-width: 0; display: grid; gap: 1px; }
  .mobile-cart-product b { overflow: hidden; font-size: 0.73rem; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-cart-product small { overflow: hidden; color: rgba(255,255,255,0.63); font-size: 0.6rem; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-cart-remove { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 9px; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.72); }
  .mobile-cart-remove svg { width: 16px; }
  .mobile-cart-footer { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 7px; }
  .mobile-cart-clear { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 8px 9px; border: 1px solid rgba(255,255,255,0.22); border-radius: 10px; background: transparent; color: rgba(255,255,255,0.78); font-size: 0.66rem; font-weight: 750; }
  .mobile-cart-clear svg { width: 15px; }
  .mobile-cart-bar .button { width: 100%; justify-content: center; padding: 10px 12px; font-size: 0.74rem; }
  .mobile-cart-bar .button svg { width: 16px; }
  body:has(.mobile-cart-bar) .toast { bottom: 82px; }
  body:has(.mobile-cart-bar.expanded) .toast { bottom: min(340px, 46vh); }
}

@media (max-width: 480px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-card h3 { min-height: 0; }
  .product-kicker { white-space: normal; }
  .product-meta { min-height: 0; }
}

@media (max-width: 420px) {
  .login-panel { padding: 15px; }
  .login-card { padding: 22px; }
  .demo-buttons { display: grid; }
  .metrics { grid-template-columns: 1fr; }
  .admin-menu button span { font-size: 0.54rem; }
  .mobile-cart-bar.expanded .mobile-cart-summary small { display: block; }
}

@media (max-width: 360px) {
  .product-grid { grid-template-columns: 1fr; }
  .product-card h3 { min-height: 0; }
}

/* CSV-Import und Firmen-Einrichtungsassistent */
.modal-large:has(.csv-type-tabs),
.modal-large:has(.setup-progress) { width: min(980px, 100%); }
.csv-type-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 5px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-soft, #f5f3ed); }
.csv-type-tabs button { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 9px 14px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-weight: 750; cursor: pointer; }
.csv-type-tabs button svg { width: 19px; height: 19px; }
.csv-type-tabs button.active { color: var(--paper); background: var(--green); box-shadow: 0 5px 14px rgba(20, 54, 41, 0.16); }
.csv-import-intro { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.csv-import-intro h3, .csv-import-intro p { margin: 0; }
.csv-import-intro p { max-width: 650px; margin-top: 5px; color: var(--muted); line-height: 1.55; }
.csv-file-picker { display: block; margin: 14px 0; cursor: pointer; }
.csv-file-picker .file-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.csv-file-picker > span { display: grid; grid-template-columns: 32px 1fr; column-gap: 12px; align-items: center; min-height: 78px; padding: 14px 18px; border: 1.5px dashed var(--green); border-radius: 14px; background: color-mix(in srgb, var(--green) 5%, white); }
.csv-file-picker svg { grid-row: 1 / 3; width: 27px; height: 27px; color: var(--green); }
.csv-file-picker strong, .csv-file-picker small { min-width: 0; overflow-wrap: anywhere; }
.csv-file-picker small { color: var(--muted); }
.csv-preview-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 17px 0; }
.csv-preview-summary > div { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.csv-preview-summary strong, .csv-preview-summary span { display: block; }
.csv-preview-summary strong { font-size: 1.35rem; color: var(--green); }
.csv-preview-summary span { margin-top: 2px; color: var(--muted); font-size: 0.76rem; }
.csv-preview-summary .has-errors strong { color: #9a3428; }
.csv-import-alert, .csv-import-option, .csv-password-warning { display: flex; align-items: flex-start; gap: 11px; margin: 14px 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-soft, #f6f4ee); }
.csv-import-alert svg, .csv-password-warning svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--green); }
.csv-import-alert.is-error { border-color: #deb1aa; background: #fff4f2; color: #76291f; }
.csv-import-alert.is-error svg { color: #9a3428; }
.csv-import-alert.is-ready { border-color: #b9d4c3; background: #f0f8f3; }
.csv-import-option { cursor: pointer; }
.csv-import-option input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--green); }
.csv-import-option span, .csv-password-warning div { min-width: 0; }
.csv-import-option strong, .csv-import-option small { display: block; }
.csv-import-option small, .csv-password-warning p { margin: 3px 0 0; color: var(--muted); line-height: 1.45; }
.csv-issue-list { margin: 16px 0; }
.csv-issue-list h3 { margin: 0 0 8px; font-size: 0.92rem; }
.csv-issue { display: flex; align-items: flex-start; gap: 9px; padding: 9px 0; border-top: 1px solid var(--line); }
.csv-issue svg { flex: 0 0 auto; width: 18px; height: 18px; }
.csv-issue span { display: grid; grid-template-columns: minmax(68px, auto) 1fr; gap: 8px; min-width: 0; font-size: 0.84rem; }
.csv-issue.is-error { color: #76291f; }
.csv-issue.is-warning svg { color: #9c741d; }
.csv-preview-table { max-height: 310px; margin: 16px 0; border: 1px solid var(--line); }
.csv-preview-table .data-table { margin: 0; }
.csv-preview-table td small, .csv-credentials-table td small { display: block; color: var(--muted); }
.csv-success { display: flex; align-items: flex-start; gap: 16px; padding: 22px; margin-bottom: 18px; border: 1px solid #b9d4c3; border-radius: 14px; background: #f0f8f3; }
.csv-success > svg { flex: 0 0 auto; width: 34px; height: 34px; padding: 6px; border-radius: 50%; color: white; background: var(--green); }
.csv-success h3, .csv-success p { margin: 0; }
.csv-success p { margin-top: 4px; color: var(--muted); }
.csv-credentials-table { max-height: 360px; border: 1px solid var(--line); }
.csv-credentials-table code { user-select: all; overflow-wrap: anywhere; color: var(--ink); font-size: 0.82rem; }
.setup-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; margin: 0 0 26px; list-style: none; }
.setup-progress li { position: relative; display: grid; justify-items: center; gap: 7px; color: var(--muted); text-align: center; }
.setup-progress li::before { content: ""; position: absolute; z-index: 0; top: 17px; left: -50%; width: 100%; height: 2px; background: var(--line); }
.setup-progress li:first-child::before { display: none; }
.setup-progress li.done::before, .setup-progress li.active::before { background: var(--green); }
.setup-progress li > span { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--line); border-radius: 50%; background: var(--paper); font-weight: 800; }
.setup-progress li > span svg { width: 17px; height: 17px; }
.setup-progress li.active > span, .setup-progress li.done > span { border-color: var(--green); color: white; background: var(--green); }
.setup-progress li.active small { color: var(--ink); font-weight: 750; }
.setup-step-heading { display: flex; align-items: flex-start; gap: 14px; padding-bottom: 16px; margin-bottom: 19px; border-bottom: 1px solid var(--line); }
.setup-step-heading > span { display: grid; flex: 0 0 auto; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: white; background: var(--green); font-weight: 800; }
.setup-step-heading > span svg { width: 19px; height: 19px; }
.setup-step-heading h3, .setup-step-heading p { margin: 0; }
.setup-step-heading p { margin-top: 4px; color: var(--muted); line-height: 1.5; }
.setup-form .color-input { min-height: 48px; padding: 5px; cursor: pointer; }
.setup-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.setup-review-grid section { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-soft, #f6f4ee); }
.setup-review-grid small, .setup-review-grid strong, .setup-review-grid span { display: block; overflow-wrap: anywhere; }
.setup-review-grid small { margin-bottom: 4px; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-size: .68rem; font-weight: 750; }
.setup-review-grid span { margin-top: 5px; color: var(--muted); line-height: 1.45; }

@media (max-width: 700px) {
  .csv-import-intro { display: grid; }
  .csv-import-intro .button { width: 100%; }
  .csv-preview-summary { grid-template-columns: 1fr 1fr; }
  .csv-issue span { grid-template-columns: 1fr; gap: 1px; }
  .setup-progress { margin-inline: -5px; }
  .setup-progress li small { max-width: 72px; font-size: .65rem; line-height: 1.2; }
  .setup-review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .csv-type-tabs button { padding-inline: 8px; font-size: .82rem; }
  .csv-preview-summary { gap: 6px; }
  .csv-preview-summary > div { padding: 10px; }
  .setup-progress li small { display: none; }
}

@media (pointer: coarse) {
  .button,
  .button-small,
  .category-chip,
  .sold-out-filter,
  .top-nav button,
  .admin-menu button,
  .order-quick-filters button,
  .catalog-product,
  .catalog-egg-options label,
  .toggle {
    min-height: 44px;
  }
  .inline-content-edit,
  .inline-preview-surfaces button {
    min-height: 44px;
  }
  .icon-button,
  .modal-close,
  .password-toggle,
  .day-arrow,
  .add-button {
    min-width: 44px;
    min-height: 44px;
  }
  .cart-quantity-wrap { height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.brand-mark-logo { flex: 0 0 auto; display: block; line-height: 0; overflow: visible; padding: 0; background: none; border: 0; }
.brand-logo { width: auto; height: 66px; max-width: 180px; object-fit: contain; display: block; background: none; }
html[data-brand-logo-size="compact"] .brand-logo { height: 42px; max-width: 125px; }
html[data-brand-logo-size="standard"] .brand-logo { height: 54px; max-width: 155px; }
html[data-brand-logo-size="large"] .brand-logo { height: 72px; max-width: 210px; }
.secure-login-note { display: flex; align-items: center; gap: 8px; margin-top: 20px; }
.secure-login-note svg { width: 18px; height: 18px; flex: 0 0 auto; }
.branding-preview { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; padding: 18px; color: #fff; background: var(--preview-primary); border-left: 8px solid var(--preview-accent); }
.branding-preview > img, .branding-logo-preview { width: 112px; height: 76px; object-fit: contain; background: var(--preview-primary); }
.branding-preview > div:last-child { display: grid; gap: 3px; }
.branding-preview strong { font-size: 1.25rem; }
.branding-preview span { opacity: .82; }
.branding-logo-placeholder { display: grid; place-items: center; width: 76px; height: 76px; color: var(--preview-primary); background: #fff; }
.branding-logo-placeholder svg { width: 28px; height: 28px; }
.branding-logo-placeholder span { font-size: .55rem; text-align: center; }
.branding-login-image { display: grid; grid-template-columns: minmax(190px, .75fr) minmax(0, 1.25fr); gap: 18px; align-items: center; margin-top: 4px; padding-top: 20px; border-top: 1px solid var(--line); }
.branding-login-image-preview { min-height: 145px; overflow: hidden; background: var(--forest); border: 1px solid var(--line); }
.branding-login-image-preview > img { width: 100%; height: 145px; display: block; object-fit: cover; }
.branding-login-image-preview > div { min-height: 145px; display: grid; place-items: center; align-content: center; gap: 8px; color: rgba(255,255,255,.78); text-align: center; }
.branding-login-image-preview svg { width: 30px; height: 30px; }
.branding-login-image-preview span { font-size: .72rem; }
.brand-studio-form { display: grid; gap: 18px; }
.branding-preview-rich { position: relative; padding-right: 180px; }
.branding-preview-rich small { display: block; margin-top: 3px; color: rgba(255,255,255,.72); font-size: .72rem; }
.branding-preview-image-count { position: absolute; right: 18px; display: inline-flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 7px !important; padding: 8px 10px; border: 1px solid rgba(255,255,255,.28); font-size: .65rem; font-weight: 800; }
.branding-preview-image-count svg { width: 16px; }
.brand-studio-section { padding: 18px; border: 1px solid var(--line); background: #f8f7f2; }
.brand-studio-section-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.brand-studio-section-head > span { width: 32px; height: 32px; display: grid; place-items: center; flex: 0 0 auto; background: var(--forest); color: white; font-size: .65rem; font-weight: 900; }
.brand-studio-section-head h3 { margin: 0 0 3px; font-size: 1.05rem; }
.brand-studio-section-head p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.brand-image-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.brand-gallery-editor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.brand-image-editor { min-width: 0; display: grid; align-content: start; gap: 10px; padding: 10px; border: 1px solid var(--line); background: white; }
.brand-image-editor .field { min-width: 0; margin: 0; }
.brand-image-preview { height: 150px; overflow: hidden; background: var(--forest); }
.brand-gallery-editor-grid .brand-image-preview { height: 105px; }
.brand-image-preview > img { width: 100%; height: 100%; display: block; object-fit: cover; }
.brand-image-preview > div { height: 100%; display: grid; place-items: center; align-content: center; gap: 7px; padding: 12px; color: rgba(255,255,255,.75); text-align: center; }
.brand-image-preview svg { width: 26px; }
.brand-image-preview span { font-size: .64rem; }
.brand-image-options { margin-top: 14px; }
.builder-login-preview, .builder-preview-hero { position: relative; isolation: isolate; overflow: hidden; }
.builder-login-preview-image, .builder-customer-preview-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: var(--brand-login-position, center center); }
.builder-customer-preview-image { object-position: var(--brand-hero-position, center center); }
.builder-login-preview.has-preview-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(18,44,33,.92), rgba(18,44,33,.5)); }
.builder-preview-hero.has-preview-image::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(18,44,33,.58), rgba(18,44,33,.2)); }
.builder-login-preview.has-preview-image, .builder-preview-hero.has-preview-image { color: white; }
.builder-login-preview.has-preview-image h2, .builder-preview-hero.has-preview-image h2, .builder-login-preview.has-preview-image p, .builder-preview-hero.has-preview-image p { color: white; }
.builder-brand-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(70px, 1fr)); gap: 4px; padding: 8px; background: #f3f1e9; }
.builder-brand-gallery img { width: 100%; height: 70px; display: block; object-fit: cover; }
.customer-logo-editor { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: center; margin-bottom: 16px; padding: 14px; background: #f6f5ef; border: 1px solid var(--line); }
.customer-logo-editor .field { margin-bottom: 0; }
.customer-logo-preview { width: 112px; height: 82px; display: grid; place-items: center; align-content: center; gap: 6px; overflow: hidden; color: var(--muted); background-color: #fff; background-image: linear-gradient(45deg, #edf0ec 25%, transparent 25%), linear-gradient(-45deg, #edf0ec 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #edf0ec 75%), linear-gradient(-45deg, transparent 75%, #edf0ec 75%); background-size: 16px 16px; background-position: 0 0, 0 8px, 8px -8px, -8px 0; border: 1px solid var(--line); text-align: center; }
.customer-logo-preview img { width: 100%; height: 100%; object-fit: contain; }
.customer-logo-preview svg { width: 25px; height: 25px; }
.customer-logo-preview span { padding-inline: 6px; font-size: .62rem; }
.customer-table-identity { display: flex; align-items: center; gap: 10px; min-width: 170px; }
.customer-table-identity > span:last-child { display: grid; gap: 2px; }
.customer-table-logo { width: 38px; height: 38px; }
.color-input { min-height: 48px; padding: 5px; cursor: pointer; }
.audit-log { display: grid; gap: 0; max-height: 55vh; overflow: auto; border: 1px solid var(--line); }
.audit-entry { display: grid; grid-template-columns: minmax(130px, .4fr) minmax(0, 1fr); gap: 18px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
.audit-entry:last-child { border-bottom: 0; }
.audit-entry time { color: var(--muted); font-size: .82rem; }
.audit-entry > div { display: grid; gap: 3px; }
.audit-entry span, .audit-entry small { color: var(--muted); }
.backup-automatic-status { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 14px; color: var(--forest); background: var(--forest-3); border: 1px solid var(--sage); }
.backup-automatic-status svg { width: 22px; height: 22px; }
.backup-automatic-status span { display: grid; gap: 2px; }
.modal:has(.backup-actions-secure) { width: min(980px, 100%); }
.backup-health-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 10px; }
.backup-health-grid .backup-automatic-status { height: 100%; margin: 0; align-items: flex-start; }
.backup-health-grid .backup-automatic-status > span { min-width: 0; flex: 1; }
.backup-health-grid .backup-automatic-status .button { margin-left: auto; flex: 0 0 auto; }
.backup-automatic-status.is-optional { color: var(--muted); background: #f3f2ec; border-color: var(--line); }
.backup-test-history { margin-bottom: 18px; padding: 11px 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 11px; background: #f4f2eb; color: var(--muted); }
.backup-test-history.is-success { border-color: #bcd1bf; background: #edf5ed; color: var(--forest); }
.backup-test-history > svg { width: 19px; flex: 0 0 auto; }
.backup-test-history > span { display: grid; gap: 2px; }
.backup-test-history small { color: var(--muted); }
.backup-actions-secure { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.backup-actions-secure > section { min-width: 0; align-content: start; }
.backup-actions-secure > section > div:last-child { min-width: 0; }
.backup-passphrase-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 13px; }
.backup-passphrase-grid .field { min-width: 0; }
.backup-key-warning { margin-top: 13px; padding: 11px; display: flex; align-items: flex-start; gap: 9px; border-radius: 10px; background: #eeeade; color: var(--forest); }
.backup-key-warning > svg { width: 18px; flex: 0 0 auto; }
.backup-key-warning > span { display: grid; gap: 3px; }
.backup-key-warning small { color: var(--muted); font-size: .68rem; line-height: 1.4; }
.backup-passphrase-test { margin-top: 14px; padding: 13px; border: 1px solid #bcd1bf; border-radius: 11px; background: #edf5ed; }
.backup-passphrase-test .field { margin-bottom: 10px; }
.backup-passphrase-test .button { width: 100%; }
.customer-privacy-state { color: #7a5b12 !important; font-weight: 700; }
.customer-privacy-state.is-due { color: #a43d2d !important; }
.privacy-customer-select { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 18px; align-items: end; margin-bottom: 14px; padding: 14px; background: #f4f2eb; border: 1px solid var(--line); border-radius: 12px; }
.privacy-customer-select .field { margin: 0; }
.privacy-customer-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.privacy-customer-facts span, .privacy-erasure-summary span { display: grid; gap: 2px; padding: 9px 11px; background: white; border: 1px solid var(--line); border-radius: 9px; color: var(--muted); font-size: .7rem; }
.privacy-customer-facts strong, .privacy-erasure-summary strong { color: var(--ink); font-size: .94rem; }
.privacy-status { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 16px; padding: 12px 14px; border-radius: 11px; border: 1px solid #bcd1bf; background: #edf5ed; color: var(--forest); }
.privacy-status.is-scheduled { border-color: #ddcd9b; background: #f7f1df; color: #75580d; }
.privacy-status.is-due { border-color: #e0b2a8; background: #f9e9e5; color: #983e2d; }
.privacy-status > svg { width: 20px; flex: 0 0 auto; }
.privacy-status > div { display: grid; gap: 2px; }
.privacy-status p { margin: 0; color: inherit; font-size: .74rem; }
.privacy-access-request { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: -7px 0 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: #f4f2eb; }
.privacy-access-request.is-open { border-color: #c9c3a7; background: #f7f3e6; }
.privacy-access-request.is-due { border-color: #e0b2a8; background: #f9e9e5; }
.privacy-access-request > div:first-child { display: grid; gap: 2px; min-width: 0; }
.privacy-access-request small { color: var(--muted); font-size: .68rem; }
.privacy-access-request-actions { display: flex; gap: 7px; align-items: center; flex: 0 0 auto; }
.privacy-access-request-actions .input { width: 150px; min-height: 38px; }
.privacy-workflow-grid { display: grid; gap: 12px; }
.privacy-workflow-card { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.privacy-workflow-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; margin-bottom: 15px; }
.privacy-workflow-head > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: white; font-weight: 800; }
.privacy-workflow-head h3 { margin: 0 0 3px; font-size: 1rem; }
.privacy-workflow-head p { margin: 0; color: var(--muted); font-size: .74rem; }
.privacy-export-actions, .privacy-schedule-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.privacy-last-action { display: block; margin: 9px 0 12px; color: var(--muted); }
.privacy-schedule-actions { justify-content: flex-end; margin-top: 13px; }
.privacy-erasure-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
.privacy-erase-card { border-color: #dfc2bb; background: #fffdfc; }
.privacy-legal-note { margin-top: 14px; }
.incident-selector { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 12px; align-items: end; margin-bottom: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #f4f2eb; }
.incident-selector .field { margin: 0; }
.incident-legal-note { margin-bottom: 14px; }
.incident-legal-note small { display: block; margin-top: 3px; color: var(--muted); line-height: 1.45; }
.incident-form { display: grid; gap: 13px; }
.incident-form-section, .incident-timeline, .incident-export { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.incident-section-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 11px; align-items: start; margin-bottom: 15px; }
.incident-section-head > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--forest); color: white; font-weight: 800; }
.incident-section-head h3, .incident-export h3 { margin: 0 0 3px; font-size: 1rem; }
.incident-section-head p, .incident-export > p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.45; }
.incident-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.incident-fieldset legend { margin-bottom: 7px; color: var(--ink); font-size: .75rem; font-weight: 800; }
.incident-check-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.incident-check-grid.is-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.incident-check { min-width: 0; display: flex; align-items: flex-start; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #f8f7f2; color: var(--ink); font-size: .73rem; line-height: 1.35; cursor: pointer; }
.incident-check input { width: 17px; height: 17px; flex: 0 0 auto; margin: 0; accent-color: var(--forest); }
.incident-risk-card, .incident-deadline { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 14px; padding: 12px 13px; border: 1px solid #c9d4cc; border-radius: 10px; background: #eef4ef; color: var(--forest); }
.incident-risk-card.risk-medium { border-color: #ddcd9b; background: #f7f1df; color: #75580d; }
.incident-risk-card.risk-high, .incident-deadline.is-overdue { border-color: #e0b2a8; background: #f9e9e5; color: #983e2d; }
.incident-deadline.is-done { border-color: #bcd1bf; background: #edf5ed; color: var(--forest); }
.incident-risk-card > svg, .incident-deadline > svg { width: 20px; flex: 0 0 auto; }
.incident-risk-card p, .incident-deadline p { margin: 2px 0 0; color: inherit; font-size: .72rem; line-height: 1.4; }
.incident-workflow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.incident-decision { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: #f8f7f2; }
.incident-decision h4 { margin: 0 0 12px; font-size: .88rem; }
.incident-decision .field:last-child { margin-bottom: 0; }
.incident-timeline, .incident-export { margin-top: 13px; }
.incident-timeline-list { display: grid; gap: 7px; }
.incident-timeline-list article { display: grid; grid-template-columns: 145px 110px minmax(0, 1fr); gap: 9px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #f8f7f2; font-size: .72rem; }
.incident-timeline-list time { color: var(--muted); }
.incident-timeline-list p { margin: 0; line-height: 1.45; overflow-wrap: anywhere; }
.incident-timeline-add { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(150px, .6fr); gap: 10px; align-items: end; margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }
.incident-timeline-add .field { margin: 0; }
.incident-timeline-add .field-full { grid-column: 1 / -1; }
.incident-timeline-add .button { justify-self: start; }
.incident-export-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.incident-export-actions .button { text-decoration: none; }
.production-check-loading { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 9px; padding: 30px; text-align: center; }
.production-check-loading > svg { width: 34px; color: var(--forest); animation: production-spin 1.1s linear infinite; }
.production-check-loading.is-error > svg { color: var(--terra); animation: none; }
.production-check-loading h3 { margin: 0; }
.production-check-loading p { max-width: 520px; margin: 0 0 8px; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.production-check-decision { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; padding: 15px; border: 1px solid #bcd1bf; border-radius: 12px; background: #edf5ed; color: var(--forest); }
.production-check-decision.decision-not-ready { border-color: #e0b2a8; background: #f9e9e5; color: #983e2d; }
.production-check-decision.decision-manual-review, .production-check-decision.decision-ready-with-warnings { border-color: #ddcd9b; background: #f7f1df; color: #75580d; }
.production-check-decision > svg { width: 24px; flex: 0 0 auto; }
.production-check-decision p { margin: 3px 0 0; color: inherit; font-size: .75rem; line-height: 1.45; }
.production-check-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-bottom: 9px; }
.production-check-summary span { display: grid; gap: 1px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #f8f7f2; color: var(--muted); font-size: .67rem; }
.production-check-summary strong { color: var(--ink); font-size: 1.12rem; }
.production-check-summary .is-pass { border-color: #bcd1bf; background: #edf5ed; }
.production-check-summary .is-blocker { border-color: #e0b2a8; background: #f9e9e5; }
.production-check-summary .is-warning, .production-check-summary .is-manual { border-color: #ddcd9b; background: #f7f1df; }
.production-check-meta { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; color: var(--muted); font-size: .67rem; }
.production-check-group + .production-check-group { margin-top: 18px; }
.production-check-group > h3 { margin: 0 0 8px; font-size: .9rem; }
.production-check-list { display: grid; gap: 7px; }
.production-check-item { min-width: 0; display: grid; grid-template-columns: 138px minmax(0, 1fr); gap: 12px; padding: 12px; border: 1px solid var(--line); border-left-width: 4px; border-radius: 10px; background: white; }
.production-check-item.is-pass { border-left-color: #39805a; }
.production-check-item.is-blocker { border-left-color: #b84a36; background: #fffdfc; }
.production-check-item.is-warning, .production-check-item.is-manual { border-left-color: #b18a2a; background: #fffef9; }
.production-check-item-status { display: flex; align-items: flex-start; gap: 6px; color: var(--muted); font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .03em; }
.production-check-item-status svg { width: 17px; flex: 0 0 auto; }
.production-check-item.is-pass .production-check-item-status { color: #286042; }
.production-check-item.is-blocker .production-check-item-status { color: #a43d2d; }
.production-check-item.is-warning .production-check-item-status, .production-check-item.is-manual .production-check-item-status { color: #7a5b12; }
.production-check-item h4 { margin: 0 0 3px; font-size: .82rem; }
.production-check-item p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.production-check-item small { display: block; margin-top: 7px; color: #4f5c54; font-size: .68rem; line-height: 1.45; }
.production-check-scope { margin-top: 17px; }
.production-check-scope small { display: block; margin-top: 3px; color: var(--muted); line-height: 1.45; }
@keyframes production-spin { to { transform: rotate(360deg); } }
.backup-restore-test-passed small { display: block; margin-top: 4px; color: var(--muted); font-size: .67rem; line-height: 1.4; }
.legacy-backup-details { margin: 4px 0 16px; border: 1px solid var(--line); border-radius: 12px; background: #f5f3ed; overflow: hidden; }
.legacy-backup-details summary { padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
.legacy-backup-details summary > span:first-child { display: grid; gap: 2px; }
.legacy-backup-details summary small { color: var(--muted); font-size: .68rem; }
.legacy-backup-details > div { padding: 0 15px 15px; }
.legacy-backup-details p { color: var(--muted); font-size: .74rem; line-height: 1.45; }

.legal-links { display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: var(--muted); font-size: .76rem; }
.legal-links a { color: inherit; text-underline-offset: 3px; }
.legal-links a:hover { color: var(--forest); }
.login-legal-links { width: 100%; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.site-legal-footer { min-height: 66px; padding: 20px max(20px, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(49,95,72,.14); background: rgba(255,253,248,.78); color: var(--muted); font-size: .75rem; }
.customer-legal-footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
.admin-legal-footer { margin-left: 250px; }
.setting-action-group { margin-top: 15px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.setting-action-group .button { text-decoration: none; }

.legal-page { min-height: 100vh; display: flex; flex-direction: column; background: var(--cream); }
.legal-page-width { width: min(900px, calc(100% - 40px)); margin-inline: auto; }
.legal-topbar { position: sticky; top: 0; z-index: 20; padding: 15px 0; background: var(--forest); color: white; box-shadow: 0 8px 28px rgba(24,54,40,.12); }
.legal-topbar .legal-page-width { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.legal-topbar .button { color: white; border-color: rgba(255,255,255,.35); }
.legal-topbar .button:hover { color: white; background: rgba(255,255,255,.1); }
.legal-main { flex: 1; padding: clamp(35px, 6vw, 75px) 0; }
.legal-document { padding: clamp(25px, 5vw, 58px); border: 1px solid var(--line); border-radius: 22px; background: var(--paper); box-shadow: var(--shadow); }
.legal-kicker { margin-bottom: 12px; color: var(--terra); font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.legal-document > h1 { margin-bottom: 14px; font-size: clamp(2.35rem, 7vw, 4.4rem); }
.legal-lead { max-width: 680px; margin-bottom: 35px; color: var(--muted); font-size: 1rem; }
.legal-document section { padding: 25px 0 5px; border-top: 1px solid var(--line); }
.legal-document section h2 { margin-bottom: 12px; font-size: clamp(1.25rem, 3vw, 1.65rem); letter-spacing: -.02em; }
.legal-document section p, .legal-document section li { color: #4f5c54; font-size: .9rem; line-height: 1.72; }
.legal-document section ul { margin: 0 0 16px; padding-left: 21px; }
.legal-document section li + li { margin-top: 8px; }
.legal-document a { color: var(--forest); text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-missing-value { color: #9a482f; font-style: italic; }
.legal-updated { margin-top: 18px; font-size: .78rem !important; font-weight: 800; }
.legal-owner-warning { margin: 0 0 28px; padding: 16px; display: flex; align-items: flex-start; gap: 12px; border: 1px solid #e5c38b; border-radius: 13px; background: #fbf1dc; color: #704e14; }
.legal-owner-warning > svg { width: 22px; flex: 0 0 auto; }
.legal-owner-warning p { margin: 4px 0 11px; color: #765d31; font-size: .78rem; line-height: 1.5; }
.legal-page-footer { padding-inline: max(20px, calc((100% - 900px) / 2)); }

.legal-settings-form { display: grid; gap: 16px; }
.legal-settings-status { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid #bcd1bf; border-radius: 12px; background: #edf5ed; color: var(--forest); }
.legal-settings-status.is-incomplete { border-color: #e5c38b; background: #fbf1dc; color: #704e14; }
.legal-settings-status > svg { width: 22px; flex: 0 0 auto; }
.legal-settings-status p { margin: 4px 0 0; color: var(--muted); font-size: .73rem; line-height: 1.45; }
.legal-settings-section { padding: 17px; border: 1px solid var(--line); border-radius: 14px; background: #f8f6ef; }
.legal-settings-section-head { margin-bottom: 18px; display: flex; align-items: flex-start; gap: 12px; }
.legal-settings-section-head > span { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--forest); color: white; font-size: .69rem; font-weight: 850; }
.legal-settings-section-head h3 { margin: 1px 0 3px; color: var(--forest); }
.legal-settings-section-head p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.45; }
.legal-settings-section .form-grid { margin-bottom: -16px; }

@media (min-width: 701px) and (max-width: 900px) {
  .admin-legal-footer { margin-left: 78px; }
}

@media print {
  @page { size: A4 landscape; margin: 12mm; }
  @page pack-slip-page { size: A4 portrait; margin: 12mm; }
  @page customer-order-page { size: A4 portrait; margin: 12mm; }
  @page order-totals-page { size: A4 portrait; margin: 12mm; }
  @page statistics-page { size: A4 landscape; margin: 10mm; }
  html, body { min-height: 0 !important; height: auto !important; overflow: visible !important; background: white !important; }

  /* Druckmodal vollständig aus dem App-Layout lösen. Versteckte App-Bereiche
     belegen dadurch keine zusätzlichen Druckseiten mehr. */
  body:has(.modal-backdrop) > *:not(#app) { display: none !important; }
  body:has(.modal-backdrop) #app > *:not(.modal-backdrop) { display: none !important; }
  body:has(.modal-backdrop) .modal-backdrop { position: static !important; inset: auto !important; display: block !important; padding: 0 !important; background: white !important; backdrop-filter: none !important; animation: none !important; }
  body:has(.modal-backdrop) .modal { position: static !important; width: 100% !important; max-width: none !important; max-height: none !important; overflow: visible !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; animation: none !important; }
  body:has(.modal-backdrop) .modal-head,
  body:has(.modal-backdrop) .modal-foot { display: none !important; }
  body:has(.modal-backdrop) .modal-body { padding: 0 !important; overflow: visible !important; }

  /* Die Statistik ist die einzige direkte Druckansicht ohne Modal. */
  body:not(:has(.modal-backdrop)) .admin-shell > *:not(.admin-layout),
  body:not(:has(.modal-backdrop)) .admin-sidebar,
  body:not(:has(.modal-backdrop)) .admin-main > *:not(#print-report),
  body:not(:has(.modal-backdrop)) #toast { display: none !important; }
  body:not(:has(.modal-backdrop)) .admin-layout { display: block !important; min-height: 0 !important; }
  body:not(:has(.modal-backdrop)) .admin-main { width: 100% !important; max-width: none !important; padding: 0 !important; }

  #print-report { position: static !important; inset: auto !important; width: 100% !important; max-width: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important; }
  .print-report-head { padding-bottom: 3mm; }
  .report-section { margin-top: 4mm; }
  .report-section-title { padding-bottom: 2mm; }
  .report-table { margin-top: 3mm; font-size: 7.5pt; }
  .report-table th { padding: 1.8mm 2mm; font-size: 6.8pt; }
  .report-table td { padding: 2mm; line-height: 1.3; }
  .report-table tr { break-inside: avoid; }

  .aggregate-product-head { margin-top: 3mm; padding: 1.8mm 2mm; font-size: 6.8pt; }
  .aggregate-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aggregate-product-item { min-height: 13mm; padding: 2mm; gap: 1mm 2mm; break-inside: avoid; }
  .aggregate-product-copy strong, .aggregate-total-quantity strong { font-size: 8pt; }
  .aggregate-product-copy small, .aggregate-total-quantity small, .aggregate-breakdown { font-size: 6.5pt; }
  .aggregate-breakdown { padding-top: 1mm; }

  .pack-slip { page: pack-slip-page; min-height: 0; font-size: 8pt; }
  .pack-slip-batch { display: block; background: white; }
  .pack-slip-batch > .pack-slip { min-height: 0; padding: 0; border: 0; border-radius: 0; break-after: page; }
  .pack-slip-batch > .pack-slip:last-child { break-after: auto; }
  .pack-slip-title { padding-bottom: 2mm; }
  .pack-slip-title h2 { font-size: 16pt; }
  .pack-summary-table { margin: 2.5mm 0 3mm; }
  .pack-summary-table th { padding: 1mm 1.5mm; font-size: 6pt; }
  .pack-summary-table td { padding: 1.5mm; font-size: 7.3pt; }
  .pack-summary-table strong { font-size: 7.8pt; }
  .pack-summary-table small { font-size: 6.3pt; }
  .pack-section-head { margin-bottom: 1.5mm; }
  .pack-section-head h3 { font-size: 9pt; }
  .pack-product-head { grid-template-columns: 7mm minmax(0, 1fr) auto; padding: 1.2mm 1.8mm; font-size: 6.2pt; }
  .pack-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pack-product-item { min-height: 10mm; grid-template-columns: 7mm minmax(0, 1fr) auto; gap: 1.5mm; padding: 1.2mm 1.8mm; break-inside: avoid; }
  .pack-product-copy strong, .pack-product-amount strong { font-size: 7.5pt; }
  .pack-product-copy small, .pack-product-amount small { font-size: 6.2pt; }
  .paper-check, .pack-complete .paper-check { width: 4.5mm; height: 4.5mm; }
  .pack-note-line { min-height: 8mm; margin-top: 2.5mm; padding: 1.5mm 2mm; font-size: 7pt; }
  .pack-complete { margin-top: 2mm; padding: 1.5mm 2mm; }
  .pack-complete strong { font-size: 7.5pt; }
  .pack-signature { font-size: 6.5pt; }
  .pack-slip .print-report-foot { padding-top: 2mm; font-size: 6.5pt; }

  .customer-order-receipt { page: customer-order-page; min-height: 0; font-size: 8pt; }
  .receipt-meta { gap: 2mm; margin: 3mm 0 4mm; }
  .receipt-meta > div { min-height: 18mm; padding: 2mm; border-radius: 0; }
  .receipt-meta span { font-size: 6.2pt; }
  .receipt-meta strong { font-size: 8.5pt; }
  .receipt-meta small { font-size: 6.8pt; }
  .receipt-products-head { padding: 1.8mm 2mm; font-size: 6.5pt; }
  .receipt-products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .receipt-product-item { min-height: 11mm; padding: 1.8mm 2mm; break-inside: avoid; }
  .receipt-product-copy strong, .receipt-product-quantity { font-size: 7.5pt; }
  .receipt-product-copy small { font-size: 6.5pt; }
  .receipt-product-quantity { padding: 1mm 1.5mm; border-radius: 0; }
  .receipt-notes { margin-top: 3mm; padding: 2mm; border-radius: 0; break-inside: avoid; }
  .receipt-notes p { margin-top: 1mm; font-size: 7pt; }
  .receipt-legal { margin-top: 3mm; font-size: 6.5pt; }
  .customer-order-receipt .print-report-foot { padding-top: 2.5mm; font-size: 6.5pt; }

  .order-totals-report { page: order-totals-page; }
  .statistics-report { page: statistics-page; display: block; font-size: 9pt; }
  .statistics-print-head { display: flex; margin-bottom: 6mm; }
  .statistics-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 5mm; }
  .statistics-metrics article, .statistics-card, .statistics-insights article { box-shadow: none; }
  .statistics-layout, .statistics-layout-even { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 5mm; }
  .statistics-card:not(.statistics-table-card), .statistics-insights, .statistics-metrics { break-inside: avoid; }
  .statistics-insights { margin-bottom: 5mm; }
  .statistics-table-card { margin-bottom: 5mm; }
  .statistics-table thead { display: table-header-group; }
  .statistics-table tr { break-inside: avoid; }
  .pack-summary-table, .pack-note-line, .pack-complete { break-inside: avoid; }
  .legal-topbar, .legal-page-footer, .legal-owner-warning { display: none !important; }
  .legal-main { padding: 0 !important; }
  .legal-page-width { width: 100% !important; }
  .legal-document { page: customer-order-page; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  .legal-document section { break-inside: avoid; }
}

@media (max-width: 700px) {
  .backup-health-grid, .backup-actions-secure, .backup-passphrase-grid { grid-template-columns: 1fr; }
  .privacy-customer-select { grid-template-columns: 1fr; padding: 12px; }
  .privacy-access-request, .privacy-access-request-actions { align-items: stretch; flex-direction: column; }
  .privacy-access-request-actions .input, .privacy-access-request-actions .button { width: 100%; }
  .privacy-customer-facts { grid-template-columns: 1fr; }
  .privacy-workflow-card { padding: 13px; }
  .privacy-export-actions, .privacy-schedule-actions { align-items: stretch; flex-direction: column; }
  .privacy-export-actions .button, .privacy-schedule-actions .button, .privacy-erase-card .button { width: 100%; }
  .privacy-erasure-summary { grid-template-columns: 1fr; }
  .incident-selector, .incident-workflow, .incident-check-grid, .incident-check-grid.is-wide, .incident-timeline-add { grid-template-columns: 1fr; }
  .incident-selector .button, .incident-export-actions .button { width: 100%; }
  .incident-form-section, .incident-timeline, .incident-export { padding: 13px; }
  .incident-timeline-list article { grid-template-columns: 1fr; gap: 3px; }
  .incident-timeline-add .field-full { grid-column: auto; }
  .incident-timeline-add .button { width: 100%; }
  .production-check-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .production-check-meta { flex-direction: column; gap: 3px; }
  .production-check-item { grid-template-columns: 1fr; gap: 7px; }
  .backup-health-grid .backup-automatic-status { flex-wrap: wrap; }
  .backup-health-grid .backup-automatic-status .button { width: 100%; margin-left: 0; }
  .backup-actions-secure > section { grid-template-columns: 38px minmax(0, 1fr); padding: 13px; }
  .backup-actions-secure .setting-icon { width: 38px; height: 38px; }
  .backup-actions-secure .button { width: 100%; }
  .site-legal-footer { padding-inline: 16px; flex-direction: column; justify-content: center; gap: 8px; text-align: center; }
  .admin-legal-footer { margin-left: 0; padding-bottom: 88px; }
  .legal-page-width { width: min(100% - 24px, 900px); }
  .legal-topbar .brand-place, .legal-topbar .brand-name { display: none; }
  .legal-topbar .button { min-height: 38px; padding: 7px 9px; font-size: .74rem; }
  .legal-document { padding: 22px 18px; border-radius: 16px; }
  .legal-document > h1 { font-size: clamp(1.75rem, 8vw, 2.15rem); overflow-wrap: anywhere; }
  .legal-lead { margin-bottom: 25px; }
  .legal-document section { padding-top: 21px; }
  .legal-settings-section { padding: 13px; }
  .legal-settings-section .form-grid { grid-template-columns: 1fr; }
  .legal-settings-section .field-full { grid-column: auto; }
  .setting-action-group { align-items: stretch; flex-direction: column; }
  .setting-action-group .button { width: 100%; }
  .audit-entry { grid-template-columns: 1fr; gap: 5px; }
  .branding-preview { align-items: flex-start; }
  .branding-preview-rich { padding-right: 18px; flex-wrap: wrap; }
  .branding-preview-image-count { position: static; width: 100%; }
  .branding-login-image, .customer-logo-editor, .brand-image-editor-grid, .brand-gallery-editor-grid { grid-template-columns: 1fr; }
  .brand-studio-section { padding: 13px; }
  .brand-image-preview, .brand-gallery-editor-grid .brand-image-preview { height: 145px; }
  .customer-logo-preview { width: 100%; height: 110px; }
  .brand-logo { height: 50px; max-width: 136px; }
  html[data-brand-logo-size="compact"] .brand-logo { height: 38px; max-width: 110px; }
  html[data-brand-logo-size="standard"] .brand-logo { height: 44px; max-width: 126px; }
  html[data-brand-logo-size="large"] .brand-logo { height: 52px; max-width: 145px; }
  .customer-hero.hero-layout-split { grid-template-columns: 1fr; }
  .customer-hero.hero-layout-split .hero-copy { padding: 20px; }
  .customer-hero.hero-layout-split .customer-hero-media { min-height: 210px; }
  .customer-hero.hero-layout-cover { min-height: 410px; padding: 22px; }
  .customer-hero.hero-layout-cover::before { background: linear-gradient(0deg, rgba(10,29,21,.62), rgba(10,29,21,.08)); }
  .customer-hero.hero-layout-strip .hero-copy { padding: 20px; }
  .customer-hero.hero-layout-strip .customer-hero-media { height: 190px; }
  .brand-story-gallery { grid-template-columns: 1fr; gap: 8px; }
  .brand-story-gallery figure { height: 190px; }
  .pack-document-brands { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .pack-document-brand { padding: 7px 4px 0; border: 1px solid var(--line); }
  .pack-document-brand .print-brand-logo, .pack-document-brand .print-logo, .document-customer-logo { width: 92px; max-width: 100%; height: 46px; }
  .admin-list-search { max-width: none; }
  .delivery-weekday-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .order-total-meta { grid-template-columns: 1fr; }
}
