:root {
  --ink: #17251d;
  --green: #214f3f;
  --paper: #f8f5ef;
  --line: rgba(23, 37, 29, .12);
  --muted: #667066;
  --pink: #bd6370;
  --mint: #e6f3ec;
  --white: #fff;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  min-height: 100dvh;
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(189, 99, 112, .16), transparent 30rem),
    linear-gradient(180deg, #fff 0%, var(--paper) 60%, #ece7dc 100%);
}

.merchant-launch-mode {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 15% 0, rgba(239, 196, 200, .38), transparent 32rem),
    linear-gradient(180deg, #fff 0%, #f8f5ef 76%, #eee5d2 100%);
}

.merchant-launch-mode .admin-app {
  display: none;
}

.merchant-public-launch {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: clamp(18px, 5vw, 48px);
}

.merchant-public-launch-card {
  width: min(560px, 100%);
  display: grid;
  gap: 16px;
  padding: clamp(24px, 6vw, 44px);
  border: 1px solid rgba(189, 99, 112, .18);
  border-radius: 34px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 24px 70px rgba(38, 52, 45, .13);
  text-align: center;
}

.merchant-public-launch-card .launch-brand {
  justify-self: center;
  color: var(--ink);
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -1.4px;
  text-decoration: none;
}

.merchant-public-launch-card .launch-brand b {
  color: var(--pink);
}

.merchant-public-launch-card .eyebrow {
  color: #9a6870;
}

.merchant-public-launch-card h1 {
  margin: 0;
  font-size: clamp(34px, 8vw, 56px);
  line-height: 1.02;
}

.merchant-public-launch-card p {
  margin: 0 auto;
  max-width: 470px;
  color: #5f6863;
  font-size: clamp(15px, 3.7vw, 18px);
  line-height: 1.55;
}

.instagram-qr-link {
  justify-self: center;
  display: block;
  width: min(340px, 88vw);
  margin-top: 4px;
  border-radius: 28px;
  overflow: hidden;
  background: white;
  box-shadow: 0 18px 44px rgba(38, 52, 45, .14);
  transition: transform .22s ease, box-shadow .22s ease;
}

.instagram-qr-link:hover,
.instagram-qr-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 24px 60px rgba(38, 52, 45, .18);
  outline: 0;
}

.instagram-qr-link img {
  display: block;
  width: 100%;
  height: auto;
}

.merchant-launch-mode .merchant-public-launch {
  min-height: 100svh;
  width: 100%;
  align-items: center;
  justify-items: center;
  padding: clamp(10px, 3vw, 28px);
}

.merchant-launch-mode .merchant-public-launch-card {
  width: min(520px, 100%);
  min-height: min(760px, calc(100svh - 20px));
  align-content: center;
  justify-items: center;
  gap: clamp(8px, 1.55svh, 14px);
  padding: clamp(18px, 5vw, 34px);
}

.merchant-public-launch-card .launch-brand {
  margin-bottom: -3px;
  font-size: clamp(26px, 8vw, 34px);
}

.merchant-public-launch-card h1 {
  display: grid;
  justify-items: center;
  gap: 2px;
  max-width: 430px;
  font-size: clamp(34px, 9vw, 50px);
  text-align: center;
}

.launch-flower {
  display: block;
  font-size: .75em;
  line-height: 1;
}

.merchant-public-launch-card p {
  max-width: 440px;
  font-size: clamp(14px, 3.8vw, 17px);
}

.launch-inline-brand {
  color: var(--ink);
  font-weight: 900;
  letter-spacing: -.03em;
  white-space: nowrap;
}

.launch-inline-brand b {
  color: var(--pink);
}

.instagram-qr-link {
  position: relative;
  width: min(285px, 72vw);
  padding: 10px;
  border: 1px solid rgba(212, 145, 0, .34);
  border-radius: 26px;
  transform-origin: center bottom;
  animation: qrPressHint 3.2s ease-in-out infinite;
}

.instagram-qr-link img {
  border-radius: 18px;
}

.instagram-qr-cta {
  display: grid;
  place-items: center;
  min-height: 38px;
  margin-top: 9px;
  border-radius: 16px;
  color: white;
  background: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .1px;
}

.instagram-qr-link:active {
  transform: translateY(5px) scale(.985);
  box-shadow: 0 8px 16px rgba(38, 52, 45, .18);
}

@keyframes qrPressHint {
  0%, 74%, 100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 18px 44px rgba(38, 52, 45, .14);
  }
  82% {
    transform: translateY(6px) scale(.982);
    box-shadow: 0 7px 14px rgba(38, 52, 45, .2);
  }
  90% {
    transform: translateY(0) scale(1.01);
    box-shadow: 0 22px 52px rgba(38, 52, 45, .18);
  }
}

@media(max-width: 540px) {
  .merchant-launch-mode .merchant-public-launch {
    padding: 0;
  }

  .merchant-launch-mode .merchant-public-launch-card {
    min-height: 100svh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media(prefers-reduced-motion: reduce) {
  .instagram-qr-link {
    animation: none;
  }
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

.full {
  width: 100%;
  grid-column: 1 / -1;
}

.admin-app {
  width: min(820px, 100%);
  max-width: 100%;
  margin: 0 auto;
  padding: calc(22px + env(safe-area-inset-top)) 16px calc(44px + env(safe-area-inset-bottom));
  overflow-x: hidden;
}

.admin-header {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

.admin-header a {
  justify-self: start;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--green);
  background: white;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
}

h1,
h2,
p {
  margin-top: 0;
}

h1 {
  max-width: 600px;
  margin: 7px 0 8px;
  font-family: Georgia, serif;
  font-size: clamp(38px, 9vw, 64px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -2px;
}

h2 {
  margin: 6px 0 12px;
  font-size: 24px;
  letter-spacing: -.6px;
}

p,
small {
  color: var(--muted);
  line-height: 1.5;
}

.eyebrow,
label span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.fixed-bonus,
.panel {
  margin-bottom: 13px;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 25px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 44px rgba(23, 37, 29, .08);
}

.fixed-bonus {
  color: white;
  border: 0;
  background: linear-gradient(145deg, #315f4c, #1c3b30);
}

.fixed-bonus span,
.fixed-bonus p {
  color: rgba(255, 255, 255, .72);
}

.fixed-bonus strong {
  display: block;
  margin: 8px 0 6px;
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 500;
}

.admin-view[data-admin-panel="home"] > .panel:first-of-type {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}

label {
  display: grid;
  gap: 7px;
  font-weight: 900;
}

input,
select,
textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 13px 14px;
  color: var(--ink);
  background: white;
  outline: 0;
  font-size: 16px;
  font-weight: 800;
}

textarea {
  min-height: 128px;
  resize: vertical;
  line-height: 1.45;
  font-weight: 700;
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(33, 79, 63, .55);
  box-shadow: 0 0 0 4px rgba(33, 79, 63, .12);
}

button {
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  padding: 13px 16px;
  color: white;
  background: var(--green);
  font-weight: 900;
}

button.secondary {
  color: var(--green);
  border: 1px solid var(--line);
  background: white;
}

.primary {
  width: 100%;
  margin-top: 13px;
  background: var(--pink);
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 12px;
}

.profile-panel {
  display: grid;
  gap: 12px;
}

.profile-panel p {
  margin-bottom: 0;
}

.check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 4px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fbfaf6;
}

.check-row input {
  width: 22px;
  min-height: 22px;
  flex: 0 0 auto;
  accent-color: var(--green);
}

.check-row span {
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}

.terms-row {
  border-color: rgba(189, 99, 112, .28);
  background: #fff7f8;
}

.contract-note {
  padding: 11px 13px;
  border-radius: 14px;
  color: var(--green);
  background: var(--mint);
  font-weight: 900;
}

.form-panel > label {
  margin-top: 12px;
}

.image-picker {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 15px;
  border: 1px dashed rgba(33, 79, 63, .28);
  border-radius: 20px;
  background: #fbfaf6;
}

.image-picker h3 {
  margin: 0;
  font-size: 18px;
}

.image-picker p {
  margin: 0;
  font-size: 13px;
}

.image-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}

.file-button {
  display: grid;
  place-items: center;
  min-height: 48px;
  border-radius: 15px;
  color: white;
  background: var(--green);
  font-weight: 900;
  text-align: center;
}

.file-button.secondary {
  color: var(--green);
  border: 1px solid var(--line);
  background: white;
}

.crop-frame {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
  border: 1px solid var(--line);
  border-radius: 20px;
  background:
    linear-gradient(45deg, rgba(33, 79, 63, .05) 25%, transparent 25% 75%, rgba(33, 79, 63, .05) 75%),
    linear-gradient(45deg, rgba(33, 79, 63, .05) 25%, transparent 25% 75%, rgba(33, 79, 63, .05) 75%);
  background-position: 0 0, 12px 12px;
  background-size: 24px 24px;
}

.crop-frame canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.crop-frame:after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 2px solid rgba(255, 255, 255, .72);
  border-radius: 16px;
  box-shadow: 0 0 0 999px rgba(23, 37, 29, .08);
  pointer-events: none;
}

#imagePlaceholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  color: var(--muted);
  font-weight: 900;
  text-align: center;
}

