:root {
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --color-primary: #257052;
  --color-primary-hover: #1c5a41;
  --color-primary-soft: #eaf4ef;
  --color-background: #f6f8f7;
  --color-surface: #ffffff;
  --color-surface-muted: #f7faf8;
  --color-text: #1d342c;
  --color-text-muted: #61746c;
  --color-border: #dce5e0;
  --color-border-strong: #c7d4ce;
  --color-success: #18794e;
  --color-success-soft: #ecfdf3;
  --color-danger: #c4323c;
  --color-danger-soft: #fff1f2;
  --color-warning-soft: #fffaeb;
  --focus-ring: #83b9a2;
  --radius-sm: .5rem;
  --radius-md: .75rem;
  --radius-lg: 1rem;
  --shadow-card: 0 1px 2px rgb(23 59 48 / 4%), 0 5px 16px rgb(23 59 48 / 4%);
  color: var(--color-text);
  background: var(--color-background);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--color-background); }
body { min-height: 100%; margin: 0; overflow-x: clip; background: var(--color-background); overscroll-behavior-y: none; }
button, input, select, textarea { font: inherit; }
button, input, select, textarea { min-height: 44px; }
button {
  padding: .62rem .9rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  background: var(--color-surface);
  font-weight: 650;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}
button:hover { border-color: #aebfb7; background: var(--color-surface-muted); }
button:disabled { cursor: wait; opacity: .55; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid var(--focus-ring);
  outline-offset: 2px;
}
input, select, textarea {
  width: 100%;
  padding: .65rem .75rem;
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-sm);
  color: var(--color-text);
  background: var(--color-surface);
}
textarea { min-height: 7rem; resize: vertical; }
label { color: #31483f; font-weight: 600; }
h1, h2, h3, h4 { color: var(--color-text); letter-spacing: -.02em; }
h2 { margin: 0 0 1rem; font-size: clamp(1.2rem, 2vw, 1.4rem); }
h3 { font-size: 1rem; }

[hidden] { display: none !important; }
.skip-link { position: fixed; top: -5rem; left: .75rem; z-index: 100; padding: .75rem 1rem; border-radius: .5rem; color: white; background: var(--color-primary); }
.skip-link:focus { top: .75rem; }

.app-shell { min-height: 100vh; min-height: 100dvh; display: grid; grid-template: auto 1fr / 15rem minmax(0, 1fr); }
.app-shell[data-authenticated="false"] { grid-template-columns: minmax(0, 1fr); }
.app-shell[data-authenticated="false"] .topbar, .app-shell[data-authenticated="false"] main { grid-column: 1; }
.app-shell[data-authenticated="false"] main { max-width: none; display: grid; place-items: center; }
.sidebar {
  grid-column: 1;
  grid-row: 1 / -1;
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100dvh;
  padding: 1.25rem 1rem;
  border-right: 1px solid var(--color-border);
  background: var(--color-surface);
}
.sidebar-brand { display: flex; align-items: center; gap: .7rem; min-height: 3rem; margin: 0 .35rem 1.5rem; }
.sidebar-brand > div { display: grid; gap: .05rem; }
.sidebar-brand strong { font-size: .95rem; }
.sidebar-brand small { color: var(--color-text-muted); font-size: .72rem; }
.brand-mark {
  display: inline-grid;
  flex: 0 0 2.25rem;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: .65rem;
  color: white;
  background: var(--color-primary);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.sidebar ul { display: grid; gap: .3rem; margin: 0; padding: 0; list-style: none; }
.sidebar a { display: flex; align-items: center; gap: .6rem; min-height: 44px; padding: .65rem .75rem; border-radius: .55rem; color: #4d6259; font-size: .9rem; font-weight: 650; text-decoration: none; }
.nav-icon { display: inline-grid; flex: 0 0 auto; width: 1.15rem; height: 1.15rem; place-items: center; }
.nav-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sidebar a:hover { color: var(--color-primary); background: var(--color-primary-soft); }
.sidebar a[aria-current="page"] { color: var(--color-primary); background: var(--color-primary-soft); }

.topbar {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 4.75rem;
  padding: max(1rem, env(safe-area-inset-top)) clamp(1.25rem, 3vw, 2.5rem) 1rem;
  border-bottom: 1px solid rgb(228 231 236 / 85%);
  background: rgb(255 255 255 / 92%);
  backdrop-filter: blur(12px);
}
.topbar h1 { margin: .15rem 0 0; font-size: clamp(1.25rem, 2.5vw, 1.55rem); }
.topbar > div { min-width: 0; }
.topbar h1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.eyebrow { margin: 0; color: var(--color-text-muted); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }
.eyebrow.dark { color: var(--color-text-muted); }
.account-menu { position: relative; flex: 0 0 auto; }
.account-menu summary {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  color: var(--color-text-muted);
  background: var(--color-surface);
  font-size: 1.35rem;
  font-weight: 750;
  line-height: 1;
  cursor: pointer;
  list-style: none;
}
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu summary:hover { color: var(--color-text); background: var(--color-surface-muted); }
.account-menu summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.account-menu-popover {
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  z-index: 20;
  min-width: 11rem;
  padding: .35rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  box-shadow: 0 10px 30px rgb(16 24 40 / 14%);
}
.account-menu-popover button { width: 100%; justify-content: flex-start; border-color: transparent; text-align: left; }

main { grid-column: 2; grid-row: 2; min-width: 0; width: 100%; max-width: 92rem; padding: clamp(1.25rem, 3vw, 2.5rem); }
main > [data-workspace] > section { margin: 0 0 2rem; scroll-margin-top: 6rem; }
.status { min-height: 1.5rem; margin-bottom: .75rem; color: var(--color-text-muted); font-size: .82rem; }
.status strong { font-weight: 650; }
.status[data-kind="error"] { color: var(--color-danger); }
.offline-banner { margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid #fedf89; border-radius: var(--radius-md); color: #93370d; background: var(--color-warning-soft); }
.install-help { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: .9rem 1rem; border: 1px solid #bad5c9; border-radius: var(--radius-md); color: #31483f; background: var(--color-primary-soft); }
.install-help p { margin: .2rem 0 0; color: var(--color-text-muted); }
.install-actions { display: flex; flex: 0 0 auto; gap: .5rem; }
.quiet { border-color: transparent; background: transparent; }

.login-panel { width: min(100%, 28rem); margin: 0; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.login-panel form, .login-panel label { display: grid; gap: .45rem; }
.login-panel form { gap: 1rem; }
.login-feedback { margin: 0; padding: .7rem .8rem; border-radius: var(--radius-sm); color: var(--color-primary); background: var(--color-primary-soft); font-size: .86rem; font-weight: 650; }
.login-feedback[data-kind="error"] { color: var(--color-danger); background: var(--color-danger-soft); }
.login-panel form > button[type="submit"] { color: white; border-color: var(--color-primary); background: var(--color-primary); }
.seo-preview { grid-column: 1 / -1; display: grid; gap: .25rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.seo-preview span { color: #1558d6; font-size: 1.05rem; }
.seo-preview p { margin: 0; color: var(--color-text-muted); font-size: .88rem; }
.password-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
.password-field input { min-width: 0; border-radius: var(--radius-sm) 0 0 var(--radius-sm); }
.password-toggle { border-left: 0; border-radius: 0 var(--radius-sm) var(--radius-sm) 0; color: var(--color-primary); }

.section-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.section-heading h2 { margin: .15rem 0 0; }
.overview-heading-date { margin: .25rem 0 0; color: var(--color-muted); font-size: .9rem; text-transform: capitalize; }
.overview-actions, .period-modes, .period-navigation, .detail-actions, .edit-actions, .row-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
[data-action="open-create-appointment"] { color: white; border-color: var(--color-primary); background: var(--color-primary); }
[data-action="open-create-appointment"]:hover { border-color: var(--color-primary-hover); background: var(--color-primary-hover); }

.summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .75rem; }
.summary-card { padding: 1rem 1.1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
.summary-card strong { display: block; margin-bottom: .15rem; color: var(--color-text); font-size: 1.65rem; line-height: 1.15; }
.summary-card span { color: var(--color-text-muted); font-size: .85rem; }

.overview-period { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem 1rem; margin-top: 1rem; padding: .7rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.period-modes { padding: .2rem; border-radius: .55rem; background: #f2f4f7; }
.period-modes button { min-height: 38px; border-color: transparent; background: transparent; }
.period-modes button[aria-pressed="true"] { color: var(--color-primary); border-color: var(--color-border); background: var(--color-surface); box-shadow: 0 1px 2px rgb(16 24 40 / 8%); }
.overview-period > strong { margin-left: auto; padding-inline: .35rem; text-transform: capitalize; }
.overview-transactions { margin-top: 1rem; }
.overview-transactions h3 { margin: 1.25rem 0 .65rem; color: #31483f; font-size: .88rem; text-transform: capitalize; }
.overview-transaction-list { display: grid; grid-template-columns: 1fr; gap: .65rem; padding: 0; }
.overview-transaction {
  display: grid;
  gap: .22rem;
  min-width: 0;
  padding: .85rem 1rem;
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-primary);
  border-radius: var(--radius-md);
  color: var(--color-text);
  background: var(--color-surface);
  text-align: left;
  box-shadow: var(--shadow-card);
}
.overview-transaction:hover { border-color: #bad5c9; background: #fbfdfc; box-shadow: 0 5px 14px rgb(23 59 48 / 8%); }
.overview-transaction strong { color: var(--color-primary); font-size: .95rem; }
.transaction-time-mobile, .transaction-day-mobile { display: none; }
.overview-transaction span { overflow: hidden; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.overview-transaction small { overflow: hidden; color: var(--color-text-muted); text-overflow: ellipsis; white-space: nowrap; }
.overview-transaction-meta { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .65rem; }
.overview-transaction-meta small { min-width: 0; }
.overview-transaction-meta .status-badge { flex: 0 0 auto; }

.create-appointment-panel { display: grid; gap: 1rem; margin-top: 1rem; padding: clamp(1rem, 3vw, 1.35rem); border: 1px solid #bad5c9; border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.group-settings-panel { padding: clamp(1rem, 3vw, 1.35rem); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.group-settings-panel form { display: grid; max-width: 34rem; gap: .85rem; }
.group-settings-panel label:not(.toggle-field) { display: grid; gap: .4rem; }
.toggle-field { display: flex; align-items: center; gap: .6rem; }
.toggle-field input { width: 1.15rem; min-height: 1.15rem; }
.create-appointment-panel h3 { margin: 0; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); gap: .9rem; }
.form-grid label, .edit-panel label { display: grid; gap: .4rem; }
.form-grid .full-field { grid-column: 1 / -1; }
.participant-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)); gap: .9rem; }
.participant-fields label { display: grid; gap: .4rem; }
.field-help, .section-help { color: var(--color-text-muted); font-size: .82rem; font-weight: 400; }
.field-help { margin: -.1rem 0 .55rem; }
.create-appointment-panel button[type="submit"], .secondary-tool button[type="submit"] { color: white; border-color: var(--color-primary); background: var(--color-primary); }

.table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .8rem .9rem; border-bottom: 1px solid var(--color-border); text-align: left; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: var(--color-surface-muted); }
th { color: var(--color-text-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.empty-state { padding: 1.5rem; color: var(--color-text-muted); text-align: center; }
.status-badge { display: inline-flex; align-items: center; min-height: 1.65rem; padding: .16rem .55rem; border-radius: 999px; color: #31483f; background: #f0f4f2; font-size: .75rem; font-weight: 700; }
.status-badge[data-status="new"], .status-badge[data-status="pending"] { color: #93370d; background: var(--color-warning-soft); }
.status-badge[data-status="confirmed"] { color: #1f6548; background: var(--color-primary-soft); }
.status-badge[data-status="to_prepare"], .status-badge[data-status="ready"] { color: #6941c6; background: #f4f3ff; }
.status-badge[data-status="completed"], .status-badge[data-status="collected"], .status-badge[data-status="delivered"] { color: var(--color-success); background: var(--color-success-soft); }
.status-badge[data-status="cancelled"], .status-badge[data-status="no_show"] { color: var(--color-danger); background: var(--color-danger-soft); }

.detail-panel { padding: clamp(1rem, 3vw, 1.5rem); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.detail-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.detail-heading h2 { margin: .2rem 0 0; }
.appointment-information { margin: 1rem 0 0; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.appointment-information dl { display: grid; grid-template-columns: minmax(8rem, max-content) minmax(0, 1fr); gap: .6rem 1.25rem; margin: 0; }
.appointment-information .detail-actions { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); }
.mobile-order-detail { display: none; }
.detail-panel dt { color: var(--color-text-muted); font-size: .84rem; font-weight: 650; }
.detail-panel dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 600; }
.edit-panel > h3, .secondary-tool h4 { margin: 0 0 .75rem; }
.workflow-actions { display: contents; }
.workflow-actions button[data-next-status="completed"] { color: white; border-color: var(--color-success); background: var(--color-success); }
.danger { color: var(--color-danger); border-color: #f1aeb3; background: var(--color-surface); }
.danger:hover { color: #a51d27; border-color: var(--color-danger); background: var(--color-danger-soft); }
.primary-danger { color: white; border-color: var(--color-danger); background: var(--color-danger); }
.primary-danger:hover { color: white; border-color: #a51d27; background: #a51d27; }

.edit-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; padding: 1rem; border-radius: var(--radius-md); background: var(--color-surface-muted); }
.edit-panel > h3, .edit-panel > .edit-actions { grid-column: 1 / -1; }
.secondary-tool { min-width: 0; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); }
.secondary-tool form { display: grid; gap: .65rem; }

.editor-tabs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; }
.editor-tab-icon, .editor-tab-copy small, .editor-tab-chevron, .mobile-editor-header { display: none; }
.editor-tabs button[aria-pressed="true"] { color: var(--color-primary); border-color: #bad5c9; background: var(--color-primary-soft); }
.editor-card { display: grid; gap: 1rem; padding: clamp(1rem, 3vw, 1.4rem); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-card); }
.editor-card h3 { margin: 0; font-size: 1.1rem; }
.editor-card > button[type="submit"] { justify-self: start; color: white; border-color: var(--color-primary); background: var(--color-primary); }
.editor-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.editor-section-intro{display:flex;align-items:center;gap:.85rem}.editor-section-intro>div{min-width:0}.editor-section-intro h3,.editor-section-intro p{margin:0}.editor-section-intro p{margin-top:.18rem;color:var(--color-text-muted);font-size:.86rem}.editor-section-icon{display:grid;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;place-items:center;border-radius:.8rem;background:var(--color-primary-soft);font-size:1.25rem}.editor-form-group{margin:0;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.editor-form-group-soft{background:color-mix(in srgb,var(--color-primary-soft) 34%,white)}.editor-form-group legend,.editor-media-group h4{padding:0 .35rem;color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.editor-media-group{display:grid;gap:.75rem}.editor-media-group h4{margin:0;padding:0}.editor-inline-help{margin:0;padding:.7rem .8rem;border-radius:var(--radius-sm);background:var(--color-primary-soft)}
.editor-feedback { margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid #abefc6; border-radius: var(--radius-md); color: var(--color-success); background: var(--color-success-soft); font-weight: 650; }
.editor-feedback[data-kind="error"] { color: var(--color-danger); border-color: #fecdd3; background: var(--color-danger-soft); }
.choice-field, .availability-control { margin: 0; padding: 0; border: 0; }
.choice-field legend, .availability-control legend { margin-bottom: .65rem; color: #31483f; font-weight: 700; }
.color-picker { display: flex; flex-wrap: wrap; gap: .65rem; }
.color-picker label { position: relative; display: grid; min-width: 5.2rem; justify-items: center; gap: .35rem; padding: .65rem; border: 2px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; }
.color-picker input, .template-picker input { position: absolute; opacity: 0; pointer-events: none; }
.color-picker label:has(input:checked), .template-picker label:has(input:checked) { border-color: var(--color-primary); box-shadow: 0 0 0 3px var(--color-primary-soft); }
.color-swatch { width: 2.5rem; height: 2.5rem; border: 2px solid white; border-radius: 50%; box-shadow: 0 0 0 1px var(--color-border-strong); }
.template-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; }
.template-picker label { position: relative; display: grid; gap: .35rem; padding: .75rem; border: 2px solid var(--color-border); border-radius: var(--radius-md); cursor: pointer; }
.template-picker small { color: var(--color-text-muted); font-weight: 400; }
.template-preview { display: block; height: 4.5rem; border-radius: .4rem; background: linear-gradient(135deg, var(--color-primary-soft) 0 45%, #fff 45%); box-shadow: inset 0 0 0 1px var(--color-border); }
.template-compact { height: 3.5rem; background: repeating-linear-gradient(#fff 0 .55rem, var(--color-primary-soft) .55rem 1rem); }
.template-visual { background: linear-gradient(135deg, var(--color-primary) 0 52%, var(--color-primary-soft) 52%); }
.image-picker { position:relative; display: grid; grid-template-columns: 8rem minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1rem 4.8rem 1rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.image-picker.compact { grid-template-columns: 6rem minmax(0, 1fr); }
.image-picker p { margin: .25rem 0 .65rem; }
.image-preview { overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius-sm); background: #eef2f6; }
.image-preview img { width: 100%; height: 100%; object-fit: cover; }
.image-preview[data-preview-kind="logo"] { aspect-ratio: 3 / 2; padding: .65rem; background: #fff; }
.image-preview[data-preview-kind="logo"] img { object-fit: contain; }
.image-preview[data-preview-kind="hero"] { aspect-ratio: 16 / 9; }
.image-preview small { display: block; position: absolute; left: .35rem; bottom: .35rem; padding: .2rem .4rem; border-radius: .35rem; color: #fff; background: #101828cc; font-size: .7rem; }
.image-preview { position: relative; }
.image-preview[data-empty="true"]::before{content:"Photo";display:grid;width:100%;height:100%;place-items:center;color:var(--color-text-muted);background:linear-gradient(135deg,#f7f8fa,#e8edf1);font-size:.78rem}
.image-quick-actions{position:absolute;z-index:2;top:.65rem;right:.65rem;display:flex;gap:.35rem}.image-quick-actions button{display:grid;position:relative;width:42px;height:42px;min-height:42px;padding:0;place-items:center;border-radius:50%;border:2px solid #fff;background:var(--color-primary);color:#fff;box-shadow:0 3px 12px #17203330;font-size:1.05rem}.image-quick-actions button span{position:absolute;right:2px;bottom:0;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#fff;color:var(--color-primary);font-size:.8rem;font-weight:900}.image-quick-actions button[data-action="clear-image"]{width:30px;height:30px;min-height:30px;background:#fff;color:var(--color-danger);font-size:1.15rem}
.catalog-editor{position:relative}.catalog-photo-picker{order:-1;grid-column:1/-1}
.catalog-business-group { display: grid; gap: .65rem; padding: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-lg); }
.catalog-business-group h4,.catalog-business-group p { margin: 0; }
.catalog-business-group>div:first-child p { color: var(--color-text-muted); font-size: .9rem; }
.catalog-card-list { display: grid; gap: .65rem; }
.catalog-card { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.catalog-card>div{min-width:0;flex:1}.catalog-card-thumbnail{flex:0 0 84px;width:84px;height:64px;border-radius:10px;object-fit:cover;background:#eef2f6}
.catalog-card[data-archived="true"], .gallery-card[data-archived="true"] { opacity: .62; }
.catalog-card p { margin: .25rem 0 .5rem; color: var(--color-text-muted); }
.catalog-editor, .gallery-editor { display: grid; gap: 1rem; padding-top: 1rem; border-top: 1px solid var(--color-border); }
.composer-items-editor{display:grid;gap:.8rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.composer-items-editor[hidden]{display:none}.composer-items-editor>div:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;align-items:start}.composer-items-editor h4,.composer-items-editor p{margin:0}.composer-items-editor p{color:var(--color-text-muted)}.composer-items-editor>div:first-child button{grid-column:2;grid-row:1/span 2}.catalog-card[data-composer-card]{background:var(--color-primary-soft);border-color:#bad5c9}
@media(max-width:600px){.composer-items-editor>div:first-child{grid-template-columns:1fr}.composer-items-editor>div:first-child button{grid-column:1;grid-row:auto;width:100%}}
.availability-control { display: flex; flex-wrap: wrap; gap: .5rem; }
.availability-control legend { flex-basis: 100%; }
.availability-control button[aria-pressed="true"] { color: var(--color-primary); border-color: #bad5c9; background: var(--color-primary-soft); }
.catalog-editor .availability-control{order:-2;grid-column:1/-1;align-items:center;padding:.55rem .7rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted)}.catalog-editor .availability-control legend{flex-basis:auto;margin:0 auto 0 0;font-size:.82rem}.catalog-editor .availability-control button{min-height:34px;padding:.35rem .65rem;font-size:.8rem}.calendar-selection{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-selection button{padding:.55rem .8rem;font-size:.82rem}
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .75rem; }
.gallery-card { display: grid; gap: .5rem; padding: .6rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-muted); }
.gallery-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-sm); background: #eef2f6; }
.gallery-card span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .85rem; font-weight: 650; }
.opening-hours-grid { display: grid; gap: .65rem; }
.opening-hours-grid fieldset { display: grid; grid-template-columns: minmax(7rem, 1fr) auto; align-items: start; gap: .65rem; margin: 0; padding: .8rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.opening-hours-grid fieldset[data-closed="false"]{border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 35%,white)}
.opening-hours-grid legend { float: left; padding-top: .65rem; font-weight: 700; }
.opening-ranges { display: grid; grid-column: 1 / -1; gap: .5rem; }
.opening-range { display: grid; grid-template-columns: minmax(7rem, 1fr) auto minmax(7rem, 1fr) 44px; align-items: center; gap: .5rem; }
.opening-hours-grid [data-action="hours-add-range"] { grid-column: 1 / -1; justify-self: start; }

.calendar-controls { display: grid; grid-template-columns: 44px minmax(9rem, auto) 44px; align-items: center; gap: .45rem; text-align: center; text-transform: capitalize; }
.calendar-controls button { padding: .35rem; font-size: 1.1rem; }
.calendar { display: grid; gap: .75rem; }
.calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(7rem, 1fr)); overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-border); gap: 1px; box-shadow: var(--shadow-card); }
.calendar-weekday { padding: .65rem; color: var(--color-text-muted); background: #f2f4f7; font-size: .7rem; font-weight: 750; text-align: center; text-transform: uppercase; letter-spacing: .06em; }
.calendar-day { min-height: 8.5rem; padding: .5rem; border: 0; border-radius: 0; background: var(--color-surface); cursor: pointer; }
.calendar-day:hover { background: #f8fbf9; }
.calendar-day:focus-visible { position: relative; z-index: 1; outline-offset: -3px; }
.calendar-day[data-outside="true"] { color: var(--color-text-muted); background: #fafafa; opacity: .65; }
.calendar-day[data-today="true"] { box-shadow: inset 0 0 0 2px var(--color-primary); }
.calendar-day[data-selected="true"] { background: var(--color-primary-soft); box-shadow: inset 0 0 0 3px var(--color-primary); }
.calendar-day-heading { margin-bottom: .4rem; color: var(--color-text-muted); font-size: .72rem; font-weight: 700; text-transform: capitalize; }
.calendar-entry { display: grid; width: 100%; min-height: auto; margin-bottom: .35rem; padding: .5rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-text); background: var(--color-surface); text-align: left; box-shadow: none; }
.calendar-entry strong { color: var(--color-primary); }
.calendar-entry small { overflow: hidden; margin: .1rem 0 .3rem; color: var(--color-text-muted); text-overflow: ellipsis; white-space: nowrap; }
.calendar-entry .status-badge { justify-self: start; }
.calendar-selection { margin: 0; padding: .75rem 1rem; border-left: 3px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-primary-soft); font-weight: 650; text-transform: capitalize; }
.unscheduled { padding: 1rem; border: 1px solid #fedf89; border-radius: var(--radius-md); background: var(--color-warning-soft); }
.unscheduled h3 { margin: 0 0 .7rem; font-size: 1rem; }
.unscheduled-entry { display: inline-grid; width: min(18rem, 100%); margin: 0 .5rem .5rem 0; }

.cancel-dialog { width: min(36rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 0; border-radius: var(--radius-lg); color: var(--color-text); background: var(--color-surface); box-shadow: 0 24px 80px rgb(16 24 40 / 28%); }
.cancel-dialog::backdrop { background: rgb(16 24 40 / 58%); backdrop-filter: blur(2px); }
.dialog-card { display: grid; gap: 1rem; padding: 1.25rem; }
.dialog-card > p { margin: 0; color: var(--color-text-muted); }
.dialog-card label { display: grid; gap: .45rem; }
.contact-details { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1rem; margin: 0; padding: .85rem; border-radius: var(--radius-sm); background: var(--color-surface-muted); }
.contact-details dt { color: var(--color-text-muted); font-weight: 650; }
.contact-details dd { margin: 0; overflow-wrap: anywhere; }
.dialog-actions, .contact-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.contact-actions { padding-top: 1rem; border-top: 1px solid var(--color-border); }
.contact-actions p { flex-basis: 100%; margin: 0; color: var(--color-success); }
.button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .6rem .9rem; border-radius: var(--radius-sm); color: white; background: var(--color-success); font-weight: 650; text-decoration: none; }

@media (max-width: 64rem) {
  .app-shell { grid-template-columns: 12.5rem minmax(0, 1fr); }
  .edit-panel { grid-template-columns: 1fr; }
  .edit-panel > h3, .edit-panel > .edit-actions { grid-column: auto; }
  .calendar-grid { grid-template-columns: repeat(7, minmax(6.2rem, 1fr)); }
}

@media (max-width: 48rem) {
  .app-shell { display: block; min-height: 100dvh; }
  .topbar { position: relative; min-height: auto; padding: max(.65rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) .65rem max(.75rem, env(safe-area-inset-left)); }
  .topbar h1 { margin-top: .05rem; font-size: 1.05rem; line-height: 1.2; }
  .topbar .eyebrow { font-size: .62rem; }
  .account-menu summary { width: 36px; height: 36px; }
  .sidebar { position: fixed; inset: auto 0 0; z-index: 20; display: block; width: 100%; height: auto; padding: .45rem max(.75rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left)); border: 0; border-top: 1px solid var(--color-border); background: rgb(255 255 255 / 96%); box-shadow: 0 -8px 24px rgb(16 24 40 / 10%); backdrop-filter: blur(14px); }
  .sidebar-brand { display: none; }
  .sidebar nav { width: 100%; }
  .sidebar ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .25rem; width: min(32rem, 100%); margin: 0 auto; }
  .sidebar li:only-child { grid-column: 1 / -1; }
  .sidebar a { flex-direction: column; justify-content: center; gap: .2rem; min-height: 3.6rem; padding: .35rem .2rem; font-size: .7rem; line-height: 1.1; text-align: center; white-space: nowrap; }
  .sidebar .nav-icon { width: 1.3rem; height: 1.3rem; }
  main { width: 100%; padding: 1rem max(1rem, env(safe-area-inset-right)) calc(5.5rem + env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
  .install-help, .section-heading, .detail-heading { align-items: stretch; flex-direction: column; }
  #section-overview > .section-heading { gap: .65rem; margin-bottom: .75rem; }
  #section-overview > .section-heading h2 { font-size: 1.45rem; line-height: 1.15; }
  #section-overview .overview-heading-date { font-size: .82rem; }
  #section-overview .overview-actions [data-action="toggle-calendar"] { display: none; }
  #section-overview .summary-grid { display: none; }
  .install-actions { display: grid; grid-template-columns: 1fr auto; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .overview-period { display: grid; grid-template-columns: 1fr; gap: .5rem; margin-top: .75rem; padding: .55rem; }
  .overview-period > strong { display: none; }
  .period-modes, .period-navigation { display: grid; width: 100%; }
  .period-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .period-navigation { grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .period-modes button, .period-navigation button { width: 100%; min-height: 40px; padding: .45rem .55rem; }
  .overview-transactions { margin-top: .75rem; }
  .overview-transactions h3 { margin-top: 0; }
  .overview-transaction-list { grid-template-columns: 1fr; }
  .overview-transaction { grid-template-columns: 4.75rem minmax(0, 1fr); gap: .2rem .75rem; padding: .8rem .85rem; border-left-width: 4px; }
  .overview-transaction > strong { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
  .overview-transaction > strong::after { content: " —"; }
  .transaction-time-full { display: none; }
  .transaction-time-mobile { display: inline; white-space: nowrap; }
  .overview-transaction-list[data-mode="week"] .transaction-day-mobile { display: block; margin-bottom: .15rem; color: var(--color-text-muted); font-size: .68rem; font-weight: 700; line-height: 1; text-transform: capitalize; white-space: nowrap; }
  .overview-transaction > span:not(.overview-transaction-meta) { grid-column: 2; grid-row: 1; }
  .overview-transaction-meta { grid-column: 2; grid-row: 2; }
  .overview-transaction-meta small { white-space: normal; }
  .appointment-information dl { grid-template-columns: 1fr; gap: .2rem; }
  .appointment-information:has(.mobile-order-detail:not([hidden])) > dl { display: none; }
  .mobile-order-detail:not([hidden]) { display: grid; gap: .8rem; }
  .mobile-order-customer { padding-bottom: .85rem; border-bottom: 1px solid var(--color-border); }
  .mobile-order-customer h3 { margin: 0; color: var(--color-text); font-size: 1.35rem; }
  .mobile-order-customer p { margin: .2rem 0 0; color: var(--color-primary); font-weight: 750; }
  .mobile-order-section { padding: .9rem; border-radius: var(--radius-md); background: var(--color-surface); }
  .mobile-order-section h4 { margin: 0 0 .65rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--color-text-muted); }
  .mobile-order-product + .mobile-order-product { margin-top: .85rem; padding-top: .85rem; border-top: 1px solid var(--color-border); }
  .mobile-order-product > strong { color: var(--color-text); font-size: 1rem; }
  .mobile-order-lines { display: grid; gap: .4rem; margin: .65rem 0 0; padding: 0; list-style: none; }
  .mobile-order-lines li { position: relative; padding-left: 1rem; color: var(--color-text); }
  .mobile-order-lines li::before { content: "–"; position: absolute; left: 0; color: var(--color-primary); font-weight: 800; }
  .mobile-order-fulfillment p { margin: .2rem 0; }
  .mobile-order-date { color: var(--color-text-muted); text-transform: capitalize; }
  .mobile-order-total { display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-radius: var(--radius-md); color: white; background: var(--color-primary); }
  .mobile-order-total strong { font-size: 1.25rem; }
  .appointment-information:has(.mobile-order-detail:not([hidden])) .detail-actions [data-action="edit-transaction"] { background: var(--color-primary); color: white; }
  .appointment-information:has(.mobile-order-detail:not([hidden])) .detail-actions [data-action="cancel-transaction"] { border-color: transparent; color: var(--color-danger); background: transparent; box-shadow: none; }
  .detail-panel dd { margin-bottom: .55rem; }
  .detail-panel dd:last-child { margin-bottom: 0; }
  .detail-actions, .edit-actions { display: grid; grid-template-columns: 1fr; }
  .detail-heading > button, .detail-actions button, .secondary-tool button, .edit-actions button { width: 100%; }
  .calendar-controls { align-self: stretch; grid-template-columns: 44px 1fr 44px; }
  .calendar-grid { display: block; overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .calendar-weekday { display: none; }
  .calendar-day { min-height: auto; margin-bottom: .65rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
  .calendar-day[data-outside="true"] { display: none; }
  .table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  table, tbody { display: block; }
  thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  tbody { display: grid; gap: .65rem; }
  tbody tr { display: grid; gap: .35rem; padding: .9rem; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); box-shadow: var(--shadow-card); }
  tbody td { display: block; padding: .12rem 0; border: 0; }
  .row-actions button, tbody td > button { width: 100%; }
  .cancel-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - max(1rem, env(safe-area-inset-top)) - max(1rem, env(safe-area-inset-bottom))); }
  .dialog-card { padding: 1rem; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
  .dialog-actions, .contact-actions { display: grid; grid-template-columns: 1fr; }
  .mobile-editor-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
  [data-site-editor][data-mobile-view="home"] > .mobile-editor-header { display: none; }
  .mobile-editor-header h2 { margin: 0; font-size: 1.35rem; }
  .mobile-editor-header button { display: none; min-height: 40px; padding: .45rem .65rem; border-color: transparent; background: transparent; color: var(--color-primary); }
  [data-site-editor][data-mobile-view="section"] .mobile-editor-header button { display: inline-flex; }
  .editor-tabs { display: grid; grid-template-columns: 1fr; gap: .65rem; width: 100%; margin: 0; overflow: visible; }
  .editor-tabs button { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; gap: .75rem; width: 100%; min-width: 0; min-height: 4.5rem; padding: .8rem .9rem; border-color: var(--color-border); border-radius: var(--radius-md); background: var(--color-surface); text-align: left; box-shadow: var(--shadow-card); }
  .editor-tabs button[aria-pressed="true"] { color: var(--color-text); border-color: var(--color-border); background: var(--color-surface); }
  .editor-tab-icon { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border-radius: .7rem; background: var(--color-primary-soft); font-size: 1.2rem; }
  .editor-tab-copy { display: grid; min-width: 0; gap: .12rem; }
  .editor-tab-copy strong { color: var(--color-text); font-size: .95rem; }
  .editor-tab-copy small { display: block; overflow: hidden; color: var(--color-text-muted); font-size: .76rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
  .editor-tab-chevron { display: block; color: var(--color-primary); font-size: 1.65rem; line-height: 1; }
  [data-site-editor][data-mobile-view="home"] > [data-editor-form] { display: none !important; }
  [data-site-editor][data-mobile-view="section"] > .editor-tabs { display: none; }
  .editor-card > button[type="submit"] { width: 100%; font-size: 0; }
  .editor-card > button[type="submit"]::after { content: "Enregistrer les modifications"; font-size: .9rem; }
  .editor-card-heading { align-items: stretch; flex-direction: column; }
  .editor-card-heading button, .catalog-card button { width: 100%; }
  .catalog-card { align-items: stretch; flex-direction: column; }
  .mobile-clean-editor { gap: .85rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .mobile-clean-editor > .editor-section-intro { padding:.85rem 0 .25rem; }
  .mobile-clean-editor .editor-section-intro.editor-card-heading { display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem; }
  .mobile-clean-editor .editor-section-intro.editor-card-heading>div { align-self:center; }
  .mobile-clean-editor .editor-section-intro.editor-card-heading>button { grid-column:1/-1;min-height:44px;border-style:dashed;color:var(--color-primary);background:transparent; }
  .mobile-clean-editor .editor-form-group { padding:.9rem;border-radius:14px; }
  .mobile-clean-editor .form-grid { gap:.75rem; }
  .mobile-clean-editor input,.mobile-clean-editor textarea,.mobile-clean-editor select { background:#fff; }
  .mobile-clean-editor > button[type="submit"] { position:sticky;bottom:calc(4.85rem + env(safe-area-inset-bottom));z-index:8;min-height:48px;box-shadow:0 7px 18px rgb(23 59 48 / 18%); }
  .mobile-clean-editor .color-picker { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
  .mobile-clean-editor .color-picker label { min-width:0;padding:.55rem .3rem; }
  .mobile-clean-editor .template-picker { grid-template-columns:1fr; }
  .mobile-clean-editor .template-picker label { grid-template-columns:5.5rem minmax(0,1fr);align-items:center; }
  .mobile-clean-editor .template-picker label strong,.mobile-clean-editor .template-picker label small { grid-column:2; }
  .mobile-clean-editor .template-preview { grid-column:1;grid-row:1/span 2;height:3.7rem; }
  .mobile-clean-editor .editor-media-group { padding:.9rem;border-radius:14px;background:color-mix(in srgb,var(--color-primary-soft) 30%,white); }
  .mobile-clean-editor .opening-hours-grid fieldset { border-radius:12px;background:#fff; }
  .mobile-clean-editor .opening-hours-grid fieldset[data-closed="true"] { color:var(--color-text-muted);background:var(--color-surface-muted); }
  .mobile-clean-editor .opening-hours-grid fieldset>button[aria-pressed="true"] { color:var(--color-primary);border-color:transparent;background:var(--color-primary-soft); }
  .mobile-clean-editor[data-editor-form="catalog"]:has(.catalog-editor:not([hidden]))>.editor-section-intro,.mobile-clean-editor[data-editor-form="catalog"]:has(.catalog-editor:not([hidden]))>[data-editor-catalog] { display:none; }
  .mobile-clean-editor .catalog-editor { padding:1rem;border:1px solid var(--color-border);border-radius:14px;background:#fff; }
  .mobile-clean-editor .catalog-card { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.85rem;background:#fff; }
  .mobile-clean-editor .catalog-card button { width:auto;min-height:40px;color:var(--color-primary);border-color:transparent;background:var(--color-primary-soft); }
  .image-picker, .image-picker.compact { grid-template-columns: 1fr; }
  .image-preview { max-width: 12rem; }
  .opening-hours-grid fieldset { grid-template-columns: 1fr auto; }
  .opening-range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 44px; }
  .dialog-actions button, .button-link { width: 100%; }
}

@media (max-width: 28rem) {
  .summary-grid { grid-template-columns: 1fr; }
  .overview-actions { display: grid; grid-template-columns: 1fr; }
  .overview-actions button { width: 100%; }
  .color-picker label { min-width: calc(50% - .4rem); }
  .opening-range { grid-template-columns: 1fr auto 1fr; }
  .opening-range button { grid-column: 1 / -1; width: 100%; }
}

@media (display-mode: standalone) and (max-width: 48rem) { .sidebar { position: fixed; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
.option-group-editor{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.option-group-editor [data-option-groups]{display:grid;gap:.8rem;margin-top:.8rem}.option-group-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:#fff}.option-group-card legend{font-weight:800}.option-group-card textarea{min-height:110px;font-family:ui-monospace,monospace}
.option-group-card [data-group-options]{display:grid;gap:.65rem;margin:.75rem 0}.option-editor-card{border:1px solid var(--border);border-radius:10px;padding:.8rem;background:var(--soft)}.option-editor-card legend{font-size:.85rem}.switch-label{display:flex!important;align-items:center;gap:.6rem}.switch-label input{width:22px;min-height:22px}.form-grid small{color:var(--muted);font-weight:500}
.simple-box-options{padding:.75rem;background:#fff}.simple-box-options>.editor-card-heading>div>strong{display:none}.simple-box-options>.editor-card-heading .section-help{margin:0}.simple-box-options [data-option-groups]{gap:.65rem!important}.simple-box-options .option-group-card{position:relative;padding:.8rem}.simple-box-options .simple-choice-fields{grid-template-columns:minmax(0,1fr) 130px;gap:.7rem}.simple-box-options .simple-choice-fields .full-field{grid-column:auto}.simple-box-options .option-group-card>.editor-card-heading{margin-top:.75rem}.simple-box-options [data-group-options]{gap:.4rem;margin:.5rem 0}.simple-box-options .simple-option-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:.5rem;padding:.5rem;background:#fff}.simple-box-options .simple-option-row .form-grid{display:block}.simple-box-options .simple-option-row label{gap:.2rem}.option-trash{width:42px;min-height:42px;padding:0;border-radius:10px}.option-trash svg{width:19px;height:19px;fill:currentColor}.simple-box-options .option-group-card>[data-action="option-group-remove"]{min-height:40px;padding:.45rem .7rem;font-size:.85rem}
@media(max-width:600px){.simple-box-options .simple-choice-fields{grid-template-columns:1fr}.simple-box-options .option-group-card>.editor-card-heading{align-items:center}.simple-box-options .option-group-card>.editor-card-heading strong{font-size:.9rem}}
.simple-box-options>.editor-card-heading>div>strong{display:block}.simple-box-options>.editor-card-heading .section-help{margin:.2rem 0 0}
.mobile-clean-editor[data-editor-form="catalog"]:has(.catalog-editor:not([hidden]))>.editor-section-intro,.mobile-clean-editor[data-editor-form="catalog"]:has(.catalog-editor:not([hidden]))>[data-editor-catalog]{display:none}
.catalog-editor[data-simple-box-editor="true"]{padding-top:0;border-top:0}.box-editor-navigation{display:grid;gap:.8rem}.box-editor-back{justify-self:start;padding:.35rem 0;border:0;color:var(--color-primary);background:transparent;box-shadow:none}.box-editor-navigation [role="tablist"]{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.3rem;border-radius:13px;background:var(--color-primary-soft)}.box-editor-navigation [role="tab"]{min-height:44px;padding:.55rem;border:0;color:var(--color-text-muted);background:transparent;box-shadow:none}.box-editor-navigation [role="tab"][aria-selected="true"]{color:var(--color-text);background:#fff;box-shadow:0 2px 8px #17203312}.catalog-editor[data-simple-box-editor="true"][data-box-panel="description"] [data-option-groups-field]{display:none}.catalog-editor[data-simple-box-editor="true"][data-box-panel="options"]>.form-grid>:not([data-option-groups-field]){display:none}.catalog-editor[data-simple-box-editor="true"][data-box-panel="options"] .simple-box-options{margin:0;padding:.25rem 0;border:0}.catalog-editor[data-simple-box-editor="true"][data-box-panel="options"] .simple-box-options>.editor-card-heading>div{display:none}.catalog-editor[data-simple-box-editor="true"] .edit-actions{position:sticky;bottom:0;z-index:2;padding:.75rem 0;background:linear-gradient(transparent,#fff 18%)}
@media(max-width:600px){.box-editor-navigation [role="tab"]{font-size:.86rem}.catalog-editor[data-simple-box-editor="true"] .edit-actions{grid-template-columns:1fr}.catalog-editor[data-simple-box-editor="true"] .edit-actions [data-action="catalog-close"]{display:none}}
.catalog-editor[data-simple-box-editor="true"] textarea[name="description"]{min-height:82px;height:82px;resize:vertical}.catalog-editor[data-simple-box-editor="true"] .box-editor-navigation>div>p{margin:.2rem 0 0;color:var(--color-text-muted)}.simple-fixed-items{margin-top:.35rem;padding:.8rem;background:#fff}.simple-fixed-items [data-fixed-items]{gap:.4rem;margin-top:.55rem}.simple-fixed-items .fixed-item-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;gap:.5rem;padding:.5rem}.simple-fixed-items .fixed-item-card .form-grid{grid-template-columns:minmax(0,1fr) 100px;gap:.5rem}.simple-fixed-items .fixed-item-trash{width:42px;min-height:42px;padding:0;border-radius:10px}.simple-fixed-items .fixed-item-trash svg{width:19px;height:19px;fill:currentColor}.catalog-editor[data-simple-box-editor="true"] .fixed-items-editor+.option-group-editor{margin-top:.35rem}.catalog-editor[data-simple-box-editor="true"] .box-editor-navigation [role="tablist"]{display:none}
@media(max-width:600px){.simple-fixed-items .fixed-item-card .form-grid{grid-template-columns:minmax(0,1fr) 82px}.simple-fixed-items{padding:.65rem}.catalog-editor[data-simple-box-editor="true"]>.form-grid{gap:.75rem}}
.fixed-items-columns{display:none}.simple-fixed-items .fixed-items-columns{display:grid;grid-template-columns:minmax(0,1fr) 150px 42px;gap:.5rem;padding:0 .5rem;color:var(--color-text-muted);font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.simple-fixed-items .fixed-item-card .form-grid{grid-template-columns:minmax(0,1fr) 150px}.simple-fixed-items .compact-item-name,.simple-fixed-items .compact-quantity{display:block}.quantity-stepper{display:grid;grid-template-columns:42px minmax(52px,1fr) 42px;align-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:#fff}.quantity-stepper button{min-height:46px;padding:0;border:0;border-radius:0;color:var(--color-primary);background:var(--color-primary-soft);box-shadow:none;font-size:1.3rem}.quantity-stepper input{min-width:0;border:0;border-radius:0;text-align:center;-moz-appearance:textfield}.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.quantity-stepper input:focus{position:relative;z-index:1}
@media(max-width:600px){.simple-fixed-items .fixed-items-columns{grid-template-columns:minmax(0,1fr) 132px 42px}.simple-fixed-items .fixed-item-card .form-grid{grid-template-columns:minmax(0,1fr) 132px}.quantity-stepper{grid-template-columns:38px minmax(44px,1fr) 38px}.quantity-stepper button{min-height:44px}}
.visually-hidden{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}.simple-box-options .simple-option-row label{font-size:0}.simple-box-options .simple-option-row input{font-size:1rem}.option-group-toggle{width:100%;margin:.6rem 0 0;border:1px solid var(--color-border);color:var(--color-primary);background:#fff;box-shadow:none}.option-group-toggle[aria-expanded="true"]{background:var(--color-primary-soft)}.simple-box-options [data-group-options][hidden],.simple-box-options>.option-group-card>.editor-card-heading[hidden]{display:none}
.simple-fixed-items .embedded-option-group{grid-column:1/-1;margin:.1rem 0 0;padding:.65rem;border:0;border-top:1px solid var(--color-border);border-radius:0;background:transparent}.simple-fixed-items .embedded-option-group>.editor-card-heading{margin:0 0 .45rem}.simple-fixed-items .embedded-option-group>.editor-card-heading strong{font-size:.82rem}.simple-fixed-items .embedded-option-group [data-group-options]{display:flex;flex-wrap:wrap;gap:.4rem;margin:0}.simple-fixed-items .embedded-option-group .simple-option-row{flex:1 1 180px;max-width:280px}.availability-help{grid-column:1/-1;margin:.65rem 0 0;color:var(--color-text-muted);font-size:.84rem;line-height:1.45}.catalog-editor[data-simple-box-editor="true"] .edit-actions button[type="submit"]{border-color:#14804a;background:#14804a;color:#fff}.catalog-editor[data-simple-box-editor="true"] .edit-actions button[type="submit"]:hover{background:#0f6b3d}.catalog-editor[data-simple-box-editor="true"] [data-action="catalog-archive"]{color:var(--color-danger);background:var(--color-danger-soft)}
.simple-fixed-items .embedded-option-group [data-group-options]{display:grid;grid-template-columns:1fr;gap:.4rem}.simple-fixed-items .embedded-option-group .simple-option-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;width:100%;max-width:none;padding:.35rem 0;border:0;background:transparent}.simple-fixed-items .embedded-option-group .simple-option-row>.form-grid{display:block;min-width:0}.simple-fixed-items .embedded-option-group .simple-option-row input[data-option-label]{width:100%;min-height:42px}.simple-fixed-items .embedded-option-group .option-trash{align-self:end}.simple-fixed-items .embedded-option-group>.editor-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.simple-fixed-items .embedded-option-group>.editor-card-heading button{min-height:40px;padding:.45rem .7rem;font-size:.86rem}
.fixed-items-editor{margin-top:1rem;padding:1rem;border:1px solid var(--border);border-radius:14px;background:var(--soft)}.fixed-items-editor [data-fixed-items]{display:grid;gap:.8rem;margin-top:.8rem}.fixed-item-card{border:1px solid var(--border);border-radius:12px;padding:1rem;background:#fff}.fixed-item-card legend{font-weight:800}.fixed-item-card textarea{min-height:70px}
.delivery-zone-editor-card{position:relative;margin:1rem 0;border:1px solid var(--border);border-radius:14px;padding:1rem 3.6rem 1rem 1rem}.delivery-zone-editor-card legend{font-weight:800}.delivery-zone-remove{position:absolute;top:.7rem;right:.7rem;display:grid;width:2.5rem;height:2.5rem;min-height:0;padding:.55rem;place-items:center;border-color:transparent;color:var(--color-danger);background:var(--color-danger-soft);box-shadow:none}.delivery-zone-remove:hover{border-color:var(--color-danger);background:var(--color-danger-soft)}.delivery-zone-remove svg{width:1.25rem;height:1.25rem;fill:currentColor}
.fulfillment-editor-back{display:inline-flex;margin:0 0 .9rem;padding:.35rem 0;border:0;color:var(--color-primary);background:transparent;box-shadow:none}.fulfillment-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem}.fulfillment-editor[data-detail-open="false"]>[data-delivery-zone-editor],.fulfillment-editor[data-detail-open="false"]>button[type="submit"]{display:none}.fulfillment-editor[data-detail-open="true"]>[data-fulfillment-overview],.fulfillment-editor[data-detail-open="true"]>.fulfillment-add{display:none}.fulfillment-group{padding:.9rem;border-radius:14px}.fulfillment-group h4{margin:0 0 .65rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.fulfillment-group-delivery{background:color-mix(in srgb,var(--color-primary-soft) 72%,white)}.fulfillment-group-pickup{background:color-mix(in srgb,var(--color-primary-soft) 38%,white)}.fulfillment-mode-list{display:grid;gap:.45rem}.fulfillment-mode-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.65rem;width:100%;min-height:3.25rem;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-radius:11px;color:var(--color-text);background:var(--color-surface);box-shadow:none;text-align:left}.fulfillment-mode-row>span:first-child{overflow:hidden;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.fulfillment-mode-row strong{color:var(--color-primary);font-size:.84rem}.fulfillment-mode-row>span:last-child{color:var(--color-primary);font-size:1.5rem;line-height:1}
@media(max-width:48rem){.fulfillment-overview{grid-template-columns:1fr}.delivery-zone-editor-card{margin:.25rem 0 1rem;padding:1rem}.delivery-zone-editor-card .delivery-zone-remove{position:static;width:100%;margin-top:1rem}.fulfillment-add{width:100%;margin-top:1rem;border-style:dashed;background:transparent;color:var(--color-primary)}}
.lead-groups{display:grid;gap:1.25rem}.lead-group{padding:1.2rem;border:1px solid var(--border);border-radius:18px;background:#fff}.lead-group h3{display:flex;justify-content:space-between}.lead-group h3 span{display:grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:var(--soft);font-size:.85rem}.lead-card{margin:.65rem 0;border:1px solid var(--border);border-radius:14px;overflow:hidden}.lead-card summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer}.lead-card summary>span{display:grid;gap:.2rem}.lead-card summary small{color:var(--muted)}.lead-detail{padding:0 1rem 1rem}.lead-detail dl{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:.55rem 1rem;margin:0}.lead-detail dt{font-weight:800}.lead-detail dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.lead-group .empty-state{padding:1rem;margin:0}.lead-card summary::marker{color:var(--primary)}
@media(max-width:600px){.lead-card summary{display:grid}.lead-detail dl{grid-template-columns:1fr}.lead-detail dd{margin-bottom:.5rem}}
.rgpd-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.rgpd-tabs button[aria-pressed="true"]{color:#fff;background:var(--primary)}.rgpd-toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.rgpd-list{display:grid;gap:.75rem}.rgpd-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1rem;border:1px solid var(--border);border-radius:14px;background:#fff}.rgpd-card h3{margin:0 0 .45rem;font-size:1rem}.rgpd-card p{display:grid;gap:.25rem;margin:0;color:var(--muted);overflow-wrap:anywhere}.rgpd-card p span strong{color:var(--text)}.rgpd-dialog-card{width:min(760px,calc(100vw - 2rem));max-height:90vh;overflow:auto}[data-rgpd-feedback][data-error="true"]{color:var(--danger)}
@media(max-width:600px){.rgpd-card{grid-template-columns:1fr}.rgpd-card>button,.rgpd-toolbar button{width:100%}}
.admin-mode-banner{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;border:2px solid #b45309;border-radius:14px;background:#fff7ed;color:#7c2d12}.admin-mode-banner span{flex:1}.admin-client-list{display:grid;gap:.7rem;margin:1rem 0 2rem}.admin-client-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem;padding:1rem;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.admin-client-card p{margin:0;color:var(--color-text-muted)}.admin-client-card button{grid-column:2;grid-row:1/span 2}.admin-mode-banner[hidden]{display:none}@media(max-width:600px){.admin-mode-banner{align-items:stretch;flex-direction:column}.admin-client-card{grid-template-columns:1fr}.admin-client-card button{grid-column:1;grid-row:auto}}
.invoice-hub>.section-heading{margin-bottom:1.1rem}.invoice-shortcuts{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}.invoice-shortcuts a{display:grid;gap:.1rem;min-width:13rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);background:var(--color-surface);font-weight:800;text-decoration:none}.invoice-shortcuts a:first-child{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.invoice-shortcuts small{color:var(--color-text-muted);font-size:.76rem;font-weight:550}.invoice-panels{display:grid;gap:1.25rem}.invoice-panel{overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-card)}.invoice-panel>header{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(13rem,19rem);align-items:center;gap:1rem;padding:1rem 1.1rem}.invoice-panel-received>header{background:color-mix(in srgb,var(--color-primary-soft) 66%,#fff7ed)}.invoice-panel-clients>header{background:color-mix(in srgb,var(--color-primary-soft) 82%,white)}.invoice-panel-icon{display:grid;width:2.8rem;height:2.8rem;place-items:center;border-radius:50%;color:#fff;background:var(--color-primary);font-size:1.25rem;font-weight:900}.invoice-panel h3{margin:0;font-size:1.15rem}.invoice-panel header p{margin:.18rem 0 0;color:var(--color-text-muted);font-size:.86rem}.invoice-panel header aside{padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-radius:10px;color:var(--color-text-muted);background:rgb(255 255 255 / 70%);font-size:.8rem;line-height:1.4}.invoice-panel .table-wrap{margin:0;border:0;border-top:1px solid var(--color-border);border-radius:0}.invoice-panel table{margin:0}.invoice-tip{display:flex;align-items:flex-start;gap:1rem;margin-top:1.25rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--color-primary) 16%,transparent);border-radius:14px;background:linear-gradient(110deg,var(--color-primary-soft),#f4f8ff);font-size:.86rem;line-height:1.55}.invoice-tip strong{flex:0 0 auto;color:var(--color-primary)}
@media(max-width:760px){.invoice-shortcuts{display:grid;grid-template-columns:1fr}.invoice-shortcuts a{min-width:0}.invoice-panel>header{grid-template-columns:auto minmax(0,1fr)}.invoice-panel header aside{grid-column:1/-1}.invoice-tip{display:grid}.invoice-panel .table-wrap{overflow-x:auto}.invoice-panel table{min-width:720px}}
@media(max-width:48rem){.invoice-hub>.section-heading h2{font-size:1.55rem}.invoice-shortcuts{grid-template-columns:1fr 1fr;position:sticky;top:.5rem;z-index:3;padding:.3rem;border:1px solid var(--color-border);border-radius:12px;background:rgb(255 255 255 / 94%);box-shadow:var(--shadow-card);backdrop-filter:blur(10px)}.invoice-shortcuts a{min-height:3.6rem;min-width:0;justify-content:center;padding:.55rem .45rem;text-align:center;font-size:.82rem}.invoice-shortcuts small{display:none}.invoice-panel{border:0;background:transparent;box-shadow:none}.invoice-panel>header{padding:.8rem 0;background:transparent}.invoice-panel-icon{width:2.45rem;height:2.45rem}.invoice-panel header aside{font-size:.84rem}.invoice-panels .invoice-panel-clients{display:none}.invoice-hub:has(#client-invoices:target) .invoice-panel-received{display:none}.invoice-hub:has(#client-invoices:target) .invoice-panel-clients{display:block}.invoice-panel .table-wrap{overflow:visible}.invoice-panel table{min-width:0}.invoice-panel tbody tr{grid-template-columns:minmax(0,1fr) auto;gap:.18rem .65rem;padding:1rem}.invoice-panel tbody td{min-width:0}.invoice-panel-received tbody td:nth-child(1),.invoice-panel-clients tbody td:nth-child(1){grid-column:1;grid-row:1;color:var(--color-text);font-size:1rem;font-weight:800}.invoice-panel-received tbody td:nth-child(5),.invoice-panel-clients tbody td:nth-child(4){grid-column:2;grid-row:1;color:var(--color-text);font-size:1rem;font-weight:800;text-align:right}.invoice-panel-received tbody td:nth-child(2),.invoice-panel-clients tbody td:nth-child(2){grid-column:1;grid-row:2;color:var(--color-text-muted);font-size:.8rem}.invoice-panel-received tbody td:nth-child(6),.invoice-panel-clients tbody td:nth-child(5){grid-column:2;grid-row:2;text-align:right}.invoice-panel-received tbody td:nth-child(3){grid-column:1/-1;grid-row:3;margin-top:.35rem}.invoice-panel-received tbody td:nth-child(4){grid-column:1/-1;grid-row:4;color:var(--color-text-muted);font-size:.82rem}.invoice-panel-clients tbody td:nth-child(3){grid-column:1/-1;grid-row:3;margin-top:.35rem;font-weight:700}.invoice-panel-clients tbody td:nth-child(6){grid-column:1/-1;grid-row:4;color:var(--color-text-muted);font-size:.8rem}.invoice-panel-received tbody td:nth-child(7),.invoice-panel-clients tbody td:nth-child(7){grid-column:1/-1;grid-row:5;margin-top:.45rem}.invoice-panel tbody .empty-state{grid-column:1/-1!important;grid-row:auto!important;text-align:center!important}.invoice-tip{font-size:.82rem}}