.zoom-control {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
}

.zoom-control input {
  min-height: auto;
  padding: 0;
}

.discount-warning {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 15px;
  border: 2px solid #c83c4e;
  border-radius: 18px;
  color: #8f1f2f;
  background: #fff1f3;
}

.discount-warning strong {
  font-size: 15px;
}

.discount-warning p {
  margin: 0;
  color: #8f1f2f;
  font-weight: 900;
}

.discount-warning div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

button.danger {
  background: #c83c4e;
}

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

.promotion-list {
  display: grid;
  gap: 10px;
}

.promotion-card {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
}

.promotion-thumb {
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 16px;
  background: var(--mint);
}

.promotion-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.promotion-thumb span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--green);
  font-size: 26px;
  font-weight: 900;
}

.promotion-card h3 {
  margin: 0 0 5px;
  font-size: 17px;
}

.promotion-card p {
  margin: 0;
  font-size: 13px;
}

.promotion-value {
  align-self: start;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--pink);
  background: #f7e1e4;
  font-size: 13px;
  font-weight: 900;
}

.promotion-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 8px;
}

.promotion-metrics span {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--green);
  background: var(--mint);
  font-size: 11px;
  font-weight: 900;
}

.promotion-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.promotion-actions button {
  min-height: 42px;
  font-size: 13px;
}

.promotion-card.paused,
.promotion-card.draft,
.promotion-card.ended {
  opacity: .62;
}

.toast {
  position: fixed;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom));
  z-index: 20;
  max-width: min(520px, calc(100% - 28px));
  transform: translate(-50%, 16px);
  padding: 13px 16px;
  border-radius: 16px;
  color: white;
  background: var(--ink);
  opacity: 0;
  pointer-events: none;
  transition: .22s ease;
  box-shadow: 0 16px 40px rgba(23, 37, 29, .22);
  font-weight: 800;
}

.toast.show {
  transform: translate(-50%, 0);
  opacity: 1;
}

@media (max-width: 640px) {
  .admin-view[data-admin-panel="home"] > .panel:first-of-type,
  .grid,
  .merchant-auth-grid,
  .image-actions,
  .discount-warning div,
  .promotion-card,
  .promotion-actions {
    grid-template-columns: 1fr;
  }

  .promotion-price-grid {
    grid-template-columns: 1fr 1fr;
  }

  .section-title {
    display: grid;
  }

  .merchant-auth-hero,
  .merchant-auth-card {
    padding: 20px;
    border-radius: 26px;
  }
}

.admin-topbar {
  position: relative;
  top: auto;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: calc(-22px - env(safe-area-inset-top)) -16px 12px;
  padding: calc(16px + env(safe-area-inset-top)) 16px 12px;
  background: rgba(248, 245, 239, .92);
  backdrop-filter: blur(14px);
}

.merchant-boot-error {
  margin: 0 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(159, 83, 96, .28);
  border-radius: 16px;
  color: #7f3442;
  background: #fff1f3;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.admin-brand {
  display: grid;
  color: var(--ink);
  text-decoration: none;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -1px;
  line-height: .9;
}

.admin-brand .brand-name {
  display: flex;
  align-items: flex-start;
}

.admin-brand b {
  color: var(--pink);
}

.brand-tm {
  display: inline-block;
  margin-left: 2px;
  color: var(--pink);
  font-size: .34em;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(-.55em);
}

.store-media-box,
.opening-hours-box {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding: 18px;
  border: 1px solid rgba(33,79,63,.16);
  border-radius: 22px;
  background: #f7fbf8;
}

.store-media-box h3,
.opening-hours-box h3 {
  margin: 0;
  font-size: 18px;
}

.store-media-box p,
.opening-hours-box p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.store-media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.store-media-grid article {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.store-media-grid b {
  font-size: 12px;
}

.store-image-preview {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 116px;
  overflow: hidden;
  border: 1px dashed rgba(33,79,63,.25);
  border-radius: 18px;
  color: var(--muted);
  background: white center/cover no-repeat;
  font-size: 12px;
  font-weight: 900;
}

.store-image-preview.has-image {
  border-style: solid;
  border-color: rgba(33,79,63,.16);
}

.store-image-preview.logo-preview {
  background-size: contain;
}

.upload-button {
  display: grid;
  place-items: center;
  min-height: 42px;
  padding: 10px;
  border-radius: 13px;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}

.text-button {
  min-height: auto;
  padding: 3px;
  border: 0;
  color: var(--muted);
  background: transparent;
  font-size: 11px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.opening-hours-editor {
  display: grid;
  gap: 8px;
}

.opening-row {
  display: grid;
  grid-template-columns: 82px repeat(4, minmax(0, 1fr));
  gap: 7px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
}

.opening-active {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 900;
}

.opening-active input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--green);
}

.opening-row input[type="time"] {
  min-width: 0;
  padding: 9px 7px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #fbfaf6;
  font-size: 12px;
  font-weight: 800;
}

.opening-row.closed {
  opacity: .62;
}

@media(max-width:640px) {
  .store-media-grid {
    grid-template-columns: 1fr;
  }

  .opening-row {
    grid-template-columns: 68px 1fr 1fr;
  }

  .opening-row input[data-opening-field="from2"],
  .opening-row input[data-opening-field="to2"] {
    grid-column: span 1;
  }
}

.admin-brand small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 8px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.admin-nav {
  position: sticky;
  top: calc(8px + env(safe-area-inset-top));
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
  margin: 0 0 14px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 10px 30px rgba(23, 37, 29, .07);
  backdrop-filter: blur(14px);
}

.admin-nav button {
  min-height: 44px;
  padding: 10px 6px;
  color: var(--muted);
  border-radius: 15px;
  background: transparent;
  font-size: 11px;
}

.admin-nav button.active {
  color: white;
  background: var(--green);
  box-shadow: 0 12px 24px rgba(33, 79, 63, .16);
}

.merchant-logout {
  min-height: 40px;
  padding: 9px 13px;
  border: 1px solid rgba(189, 99, 112, .28);
  color: var(--pink);
  background: #fff7f8;
  font-size: 12px;
}

.merchant-auth {
  display: grid;
  gap: 18px;
  padding-bottom: 28px;
}

.merchant-auth-hero,
.merchant-auth-card {
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 48px rgba(23, 37, 29, .08);
}

.merchant-auth-hero {
  position: relative;
  overflow: hidden;
  padding: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(248, 245, 239, .84)),
    url("season-summer.jpg") center/cover;
}

.merchant-auth-hero::after {
  content: "";
  position: absolute;
  inset: auto -40px -70px auto;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: rgba(189, 99, 112, .16);
}

.merchant-auth-hero > * {
  position: relative;
  z-index: 1;
}

.merchant-auth-hero h1 {
  max-width: 720px;
}

.merchant-auth-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 14px;
}

.merchant-auth-card {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 22px;
}

.merchant-auth-card h2 {
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: clamp(30px, 6vw, 44px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -1px;
}

.merchant-auth-card p {
  margin-bottom: 0;
  font-size: 13px;
}

.admin-view {
  display: none;
}

.admin-view.active {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  animation: adminEnter .32s ease both;
}

@keyframes adminEnter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: none; }
}

.view-head {
  margin: 12px 0 16px;
}

.view-head p {
  max-width: 620px;
  margin: 8px 0 0;
}

.admin-home-hero {
  --admin-season-image: url("season-summer.jpg");
  position: relative;
  overflow: hidden;
  min-height: min(520px, calc(100dvh - 190px));
  display: grid;
  align-content: end;
  margin-bottom: 13px;
  padding: 22px;
  border-radius: 30px;
  background: var(--green);
  box-shadow: 0 24px 55px rgba(38, 52, 45, .18);
}

.admin-home-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--admin-season-image) center/cover no-repeat;
  transform: scale(1.03);
}

.admin-home-hero:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(24, 34, 30, .08), rgba(24, 34, 30, .68));
}

.admin-home-copy {
  position: relative;
  z-index: 1;
  max-width: 520px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 24px;
  color: white;
  background: rgba(24, 34, 30, 0);
  backdrop-filter: blur(0);
  animation: adminPanelFade 1s ease 1s forwards;
}

.admin-home-copy > * {
  opacity: 0;
  animation: adminTextFade 1s ease 2s forwards;
}

.admin-home-copy .eyebrow,
.admin-home-copy p {
  color: rgba(255, 255, 255, .78);
}

.admin-home-copy h1 {
  margin-top: 8px;
  color: white;
  font-size: clamp(42px, 10vw, 72px);
}

.admin-home-copy p {
  margin-bottom: 0;
}

@keyframes adminPanelFade {
  to {
    background: rgba(24, 34, 30, .34);
    backdrop-filter: blur(14px);
  }
}

@keyframes adminTextFade {
  to { opacity: 1; }
}

.stats-grid,
.season-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 13px;
}

.stat-card,
.season-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 44px rgba(23, 37, 29, .08);
}

.stat-card span,
.season-card small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.stat-card strong {
  display: block;
  margin: 10px 0 4px;
  font-family: Georgia, serif;
  font-size: clamp(28px, 7vw, 42px);
  font-weight: 500;
}

.favorite-panel h2 strong {
  color: var(--pink);
  font-family: Georgia, serif;
  font-size: 54px;
  font-weight: 500;
}

.invoice-arrival {
  position: relative;
  display: flex;
  min-height: clamp(220px, 32vw, 280px);
  flex-direction: column;
  overflow: hidden;
  border-color: rgba(207, 84, 111, .18);
  background:
    radial-gradient(circle at 12% 18%, rgba(247, 225, 228, .95), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(246, 237, 219, .94));
}

.invoice-arrival:after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -54px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(207, 84, 111, .12);
}

.invoice-arrival h2 {
  position: relative;
  margin: 9px 0 8px;
  font-family: Georgia, serif;
  font-size: clamp(38px, 8vw, 64px);
  font-weight: 500;
  line-height: .95;
}

.invoice-arrival p,
.invoice-arrival button {
  position: relative;
  z-index: 1;
}

.invoice-arrival .eyebrow,
.invoice-arrival h2,
.invoice-arrival p,
.invoice-arrival button {
  transition: opacity .42s ease, transform .42s ease;
}

.invoice-arrival.notice-transitioning .eyebrow,
.invoice-arrival.notice-transitioning h2,
.invoice-arrival.notice-transitioning p,
.invoice-arrival.notice-transitioning button {
  opacity: 0;
  transform: translateY(10px);
}

.invoice-arrival p {
  margin: 0;
}

.invoice-arrival button {
  margin-top: auto;
}

.compact-button {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
}

.invoice-drawer {
  display: grid;
  gap: 10px;
}

.invoice-list {
  display: grid;
  gap: 9px;
}

.invoice-month-button,
.archive-button,
.invoice-year summary {
  width: 100%;
  min-height: 58px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--ink);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 28px rgba(23, 37, 29, .06);
  font-family: Georgia, serif;
  font-size: 28px;
  font-weight: 500;
  text-align: left;
}

.invoice-month-button:hover,
.archive-button:hover,
.invoice-year summary:hover {
  border-color: rgba(207, 84, 111, .24);
  background: #fff8f9;
}

.archive-button {
  margin-top: 6px;
  color: var(--green);
  font-family: inherit;
  font-size: 16px;
  font-weight: 950;
  text-align: center;
}

.invoice-archive {
  display: grid;
  gap: 10px;
}

.invoice-year {
  border: 0;
}

.invoice-year summary {
  cursor: pointer;
  list-style: none;
}

.invoice-year summary::-webkit-details-marker {
  display: none;
}

.invoice-year .invoice-list {
  margin-top: 9px;
  padding-left: 10px;
}

#invoiceDocumentDialog {
  width: min(980px, calc(100dvw - 24px));
  max-width: calc(100dvw - 24px);
  max-height: calc(100dvh - 24px);
  overflow: hidden;
  border-radius: 30px;
  background: #ece9e1;
}

.invoice-document-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  max-height: calc(100dvh - 24px);
}

.invoice-document-dialog-head {
  padding: 22px 72px 16px 24px;
  border-bottom: 1px solid rgba(24, 34, 30, .1);
  background: rgba(255, 255, 255, .94);
}

.invoice-document-dialog-head h2 {
  margin: 4px 0;
  font: 500 34px/1 Georgia, serif;
}

.invoice-document-dialog-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.invoice-document-content {
  min-height: 280px;
  overflow: auto;
  padding: clamp(12px, 3vw, 28px);
}

.invoice-document-content:empty::before {
  content: "Rechnung wird vorbereitet …";
  display: grid;
  min-height: 260px;
  place-items: center;
  color: var(--muted);
  font-weight: 850;
}

.invoice-document-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 14px 20px calc(14px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(24, 34, 30, .1);
  background: rgba(255, 255, 255, .96);
}

.invoice-document-sheet {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: clamp(24px, 6vw, 58px);
  border: 1px solid #ded9cf;
  border-radius: 8px;
  color: #18221e;
  background: #fff;
  box-shadow: 0 24px 60px rgba(24, 34, 30, .12);
}

.invoice-document-sheet p {
  margin: 0;
  color: #58635e;
  line-height: 1.55;
}

.invoice-document-brand {
  font-size: 30px;
  font-weight: 950;
  letter-spacing: -1.5px;
}

.invoice-document-brand b {
  color: #c66572;
}

.invoice-kicker {
  display: block;
  margin-bottom: 6px;
  color: #315f4c;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.invoice-document-header,
.invoice-document-addresses,
.invoice-document-payment {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, 6vw, 72px);
}

.invoice-document-header {
  align-items: start;
  padding-bottom: 30px;
  border-bottom: 2px solid #18221e;
}

.invoice-document-header > div:last-child {
  text-align: right;
}

.invoice-document-header h2 {
  margin: 0;
  font: 500 clamp(26px, 5vw, 42px)/1 Georgia, serif;
}

.invoice-document-addresses {
  padding: 28px 0;
}

.invoice-document-addresses strong {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
}

.invoice-document-meta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 14px;
  border-radius: 16px;
  background: #f6f2ea;
}

.invoice-document-meta div {
  display: grid;
  gap: 3px;
}

.invoice-document-meta span,
.invoice-document-calculation span,
.invoice-document-totals span {
  color: #68736d;
  font-size: 11px;
}

.invoice-document-meta strong {
  font-size: 12px;
}

.invoice-document-lines {
  margin-top: 28px;
  border-top: 1px solid #dcd6cb;
  border-bottom: 1px solid #dcd6cb;
}

.invoice-document-line {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(130px, 1fr) minmax(90px, auto);
  gap: 14px;
  align-items: start;
  padding: 16px 4px;
}

.invoice-document-line > span:last-child {
  font-weight: 950;
  text-align: right;
}

.invoice-document-line small {
  display: block;
  margin-top: 3px;
  color: #68736d;
}

.invoice-document-line-head {
  padding: 10px 4px;
  color: #68736d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.invoice-document-calculation,
.invoice-document-totals {
  width: min(390px, 100%);
  margin-left: auto;
  padding-top: 16px;
}

.invoice-document-calculation div,
.invoice-document-totals div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 0;
}

.invoice-document-total {
  margin-top: 8px;
  padding-top: 14px !important;
  border-top: 2px solid #18221e;
}

.invoice-document-total span,
.invoice-document-total strong {
  color: #18221e;
  font-size: 20px;
}

.invoice-document-payment {
  align-items: center;
  margin-top: 32px;
  padding: 22px;
  border-radius: 22px;
  background: #edf4ef;
}

.invoice-document-payment h3 {
  margin: 0 0 8px;
  font: 500 25px/1.1 Georgia, serif;
}

.invoice-payment-qr {
  display: grid;
  place-items: center;
}

.invoice-payment-qr img {
  display: block;
  width: min(190px, 100%);
  height: auto;
  padding: 8px;
  border-radius: 14px;
  background: #fff;
}

.invoice-document-thanks,
.invoice-document-message {
  margin-top: 24px;
  padding: 20px;
  border-radius: 20px;
}

.invoice-document-thanks {
  background: #f8e7e9;
}

.invoice-document-message {
  border: 1px dashed #c7bda9;
  background: #fffaf0;
}

.invoice-document-message strong {
  display: block;
  margin-bottom: 5px;
}

.invoice-document-warning {
  margin-bottom: 22px;
  padding: 16px 18px;
  border: 1px solid #e2a23a;
  border-radius: 16px;
  background: #fff5df;
}

.invoice-document-warning p,
.invoice-document-warning ul {
  margin: 5px 0 0;
  color: #6d4b12;
  font-size: 12px;
}

.invoice-document-sheet > footer {
  display: grid;
  gap: 6px;
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid #dcd6cb;
}

.invoice-document-sheet > footer p {
  font-size: 10px;
}

@media (max-width: 640px) {
  .invoice-document-actions,
  .invoice-document-header,
  .invoice-document-addresses,
  .invoice-document-payment {
    grid-template-columns: 1fr;
  }

  .invoice-document-header > div:last-child {
    text-align: left;
  }

  .invoice-document-meta {
    grid-template-columns: 1fr;
  }

  .invoice-document-line {
    grid-template-columns: 1fr;
  }

  .invoice-document-line-head {
    display: none;
  }

  .invoice-document-line > span:last-child {
    text-align: left;
  }

  .invoice-document-sheet {
    padding: 22px 18px;
  }
}

@media print {
  .invoice-document-sheet {
    width: 100%;
    margin: 0;
    border: 0;
    box-shadow: none;
  }
}

.rank-list {
  display: grid;
  gap: 7px;
}

.rank-row {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}

.rank-row span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: #9f5360;
  background: #f7e1e4;
  font-weight: 950;
}

.rank-row strong {
  color: var(--green);
  font-size: 18px;
}

.rank-row b {
  display: grid;
  gap: 2px;
}

.rank-row b small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.profile-id-card {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 14px;
  align-items: center;
}

.profile-id-card strong {
  display: block;
  margin: 8px 0;
  color: var(--green);
  font-size: 26px;
  letter-spacing: 1px;
}

.profile-id-card input {
  opacity: .72;
}

.merchant-store-id-field {
  display: grid;
  gap: 6px;
  width: min(100%, 360px);
  margin: 8px 0;
}

.merchant-store-id-field span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}

.merchant-store-id-field input[readonly] {
  opacity: 1;
  cursor: text;
  color: var(--green);
  font-weight: 900;
  letter-spacing: .04em;
  user-select: all;
}

.profile-qr {
  display: grid;
  justify-items: center;
  gap: 7px;
  margin: 0;
}

.profile-qr img {
  width: 136px;
  height: 136px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
}

.profile-qr figcaption,
.profile-id-card code {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
}

.profile-id-card code {
  grid-column: 1 / -1;
  padding: 12px;
  border-radius: 14px;
  color: var(--green);
  background: var(--mint);
  overflow-wrap: anywhere;
}

.secondary-link {
  min-height: 46px;
  display: grid;
  place-items: center;
  grid-column: 1 / -1;
  border: 1px solid var(--line);
  border-radius: 15px;
  color: var(--green);
  background: white;
  text-decoration: none;
  font-weight: 950;
}

.switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.switch-row > span {
  display: grid;
  gap: 4px;
}

.switch-row b {
  font-size: 18px;
}

.switch-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
}

.switch-row input {
  width: 56px;
  min-height: 32px;
  accent-color: var(--green);
}

.value-field {
  position: relative;
  display: block;
}

.value-field input {
  padding-right: 52px;
}

.value-field b {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--pink);
  font-size: 19px;
}

.image-actions button {
  min-height: 48px;
}

.image-tools {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}

.image-tools button {
  min-height: 42px;
}

.list-title {
  margin-top: 4px;
  font-family: Georgia, serif;
  font-size: 38px;
  font-weight: 500;
}

.season-grid {
  grid-template-columns: repeat(4, 1fr);
  margin-top: 14px;
}

.season-card {
  display: grid;
  gap: 9px;
  padding: 12px;
}

.season-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 18px;
}

.season-card b {
  display: block;
  margin-bottom: 3px;
}

.season-upload {
  display: grid;
  place-items: center;
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--green);
  background: white;
  font-size: 11px;
  font-weight: 950;
  text-align: center;
}

.season-current {
  align-self: start;
  padding: 8px 10px;
  border-radius: 999px;
  color: var(--green);
  background: var(--mint);
  font-size: 11px;
  font-weight: 950;
}

@media (max-width: 640px) {
  .admin-nav {
    top: calc(58px + env(safe-area-inset-top));
    grid-template-columns: repeat(3, 1fr);
  }

  .stats-grid,
  .season-grid,
  .profile-id-card,
  .image-tools {
    grid-template-columns: 1fr;
  }

  .admin-home-hero {
    min-height: min(500px, calc(100dvh - 170px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-view.active,
  .admin-home-copy,
  .admin-home-copy > * {
    animation: none;
    opacity: 1;
  }

  .admin-home-copy {
    background: rgba(24, 34, 30, .34);
    backdrop-filter: blur(14px);
  }
}

.profile-qr-brand {
  color: var(--ink);
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -1px;
}

.profile-qr-brand b {
  color: var(--pink);
}

.delivery-choice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.delivery-choice b {
  font-size: 20px;
}

.delivery-choice > div {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 950;
}

.toggle-switch {
  display: inline-block;
}

.toggle-switch input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.toggle-switch i {
  position: relative;
  display: block;
  width: 58px;
  height: 34px;
  border-radius: 999px;
  background: #e8e3da;
  box-shadow: inset 0 0 0 1px var(--line);
}

.toggle-switch i:before {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 5px 13px rgba(23, 37, 29, .16);
  transition: .2s ease;
}

.toggle-switch input:checked + i {
  background: var(--green);
}

.toggle-switch input:checked + i:before {
  transform: translateX(24px);
}

.promotion-row {
  display: grid;
  grid-template-columns: 1.3fr 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}

.promotion-row b {
  font-size: 14px;
}

.promotion-row span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.promotion-row strong {
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--pink);
  background: #f7e1e4;
  font-size: 13px;
}

.season-card.readonly .season-upload {
  display: none;
}

dialog {
  width: min(460px, calc(100% - 22px));
  padding: 0;
  border: 0;
  border-radius: 26px;
  color: var(--ink);
  box-shadow: 0 24px 80px rgba(0, 0, 0, .24);
}

dialog::backdrop {
  background: rgba(23, 37, 29, .55);
  backdrop-filter: blur(4px);
}

.camera-capture {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 24px;
  background: white;
}

.camera-capture h2 {
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 500;
}

.camera-capture video {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #101914;
}

.camera-capture small {
  font-size: 12px;
}

.order-scan-dialog {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 24px;
  background: white;
}

.order-scan-dialog h2 {
  margin-bottom: 0;
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 500;
}

.order-scan-dialog p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.order-scan-manual {
  display: grid;
  gap: 10px;
}

.dialog-close {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 34px;
  min-height: 34px;
  padding: 0;
  border-radius: 50%;
  color: var(--ink);
  background: #f2eee7;
  font-size: 20px;
}

@media (max-width: 640px) {
  .promotion-row {
    grid-template-columns: 1fr;
  }

  .delivery-choice {
    display: grid;
  }
}

.merchant-privacy-card{display:grid;gap:10px;border-color:rgba(189,99,112,.18);background:#fff7f8}.merchant-privacy-card h2{margin:4px 0 0;font-family:Georgia,serif;font-size:30px;font-weight:500}.merchant-privacy-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.privacy-summary{display:grid;gap:8px}.privacy-summary span{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:16px;background:white}.privacy-summary b{font-size:13px}.privacy-summary small{color:var(--muted);font-size:12px;text-align:right}.admin-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 12px;padding:16px 8px 24px}.admin-legal-footer button{border:0;color:var(--muted);background:transparent;font-size:11px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.admin-consent-dialog,.admin-legal-dialog{width:min(560px,calc(100vw - 30px));max-height:min(86dvh,760px);overflow:auto;padding:24px;border:0;border-radius:30px;background:rgba(255,255,255,.97);box-shadow:0 30px 80px rgba(24,34,30,.32)}.admin-consent-dialog h2,.admin-legal-dialog h2{margin:6px 0 10px;font-family:Georgia,serif;font-size:40px;font-weight:500;line-height:1}.admin-consent-dialog p,.admin-legal-dialog p{color:var(--muted);font-size:14px;line-height:1.6}.consent-required{display:grid;gap:5px;margin:16px 0;padding:16px;border-radius:20px;color:white;background:linear-gradient(135deg,#315f4c,#1d3e31)}.consent-required small{color:#d8e6df;font-size:12px;line-height:1.5}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.consent-actions .secondary{grid-column:1/-1}.consent-custom{display:grid;gap:12px;margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:22px;background:#f8f5ef}.switch-row{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px}.switch-row input{width:19px;height:19px;margin-top:3px;accent-color:var(--green)}.switch-row b{font-size:13px}.switch-row small,.consent-custom>small{color:var(--muted);font-size:12px;line-height:1.45}.admin-legal-dialog{position:relative}.admin-legal-dialog .dialog-close{position:absolute;right:14px;top:14px}
.checkout-panel{display:grid;gap:13px}.checkout-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-qr-scan{display:grid;gap:12px;padding:16px;border:1px solid rgba(33,79,63,.16);border-radius:22px;background:#f7fbf8}.admin-qr-scan h2{margin:4px 0 0;font-family:Georgia,serif;font-size:30px;font-weight:500}.admin-qr-scan p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.admin-qr-reader{display:grid;place-items:center;min-height:250px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:white}.admin-qr-reader video,.admin-qr-reader img{width:100%!important;max-height:280px;object-fit:cover;border-radius:18px}.admin-qr-placeholder{display:grid;place-items:center;width:132px;height:132px;border:2px dashed rgba(33,79,63,.28);border-radius:30px;color:var(--green);font-size:22px;font-weight:950;letter-spacing:1px}.admin-qr-status{padding:11px 12px;border-radius:15px;background:#eef5f0;color:var(--green)!important;font-weight:900}.admin-qr-upload{display:grid;place-items:center;min-height:48px;border:1px solid var(--line);border-radius:15px;color:var(--green);background:white;font-size:13px;font-weight:950;text-align:center;cursor:pointer}.checkout-result{display:grid;gap:14px;border-color:rgba(33,79,63,.24);background:linear-gradient(180deg,#fff,#f7fbf8)}.checkout-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.checkout-result-head strong{padding:7px 11px;border-radius:999px;color:var(--green);background:var(--mint);font-size:12px}.checkout-result h2{margin:0;font-family:Georgia,serif;font-size:clamp(32px,8vw,50px);font-weight:500;letter-spacing:.5px}.checkout-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.checkout-facts span{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:17px;background:white}.checkout-facts b{font-size:12px}.checkout-facts small{font-size:12px}.checkout-result p{margin:0}.checkout-result button:disabled{opacity:.55;cursor:not-allowed}.checkout-log-list{display:grid;gap:8px}.checkout-log-row{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:white}.checkout-log-row b{font-size:13px}.checkout-log-row small{display:block;color:var(--muted);font-size:11px}.checkout-log-row span{font-weight:900}.checkout-log-row strong{color:var(--pink);font-size:15px}@media(max-width:640px){.checkout-actions,.checkout-facts,.checkout-log-row{grid-template-columns:1fr}.admin-qr-reader{min-height:220px}}

.paypal-profile-box{display:grid;gap:13px;margin:10px 0;padding:18px;border:1px solid rgba(33,79,63,.16);border-radius:22px;background:#f7fbf8}.paypal-profile-box h3{margin:0;font-size:18px}.paypal-profile-box p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.fulfillment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bouquet-list,.merchant-order-list{display:grid;gap:12px;margin-top:14px}.merchant-bouquet-card{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:22px;background:white}.merchant-bouquet-card .product-image{width:92px;height:92px;position:relative;overflow:hidden;border-radius:22px}.merchant-bouquet-card .product-image i,.merchant-bouquet-card .product-image b,.merchant-bouquet-card .product-image em{position:absolute;color:#14211b;font-size:32px;font-style:normal}.merchant-bouquet-card .product-image i{left:18px;top:17px}.merchant-bouquet-card .product-image b{right:15px;top:32px}.merchant-bouquet-card .product-image em{left:41px;bottom:9px;font-size:26px}.merchant-bouquet-card .blush{background:#f3dcdc}.merchant-bouquet-card .lemon{background:#f1e8bd}.merchant-bouquet-card .lilac{background:#e2dced}.merchant-bouquet-card .forest{background:#d5e5d9}.merchant-bouquet-card div{display:grid;gap:4px}.merchant-bouquet-card b{font-size:15px}.merchant-bouquet-card small{color:var(--muted);font-size:12px}.merchant-bouquet-card strong{font-size:13px}.merchant-bouquet-card button{min-height:40px;padding:9px 12px;border-radius:12px}.merchant-order-notice{border-color:rgba(189,99,112,.24);background:linear-gradient(135deg,#fff7f8,#f4ead8)}.merchant-orders-panel{display:grid;gap:8px}.merchant-order-card{display:grid;gap:12px;padding:17px;border:1px solid rgba(189,99,112,.22);border-radius:22px;background:white;cursor:pointer}.merchant-order-card.done{border-color:rgba(33,79,63,.22);background:#f3faf5}.merchant-order-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.merchant-order-head span,.merchant-order-head strong{padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900}.merchant-order-head span{color:var(--pink);background:#f7e1e4}.merchant-order-head span.status-green{color:var(--green);background:var(--mint)}.merchant-order-head strong{color:var(--green);background:var(--mint)}.merchant-order-card h3{margin:0;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.04;font-family:Georgia,serif;font-size:30px;font-weight:500}.merchant-order-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.merchant-order-facts span{display:grid;gap:4px;padding:11px;border-radius:15px;background:#f8f5ef}.merchant-order-facts b{font-size:11px}.merchant-order-facts small{color:var(--muted);font-size:11px}.order-message{margin:0;padding:11px;border-radius:15px;background:#fff7f8;color:var(--muted);font-size:13px;line-height:1.5}.order-closed{margin:0;color:var(--green);font-size:13px;font-weight:900}.danger{color:#9f5360!important;border-color:#efc4c8!important;background:#fff7f8!important}
.merchant-orders-panel,.merchant-order-list,.merchant-order-card,.merchant-order-card>*,.merchant-order-facts,.order-actions,.order-status-actions{min-width:0;max-width:100%}
.merchant-order-sync-state{margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.merchant-order-sync-state[data-state="ok"]{color:var(--green);font-weight:800}.merchant-order-sync-state[data-state="error"]{color:#9f5360;font-weight:800}

@media(max-width:640px){.merchant-bouquet-card{grid-template-columns:72px 1fr}.merchant-bouquet-card .product-image{width:72px;height:72px;border-radius:18px}.merchant-bouquet-card button{grid-column:1/-1}.merchant-order-facts,.fulfillment-options{grid-template-columns:1fr 1fr}.merchant-order-card{width:100%;overflow:hidden}.merchant-order-head{flex-wrap:wrap}.merchant-order-card h3{font-size:22px;line-height:1.06}}

.subscription-admin-panel {
  border-color: rgba(189,99,112,.20);
  background: linear-gradient(180deg,#fff,#fff7f8);
}

.subscription-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.subscription-form-actions,
.subscription-card-actions,
.subscription-customer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.subscription-photo-box {
  margin-top: 4px;
}

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

.subscription-ai-grid > p {
  margin: 0;
  grid-column: 1 / -1;
  padding: 12px;
  border-radius: 16px;
  background: white;
  color: var(--muted);
  font-size: 12px;
}

.subscription-ai-placeholder {
  opacity: .82;
}

.subscription-ai-empty {
  display: grid;
  place-items: center;
  border: 1px dashed rgba(33,79,63,.22);
}

.subscription-ai-empty em {
  color: var(--muted);
  font-style: normal;
  font-weight: 800;
}

.subscription-ai-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(33,79,63,.16);
  border-radius: 20px;
  color: var(--ink);
  background: white;
  text-align: left;
}

.subscription-ai-card.selected {
  border-color: rgba(33,79,63,.45);
  background: #f7fbf8;
}

.subscription-ai-image {
  display: block;
  min-height: 170px;
  border-radius: 16px;
  background-position: center;
  background-size: cover;
  background-color: #f3eee7;
}

.subscription-ai-card b {
  font-size: 14px;
}

.subscription-ai-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.merchant-subscription-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 15px;
  border: 1px solid rgba(189,99,112,.20);
  border-radius: 22px;
  background: white;
}

.merchant-subscription-card div {
  display: grid;
  gap: 4px;
}

.merchant-subscription-card span {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  color: var(--green);
  background: var(--mint);
  font-size: 11px;
  font-weight: 900;
}

.merchant-subscription-card b {
  font-size: 16px;
}

.merchant-subscription-card small {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.merchant-subscription-card strong {
  font-size: 13px;
}

.subscription-customer-card .merchant-order-head span {
  color: var(--green);
  background: var(--mint);
}

.subscription-customer-card.pause_requested,
.subscription-customer-card.cancel_requested {
  border-color: rgba(189,99,112,.26);
  background: #fff8f8;
}

.merchant-subscription-card.draft,
.merchant-subscription-card.paused {
  opacity: .68;
}

@media(max-width:640px) {
  .subscription-ai-grid {
    grid-template-columns: 1fr;
  }

  .merchant-subscription-card {
    grid-template-columns: 1fr;
  }
}

html,
body,
.admin-app {
  max-width: 100%;
  overflow-x: hidden;
}

.admin-consent-dialog,
.admin-legal-dialog {
  max-width: calc(100dvw - 24px);
  overflow-x: hidden;
  overflow-y: auto;
}

.consent-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.consent-actions button {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 420px) {
  .consent-actions {
    grid-template-columns: 1fr;
  }
}

#adminPrivacyConsentDialog,
#adminLegalDialog {
  width: min(560px, calc(100dvw - 24px));
  max-width: calc(100dvw - 24px);
  overflow-x: hidden;
}

#adminPrivacyConsentDialog > .admin-consent-dialog,
#adminLegalDialog > .admin-legal-dialog {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.admin-consent-dialog *,
.admin-legal-dialog * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.merchant-auth-grid {
  grid-template-columns: 1fr;
}

.merchant-auth-hero {
  display: none;
}

.merchant-auth-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.merchant-choice-card {
  min-height: 210px;
  display: grid;
  align-content: end;
  justify-items: start;
  gap: 12px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 30px;
  color: var(--ink);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,245,239,.88)),
    url("season-summer.jpg") center/cover;
  box-shadow: 0 18px 48px rgba(23, 37, 29, .08);
  text-align: left;
}

.merchant-choice-card strong {
  max-width: 280px;
  font-family: Georgia, serif;
  font-size: clamp(34px, 6vw, 52px);
  font-weight: 500;
  line-height: .98;
  letter-spacing: -1.4px;
}

.merchant-auth-form {
  width: min(720px, 100%);
  margin: 0 auto;
}

.merchant-register-card {
  width: min(920px, 100%);
}

.auth-back,
.tiny-legal-link {
  width: fit-content;
  min-height: auto;
  padding: 7px 0;
  color: var(--green);
  background: transparent;
  font-size: 12px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.business-document-field small,
.example-hint {
  margin: 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.example-hint {
  padding: 12px 14px;
  border-radius: 16px;
  background: #eef5f0;
}

.mail-status-line {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: #9f5360;
  background: #fff0f1;
  font-size: 11px;
  font-weight: 900;
}

.mail-status-line.confirmed {
  color: var(--green);
  background: #eef5f0;
}

.password-field {
  position: relative;
  display: block;
}

.password-field input {
  padding-right: 76px;
}

.password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  min-height: 36px;
  padding: 0 12px;
  transform: translateY(-50%);
  border: 1px solid rgba(33, 79, 63, .16);
  border-radius: 999px;
  color: var(--green);
  background: #eef5f0;
  font-size: 11px;
  font-weight: 950;
}

.password-toggle.is-visible {
  color: white;
  background: var(--green);
}

.business-upload-button {
  display: grid;
  place-items: center;
  min-height: 50px;
  padding: 13px 14px;
  border: 1px dashed rgba(33, 79, 63, .32);
  border-radius: 16px;
  color: var(--green);
  background: #f7fbf8;
  font-size: 14px;
  font-weight: 950;
  text-align: center;
  cursor: pointer;
}

.pending-business-document {
  display: grid;
  gap: 10px;
  margin-top: 4px;
  padding: 16px;
  border: 1px solid rgba(33, 79, 63, .16);
  border-radius: 18px;
  background: #f7fbf8;
}

.pending-business-document[hidden] {
  display: none;
}

.pending-business-document > strong {
  overflow-wrap: anywhere;
  color: var(--green);
  font-size: 13px;
}

.pending-business-document > p:first-child {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.55;
}

.pending-upload-status {
  min-height: 18px;
  margin: 0;
  color: var(--green);
  font-size: 12px;
  font-weight: 800;
}

.business-document-preview {
  width: 100%;
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 10px;
  align-items: center;
  min-height: 68px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--ink);
  background: white;
  text-align: left;
}

.business-document-preview > span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 14px;
  color: var(--green);
  background: #eef5f0 center/cover no-repeat;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.business-document-preview b {
  min-width: 0;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.business-document-preview small {
  grid-column: 2;
  margin-top: -18px;
  color: var(--muted);
  font-size: 11px;
}

.checkout-panel.qr-locked .admin-qr-scan,
.checkout-panel.qr-locked label:has(#checkoutCustomerCode),
.checkout-panel.qr-locked #checkCustomerCode {
  display: none;
}

.checkout-customer-greeting {
  display: grid;
  gap: 5px;
  padding: 15px;
  border-radius: 18px;
  color: white;
  background: linear-gradient(135deg, #315f4c, #1d3e31);
}

.checkout-customer-greeting .eyebrow,
.checkout-customer-greeting small {
  color: #d8e6df;
}

.checkout-customer-greeting strong {
  font-family: Georgia, serif;
  font-size: 34px;
  font-weight: 500;
}

.opening-row {
  position: relative;
}

.closed-label {
  display: none;
  grid-column: 2 / -1;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--muted);
  background: #f4f1e9;
  font-size: 13px;
}

.opening-row.closed input[type="time"] {
  display: none;
}

.opening-row.closed .closed-label {
  display: block;
}

.promotion-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: white;
}

.promotion-row-thumb {
  width: 62px;
  height: 62px;
  min-height: 62px;
  overflow: hidden;
  padding: 0;
  border-radius: 16px;
  color: var(--green);
  background: var(--mint);
}

.promotion-row-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.promotion-row-thumb span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 24px;
  font-weight: 900;
}

.promotion-row b {
  min-width: 0;
}

.promotion-row > span {
  color: var(--muted);
  font-size: 12px;
}

.promotion-row > strong {
  color: var(--pink);
}

.merch-teaser {
  border-color: rgba(189,99,112,.2);
  background: linear-gradient(135deg, #fff7f8, #f8f5ef);
}

.paypal-qr-profile,
.storefront-profile-box {
  display: grid;
  gap: 14px;
  padding: 16px;
  margin-top: 14px;
  border: 1px solid rgba(33,79,63,.14);
  border-radius: 24px;
  background: rgba(255,255,255,.76);
}

.paypal-qr-profile {
  grid-template-columns: 118px 1fr;
  align-items: center;
}

.paypal-qr-profile b,
.storefront-profile-box h3 {
  color: var(--green);
}

.paypal-qr-profile small,
.storefront-profile-box p {
  display: block;
  margin: 6px 0 12px;
  color: var(--muted);
  line-height: 1.45;
}

.storefront-profile-box a {
  overflow-wrap: anywhere;
  color: var(--green);
  font-weight: 900;
}

.checkout-paypal-panel {
  border-color: rgba(33,79,63,.18);
  background: linear-gradient(135deg, #f7fbf8, #fff);
}

.checkout-paypal-panel h2 {
  margin: 4px 0 0;
  font-family: Georgia, serif;
  font-size: clamp(26px, 7vw, 42px);
  font-weight: 500;
}

.checkout-paypal-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.checkout-paypal-link {
  display: grid;
  place-items: center;
  min-height: 48px;
  border-radius: 15px;
  text-align: center;
  text-decoration: none;
  font-weight: 950;
}

#checkoutPaypalQrDialog {
  width: min(520px, calc(100vw - 24px));
  border: 0;
  border-radius: 34px;
  padding: 0;
  background: transparent;
}

.checkout-paypal-dialog {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: clamp(22px, 6vw, 34px);
  border-radius: 34px;
  background: #fffdf9;
  text-align: center;
  box-shadow: 0 28px 90px rgba(24,34,30,.24);
}

.checkout-paypal-dialog .brand-name {
  font-size: 28px;
  font-weight: 950;
}

.checkout-paypal-dialog h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(32px, 9vw, 54px);
  font-weight: 500;
}

.checkout-paypal-dialog img {
  width: min(330px, 78vw);
  max-width: 100%;
  border: 14px solid white;
  border-radius: 28px;
  box-shadow: 0 18px 48px rgba(24,34,30,.16);
}

.checkout-paypal-dialog p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.checkout-pickup-panel {
  display: grid;
  gap: 14px;
  background: linear-gradient(180deg, #fffafc, #fff);
}

.checkout-pickup-panel p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.checkout-pickup-list {
  display: grid;
  gap: 10px;
}

.checkout-pickup-summary {
  padding: 12px 14px;
  border-radius: 16px;
  background: #eef5f0;
  color: var(--green) !important;
  font-weight: 900;
}

.checkout-pickup-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.checkout-pickup-card div {
  display: grid;
  gap: 3px;
}

.checkout-pickup-card small {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--muted);
  font-weight: 900;
  font-size: 10px;
}

.checkout-pickup-card strong {
  font-size: 16px;
  color: var(--ink);
}

.checkout-pickup-card span {
  font-size: 13px;
  color: var(--muted);
}

.checkout-pickup-card b {
  min-width: 48px;
  text-align: center;
  padding: 9px 10px;
  border-radius: 14px;
  background: #f7dfe5;
  color: var(--pink);
}

.checkout-pickup-done {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #edf6f1;
  color: var(--green);
}

.checkout-pickup-done strong {
  font-size: 13px;
}

.checkout-pickup-done span {
  font-size: 12px;
}

#adminImageLightbox {
  width: min(640px, calc(100vw - 28px));
  border: 0;
  border-radius: 28px;
  padding: 0;
  background: transparent;
}

.admin-image-lightbox {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 28px;
  background: white;
  box-shadow: 0 30px 80px rgba(24,34,30,.32);
}

.admin-image-lightbox img {
  width: 100%;
  max-height: 72dvh;
  object-fit: contain;
  border-radius: 20px;
  background: #f8f5ef;
}

.admin-image-lightbox strong {
  font-size: 16px;
}

.occasion-radar-panel,
.rescue-admin-panel {
  border-color: rgba(194, 96, 115, 0.22);
  background: linear-gradient(145deg, rgba(255, 247, 249, 0.96), rgba(248, 244, 233, 0.96));
}

.retter-switch-card {
  display: grid;
  gap: 12px;
  margin: 14px 0;
  padding: 16px;
  border: 1px solid rgba(189, 99, 112, 0.18);
  border-radius: 22px;
  background: #fff7f8;
}

.retter-switch-card .check-row {
  align-items: flex-start;
  margin: 0;
}

.retter-switch-card .check-row span {
  display: grid;
  gap: 4px;
}

.retter-switch-card .check-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.retter-switch-card[hidden],
.retter-legacy-form[hidden] {
  display: none !important;
}

.retter-switch-card .grid {
  margin-top: 4px;
}

.occasion-radar-grid,
.rescue-admin-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.occasion-radar-card,
.rescue-admin-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(194, 96, 115, 0.2);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 16px 36px rgba(20, 49, 38, 0.08);
}

.occasion-radar-card span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 999px;
  background: var(--rose-soft);
  color: var(--green);
  font-weight: 900;
}

.occasion-radar-card b,
.rescue-admin-card b {
  display: block;
  color: var(--green);
  font-size: 1.05rem;
}

.occasion-radar-card small,
.occasion-radar-card em,
.rescue-admin-card small,
.rescue-admin-card strong {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-style: normal;
}

.rescue-admin-card {
  grid-template-columns: 1fr auto auto;
}

.service-note,
.delayed-thanks-note {
  display: block;
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(194, 96, 115, 0.11);
  color: var(--green);
  font-weight: 800;
}

@media(max-width:640px) {
  .merchant-auth-choice {
    grid-template-columns: 1fr;
  }

  .merchant-choice-card {
    min-height: 150px;
  }

  .merchant-choice-card strong {
    font-size: 36px;
  }

  .promotion-row {
    grid-template-columns: 54px 1fr;
  }

  .promotion-row > span,
  .promotion-row > strong {
    grid-column: 2;
  }

  .rescue-admin-card {
    grid-template-columns: 1fr;
  }

  .paypal-qr-profile {
    grid-template-columns: 1fr;
  }
}

.butterfly-flight {
  position: absolute;
  left: 15%;
  bottom: 18%;
  z-index: 2;
  width: 26px;
  height: 20px;
  opacity: 0;
  pointer-events: none;
  transform-origin: center;
  animation: butterflyPath 8.5s ease-in-out 1.4s infinite;
}

.butterfly-flight span {
  position: absolute;
  inset: 0;
  display: block;
  animation: butterflyFlutter .46s ease-in-out infinite alternate;
}

.butterfly-flight span::before,
.butterfly-flight span::after {
  content: "";
  position: absolute;
  top: 3px;
  width: 13px;
  height: 16px;
  border-radius: 70% 30% 70% 35%;
  background: radial-gradient(circle at 55% 35%, #fff4d6 0 10%, #efc4c8 12% 43%, #c66572 44% 48%, rgba(255,255,255,.9) 50% 72%, rgba(255,255,255,0) 74%);
  box-shadow: 0 3px 10px rgba(24,34,30,.16);
}

.butterfly-flight span::before {
  left: 1px;
  transform-origin: right center;
  transform: rotate(-24deg);
}

.butterfly-flight span::after {
  right: 1px;
  transform-origin: left center;
  transform: scaleX(-1) rotate(-24deg);
}

.butterfly-flight::after {
  content: "";
  position: absolute;
  left: 12px;
  top: 6px;
  width: 3px;
  height: 13px;
  border-radius: 999px;
  background: #5b433a;
  box-shadow: 0 -5px 0 -1px #5b433a;
}

@keyframes butterflyFlutter {
  from { transform: scaleX(.72) rotate(-8deg); }
  to { transform: scaleX(1.08) rotate(8deg); }
}

@keyframes butterflyPath {
  0% { opacity: 0; transform: translate(0, 0) scale(.45) rotate(-14deg); }
  9% { opacity: .95; }
  28% { transform: translate(48px, -96px) scale(.68) rotate(10deg); }
  52% { transform: translate(128px, -218px) scale(.82) rotate(-8deg); }
  78% { opacity: .85; transform: translate(220px, -345px) scale(.6) rotate(14deg); }
  100% { opacity: 0; transform: translate(290px, -450px) scale(.24) rotate(20deg); }
}

@media (prefers-reduced-motion: reduce) {
  .butterfly-flight { display: none; }
}

.butterfly-flight {
  width: 38px;
  height: 34px;
  filter: drop-shadow(0 8px 16px rgba(20, 49, 38, .18));
}

.butterfly-flight span {
  background: url("/assets/butterfly.svg") center / contain no-repeat;
  animation: butterflyFlutter .62s ease-in-out infinite alternate;
}

.butterfly-flight span::before,
.butterfly-flight span::after,
.butterfly-flight::after {
  content: none;
}

@keyframes butterflyFlutter {
  from { transform: rotate(-7deg) scaleX(.92) scaleY(1.02); }
  to { transform: rotate(8deg) scaleX(1.06) scaleY(.96); }
}

.bouquet-photo-box {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(49,95,76,.14);
  border-radius: 22px;
  background: #f7fbf8;
}

.bouquet-photo-box p {
  margin: 4px 0 10px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.bouquet-preview,
.merchant-bouquet-card .product-image.has-photo {
  background-position: center;
  background-size: cover;
}

.bouquet-preview.has-image span {
  display: none;
}

.merchant-bouquet-card .product-image.has-photo {
  cursor: zoom-in;
}

@media(max-width:640px) {
  .bouquet-photo-box {
    grid-template-columns: 1fr;
  }
}

.order-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.order-actions .order-seen-action {
  color: var(--green);
  border-color: rgba(33, 79, 63, .24);
  background: var(--mint);
}

.order-actions .order-accepted-action,
.order-actions .order-complete-action {
  color: var(--green);
  border-color: rgba(33, 79, 63, .3);
  background: var(--mint);
}

.order-actions button:disabled {
  opacity: .62;
  cursor: default;
}

.merchant-order-card,
.no-show-action:disabled {
  cursor: default;
}

.order-status-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  flex: 1 0 100%;
  gap: 10px;
}

.order-status-actions.has-ready-action {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.order-status-actions button {
  width: 100%;
  min-height: 46px;
}

.order-actions .order-ready-action {
  color: var(--green);
  border-color: rgba(33, 79, 63, .3);
  background: #f4f8f5;
}

.merchant-order-price {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-radius: 16px;
  background: #f8f5ef;
}

.merchant-order-price b {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}

.merchant-order-price input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 800;
  color: var(--ink);
  background: white;
}

.merchant-heart-preview{width:100%;max-height:280px;object-fit:cover;border-radius:18px;background:#f4f1e9}.merchant-heart-details{display:grid;gap:7px;padding:13px;border-radius:16px;background:#eef5f0}.merchant-heart-details small{color:var(--green);font-size:12px;line-height:1.45}.merchant-adjustment-panel{padding:14px;border:1px solid rgba(189,99,112,.28);border-radius:17px;background:#fff7f8}.merchant-adjustment-panel summary{cursor:pointer;color:var(--pink);font-weight:900}.merchant-adjustment-panel>p{color:var(--muted);font-size:12px}.merchant-adjustment-panel label{display:grid;gap:6px}.merchant-adjustment-panel label b{font-size:11px}.merchant-adjustment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.merchant-adjustment-panel select,.merchant-adjustment-panel input{width:100%;min-height:42px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:white}.merchant-adjustment-panel>.primary{width:100%}

@media(max-width:640px){.merchant-adjustment-grid{grid-template-columns:1fr}}
@media(max-width:640px){.order-status-actions,.order-status-actions.has-ready-action{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){.order-status-actions,.order-status-actions.has-ready-action{grid-template-columns:1fr}}
/* Angebotskanaele */
.offer-channel-list{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;max-width:100%;gap:10px!important;margin-top:4px;padding-top:14px;border-top:1px solid var(--line);box-sizing:border-box}
.offer-channel{align-self:start;width:100%;min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#faf9f6;box-sizing:border-box;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.offer-channel.is-enabled{border-color:rgba(33,79,63,.28);background:#f5faf6;box-shadow:0 8px 24px rgba(33,79,63,.06)}
.offer-channel[data-offer-channel="emergency"].is-enabled{border-color:rgba(143,51,64,.28);background:#fff7f8}
.offer-channel>header{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:10px;padding:13px}
.offer-channel>header>span{display:grid;min-width:0;gap:3px}
.offer-channel>header b{font-size:14px}.offer-channel>header small{color:var(--muted);font-size:10px;line-height:1.35}.offer-channel .toggle-switch{flex:0 0 auto}
.offer-channel-settings{display:grid!important;width:100%;min-width:0;max-width:100%;overflow:hidden;gap:11px!important;padding:0 13px 13px;border-top:1px solid rgba(33,79,63,.1);box-sizing:border-box}.offer-channel-settings[hidden]{display:none!important}
.offer-channel-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;gap:9px!important;padding-top:12px}.offer-channel-grid label{display:grid;min-width:0;max-width:100%;gap:5px}.offer-channel-grid label>span{min-width:0;overflow-wrap:anywhere;font-size:10px;font-weight:900}
.offer-channel-grid input,.offer-channel-grid select{width:100%;min-width:0;max-width:100%;padding:9px 10px;border-radius:11px;box-sizing:border-box;font-size:12px}
.offer-channel-modes{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;gap:7px!important}.offer-channel-modes .check-row{min-width:0;max-width:100%;overflow:hidden;padding:9px;border-radius:11px;background:white;box-sizing:border-box;font-size:11px}.offer-channel-modes .check-row span{min-width:0;overflow-wrap:anywhere}
.offer-channel-settings>small{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal;color:var(--muted);font-size:10px;line-height:1.4}.offer-channel-settings>button{width:100%;min-width:0;max-width:100%;min-height:38px;padding:8px 10px;box-sizing:border-box;font-size:11px}
@media(max-width:900px){.offer-channel-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:640px){.merchant-bouquet-card,.merchant-bouquet-card>div{min-width:0;max-width:100%}.merchant-bouquet-card{overflow:hidden}.offer-channel-grid,.offer-channel-modes{grid-template-columns:minmax(0,1fr)}}

/* Blumen-Notfall Modul */
.emergency-order-deadline{color:#8f3340!important;background:#fff0f2!important;font-weight:800}.merchant-order-card:has(.emergency-order-deadline){border-color:rgba(143,51,64,.32);box-shadow:0 12px 32px rgba(143,51,64,.08)}
.danger-button {
  border-color: #8b3030 !important;
  color: #7a2424 !important;
}

.primary.danger-button {
  background: #8b3030 !important;
  color: #fff !important;
}

.merchant-account-closure-dialog {
  width: min(92vw, 520px);
  max-height: 90vh;
  padding: 0;
  border: 0;
  border-radius: 26px;
  box-shadow: 0 24px 70px rgba(30, 22, 18, 0.28);
}

.merchant-account-closure-dialog::backdrop {
  background: rgba(27, 25, 22, 0.56);
  backdrop-filter: blur(5px);
}

.merchant-account-closure-sheet {
  position: relative;
  display: grid;
  gap: 18px;
  padding: 30px;
  background: #fffdf9;
}

.merchant-account-closure-sheet label:not(.check-row) {
  display: grid;
  gap: 8px;
}

.merchant-account-closure-status {
  padding: 18px;
  border-radius: 18px;
  background: #f5f1e9;
}

.merchant-account-closure-status strong {
  color: #214f3f;
}

.closure-confirm-row {
  margin: 16px 0;
}

.account-settings-danger {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(139, 48, 48, 0.2);
}

.account-settings-danger h3 {
  margin: 0;
  font-size: 18px;
}

.account-settings-danger p {
  margin: 0;
}

.account-settings-danger .danger-button {
  justify-self: start;
}

.merchant-rejection-panel{display:grid;gap:10px;margin:0;padding:14px;border:1px solid rgba(189,99,112,.34);border-radius:17px;background:#fff8f8}.merchant-rejection-panel legend{padding:0 5px;color:#8f4654;font-size:14px;font-weight:900}.merchant-rejection-panel>p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.merchant-rejection-choices{display:grid;gap:7px}.merchant-rejection-choice{position:relative;display:block;padding:13px 16px;border:1px solid rgba(189,99,112,.2);border-radius:12px;background:#fff;color:#593941;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.merchant-rejection-choice input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.merchant-rejection-choice:has(input:checked){border-color:#78a693;background:#e8f4ed;color:#1f5947}.merchant-rejection-choice:has(input:focus-visible){outline:3px solid rgba(31,89,71,.28);outline-offset:2px}.merchant-rejection-message{display:grid;gap:5px;color:#593941;font-size:12px}.merchant-rejection-message textarea{width:100%;min-height:76px;padding:10px;border:1px solid rgba(189,99,112,.24);border-radius:12px;background:white;resize:vertical;font:inherit}.merchant-rejection-actions{display:flex;flex-wrap:wrap;gap:8px}.merchant-rejection-actions button{min-height:42px}.merchant-rejection-actions .primary{background:#a45161;border-color:#a45161}.merchant-rejection-actions .primary:disabled{opacity:.48;cursor:not-allowed}
