.admin-body { min-width:320px; background:#f4f1eb; }
.admin-shell { display:grid; min-height:100vh; grid-template-columns:14rem minmax(0,1fr); }
.admin-sidebar { position:sticky; top:0; display:flex; min-width:0; height:100vh; flex-direction:column; gap:.5rem; padding:1.5rem 1rem; border-right:1px solid var(--line); background:#f8f6f2; view-transition-name:admin-brand-area; }
.admin-sidebar .wordmark { margin:.15rem .65rem 1.4rem; }
.admin-sidebar .wordmark img { height:2rem; max-width:100%; }
.admin-sidebar .eyebrow { margin:.25rem .65rem .45rem; }
.admin-sidebar nav { display:grid; align-content:start; gap:.2rem; min-width:0; }
.admin-sidebar nav a { display:flex; min-height:2.75rem; align-items:center; padding:.65rem .7rem; border-radius:var(--radius-sm); color:var(--muted); font-size:.8rem; line-height:1.35; overflow-wrap:anywhere; }
.admin-sidebar nav a:hover { background:rgba(238,232,222,.55); color:var(--ink); }
.admin-sidebar nav a[aria-current="page"] { background:var(--soft); color:var(--ink); font-weight:600; }
.admin-back { margin-top:auto; padding:.8rem .7rem; color:var(--muted); font-size:.76rem; }
.admin-mobile-toggle { display:none; }
.admin-main { min-width:0; }
.admin-topbar { display:flex; min-height:6rem; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem clamp(1.2rem,3vw,3rem); border-bottom:1px solid var(--line); background:var(--bg); }
.admin-topbar > div { min-width:0; }
.admin-topbar .eyebrow { margin:0 0 .3rem; }
.admin-topbar h1 { margin:0; font:400 clamp(1.5rem,2.2vw,2rem)/1.15 var(--font-serif); overflow-wrap:anywhere; }
.admin-topbar form { flex:0 0 auto; }
.admin-content { min-width:0; padding:clamp(1rem,3vw,2.5rem); }
.admin-content > h2 { margin:1.8rem 0 .75rem; font:400 clamp(1.35rem,2vw,1.75rem)/1.25 var(--font-serif); }
.admin-content > h2:first-child { margin-top:0; }
.admin-content > h3,.admin-panel h3 { margin:1rem 0 .55rem; font-size:1rem; }
.admin-content :is(p,li,td,th,label,small,a,strong,span) { overflow-wrap:anywhere; }
.admin-content img { max-width:100%; height:auto; }
.admin-content pre { max-width:100%; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-content :is(input,select,textarea) { max-width:100%; }
.admin-content :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) { width:100%; min-width:0; min-height:var(--control-height); padding:.7rem .8rem; border:1px solid #d9d3c9; border-radius:var(--radius-sm); background:var(--paper); color:var(--ink); }
.admin-content textarea { min-height:7rem; resize:vertical; }
.admin-content :is(input,select,textarea):focus-visible { outline:0; border-color:var(--accent); box-shadow:var(--focus); }
.admin-content input[type=checkbox],.admin-content input[type=radio] { width:1.15rem; height:1.15rem; accent-color:var(--dark); }
.admin-content input[type=file] { width:100%; min-width:0; font-size:.8rem; }
.admin-content label { min-width:0; }
.admin-form { display:grid; min-width:0; gap:.85rem; margin:1rem 0 1.5rem; }
.admin-form > label,.admin-form .form-grid > label { display:grid; align-content:start; gap:.4rem; font-size:.8rem; font-weight:600; }
.admin-form > button,.admin-form > .button { justify-self:start; }
.admin-form .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1rem; }
.admin-main fieldset { min-width:0; max-width:100%; margin:0; padding:.9rem; border:1px solid var(--line); }
.admin-main fieldset legend { padding:0 .35rem; font-size:.82rem; font-weight:600; }
.admin-main .choice-option { min-width:0; }
.admin-panel { min-width:0; margin:1rem 0; padding:1rem; border:1px solid var(--line); background:var(--paper); }
.admin-panel > :last-child { margin-bottom:0; }
.admin-panel .admin-panel { background:var(--bg); }
.admin-empty { max-width:42rem; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); background:var(--paper); }
.admin-empty h2 { margin:0 0 .75rem; font:400 clamp(1.5rem,4vw,2rem)/1.2 var(--font-serif); }
.admin-empty > p:not(.eyebrow) { color:var(--muted); font-size:.9rem; }
.admin-empty .button { margin-top:.7rem; }
.admin-auth { background:var(--bg); }
.admin-queue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; margin:1rem 0 1.8rem; }
.admin-queue-grid-support { grid-template-columns:repeat(4,minmax(0,1fr)); }
.admin-queue-tile { display:flex; min-width:0; min-height:7rem; flex-direction:column; justify-content:space-between; gap:.65rem; color:var(--ink); text-decoration:none; }
.admin-queue-tile span { color:var(--muted); font-size:.8rem; line-height:1.45; }
.admin-queue-tile strong { font-size:1.7rem; font-weight:500; font-variant-numeric:tabular-nums; }
.admin-queue-tile:hover { border-color:#b8a58f; background:#fbf9f5; }
.admin-queue-grid > .admin-queue-tile { margin:0; }
.admin-content details { min-width:0; margin:.7rem 0; }
.admin-content summary { min-height:2.75rem; padding:.65rem 0; cursor:pointer; font-size:.85rem; }
.admin-content details[open] { padding-bottom:.75rem; border-bottom:1px solid var(--line); }
.admin-table-wrap { max-width:100%; margin:1rem 0 1.5rem; overflow:auto; overscroll-behavior-inline:contain; border:1px solid var(--line); background:var(--paper); }
.admin-table { width:100%; min-width:54rem; border-collapse:collapse; font-size:.78rem; line-height:1.5; }
.admin-table th,.admin-table td { padding:.7rem .75rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.admin-table th { background:#f2eee7; color:#5d564e; font-size:.7rem; font-weight:600; letter-spacing:.02em; }
.admin-table tr:last-child td { border-bottom:0; }
.admin-table td small { display:block; margin-top:.2rem; color:var(--muted); font-size:.72rem; }
.admin-table td form { display:grid; gap:.45rem; min-width:0; }
.admin-table td form .button { width:100%; }
.admin-table a:not(.button) { text-decoration:underline; text-underline-offset:2px; }
.admin-content nav[aria-label$="pages"] { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin:1rem 0; }
.admin-content nav[aria-label$="pages"] a { display:inline-flex; min-width:2.75rem; min-height:2.75rem; align-items:center; justify-content:center; padding:.45rem .65rem; border:1px solid var(--line); background:var(--paper); font-size:.8rem; }
.admin-content nav[aria-label$="pages"] a[aria-current="page"] { border-color:var(--dark); background:var(--dark); color:var(--paper); }
.customer-search { max-width:48rem; margin:1rem 0 1.5rem; }
.customer-profile-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1rem 0 1.5rem; }
.homepage-hero-preview { max-width:38rem; margin:.8rem 0 1rem; }
.homepage-hero-preview img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border:1px solid var(--line); background:var(--soft); }
.homepage-hero-preview figcaption { margin-top:.4rem; color:var(--muted); font-size:.75rem; }
.customer-profile-heading h2 { margin:.25rem 0; }
.customer-stat-grid { margin:1rem 0 1.5rem; }
.customer-contact-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:1rem 0 1.5rem; padding:1.1rem 0; border-block:1px solid var(--line); }
.customer-contact-panel > div { min-width:0; }
.customer-contact-panel h3 { margin:.25rem 0 .65rem; }
.customer-contact-panel details summary { cursor:pointer; }
.customer-pagination { display:flex; flex-wrap:wrap; gap:.4rem; margin:1rem 0; }
.customer-pagination a[aria-current="page"] { font-weight:700; text-decoration:underline; }
.collection-admin-preview { max-width:36rem; margin:1rem 0; }
.collection-admin-preview img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.inline-form { display:inline-flex; max-width:100%; }
.document-preview-list { min-width:0; }
.template-list { display:grid; gap:.6rem; }
.admin-content .product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr)); }
.admin-content :is(a,button).text-link-button { min-height:2.75rem; }
@media (max-width:1000px) {
  .admin-shell { grid-template-columns:12.5rem minmax(0,1fr); }
  .admin-sidebar { padding-inline:.7rem; }
  .admin-sidebar .wordmark { margin-inline:.45rem; }
  .admin-sidebar nav a { padding-inline:.55rem; font-size:.76rem; }
  .admin-queue-grid-support { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .admin-shell { grid-template-columns:minmax(0,1fr); align-content:start; }
  .admin-sidebar { position:sticky; z-index:40; top:0; display:flex; width:100%; height:auto; min-height:3.75rem; flex-direction:row; align-items:center; justify-content:space-between; gap:.75rem; padding:.45rem var(--gutter); border-right:0; border-bottom:1px solid var(--line); }
  .admin-sidebar .wordmark { margin:0; }
  .admin-sidebar .wordmark img { height:1.9rem; max-width:min(42vw,10rem); }
  .admin-sidebar .eyebrow,.admin-back { display:none; }
  .admin-mobile-toggle { display:inline-flex; min-width:2.8rem; min-height:2.8rem; align-items:center; justify-content:center; padding:.55rem .8rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); font-size:.8rem; font-weight:600; }
  .admin-sidebar nav { position:absolute; top:calc(100% + 1px); right:0; left:0; display:grid; max-height:calc(100dvh - 4rem); gap:.15rem; padding:.65rem var(--gutter) 1rem; overflow:auto; border-bottom:1px solid var(--line); background:var(--bg); box-shadow:0 .7rem 1.4rem rgba(41,40,35,.1); }
  .admin-sidebar nav[hidden] { display:none; }
  .admin-sidebar nav a { min-height:2.9rem; padding:.65rem .8rem; font-size:.88rem; }
  .admin-back { display:none; }
  .admin-topbar { min-height:4.75rem; align-items:center; padding:.8rem var(--gutter); }
  .admin-topbar h1 { font-size:clamp(1.4rem,6vw,1.8rem); }
  .admin-content { padding:1rem var(--gutter) 2.5rem; }
  .admin-queue-grid,.admin-queue-grid-support { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .admin-queue-tile { min-height:6rem; padding:.75rem; }
  .admin-queue-tile span { font-size:.73rem; }
  .admin-queue-tile strong { font-size:1.45rem; }
  .admin-form .form-grid,.admin-content .form-grid { grid-template-columns:minmax(0,1fr); gap:.15rem; }
  .customer-profile-heading { align-items:flex-start; flex-direction:column; }
  .customer-contact-panel { grid-template-columns:minmax(0,1fr); gap:.8rem; }
  .admin-table-wrap { overflow:visible; border:0; background:transparent; }
  .admin-table,.admin-table tbody,.admin-table tr,.admin-table td { display:block; width:100%; min-width:0; }
  .admin-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .admin-table tbody { display:grid; gap:.75rem; }
  .admin-table tr { min-width:0; padding:.65rem .8rem; border:1px solid var(--line); background:var(--paper); }
  .admin-table td { display:grid; grid-template-columns:minmax(6.4rem,34%) minmax(0,1fr); gap:.45rem; padding:.45rem 0; border:0; border-bottom:1px solid #e9e4dc; }
  .admin-table td:last-child { border-bottom:0; }
  .admin-table td::before { content:attr(data-label); color:var(--muted); font-size:.7rem; font-weight:600; line-height:1.4; }
  .admin-table td form { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:center; margin-top:.2rem; }
  .admin-table td form input,.admin-table td form select,.admin-table td form textarea { grid-column:1/-1; }
  .admin-table td form .button { width:100%; min-height:2.75rem; padding:.6rem; }
  .admin-content nav[aria-label$="pages"] { gap:.3rem; }
  .admin-content nav[aria-label$="pages"] a { min-width:2.8rem; }
  .inline-form { display:inline-flex; }
  .admin-content .product-grid { grid-template-columns:minmax(0,1fr); }
  .admin-content .button { max-width:100%; white-space:normal; }
}
@media (max-width:380px) {
  .admin-topbar { align-items:flex-start; }
  .admin-topbar form { padding-top:.15rem; }
  .admin-queue-grid,.admin-queue-grid-support { gap:.4rem; }
  .admin-queue-tile { padding:.6rem; }
  .admin-queue-tile span { font-size:.68rem; }
  .admin-table td { grid-template-columns:minmax(5.8rem,36%) minmax(0,1fr); gap:.35rem; font-size:.76rem; }
  .admin-table td::before { font-size:.66rem; }
  .admin-content .button { padding:.65rem .8rem; font-size:.75rem; }
}
@media (prefers-reduced-motion:reduce) {
  .admin-sidebar nav { scroll-behavior:auto; }
}

/* Guided product setup */
.product-setup [hidden] { display:none !important; }
.product-form-intro { max-width:48rem; margin:.2rem 0 .9rem; font-size:.92rem; }
.product-setup-steps { display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 .85rem; padding:.3rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); }
.product-setup-steps button { display:inline-flex; min-height:2.65rem; align-items:center; gap:.5rem; padding:.45rem .75rem; border:0; border-radius:var(--radius-sm); background:transparent; color:var(--muted); font:inherit; cursor:pointer; }
.product-setup-steps button[aria-current="step"] { background:var(--soft); color:var(--ink); font-weight:700; }
.product-setup-steps button span { display:grid; width:1.45rem; height:1.45rem; place-items:center; border:1px solid currentColor; border-radius:50%; font-size:.75rem; }
.product-setup-step { min-width:0; padding:clamp(1rem,2.5vw,1.6rem); border:1px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); }
.product-setup-step > h2 { margin:.15rem 0 .45rem; font:400 clamp(1.35rem,2vw,1.7rem)/1.25 var(--font-serif); }
.product-setup-step > p:not(.eyebrow) { max-width:48rem; margin:.35rem 0 .75rem; color:var(--muted); }
.product-setup-step .form-field { max-width:48rem; }
.product-setup-step > .form-field { margin:.7rem 0; }
.product-setup-step textarea { min-height:6rem; }
.product-setup-step .field-optional { color:var(--muted); font-size:.78em; font-weight:400; }
.product-setup-steps + .product-setup-step { margin-top:.25rem; }
.product-question-list { display:grid; gap:.8rem; margin:1rem 0; }
.product-question { min-width:0; padding:.85rem 1rem; border:1px solid var(--line); border-radius:var(--radius-sm); background:#fff; }
.product-question-title { padding:0 .35rem; font-weight:700; }
.product-question-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(13rem,.8fr); gap:.55rem 1rem; }
.product-question .form-field { margin:.3rem 0 .6rem; }
.product-question-required { margin:.15rem 0 .6rem; }
.product-question-choices { margin:.6rem 0; padding:.75rem; border-radius:var(--radius-sm); background:var(--bg); }
.product-question-choices > p { margin:.1rem 0 .35rem; }
.product-choice-list { display:grid; gap:.45rem; margin:.5rem 0; }
.product-choice-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(9rem,.4fr) auto; align-items:end; gap:.65rem; }
.product-choice-row label { display:grid; gap:.3rem; font-size:.8rem; font-weight:600; }
.product-choice-row [data-remove-choice] { min-height:2.65rem; }
.product-choice-fallback { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin-top:.75rem; }
.product-question-advanced { margin-top:.55rem; border-top:1px solid var(--line); }
.product-question-advanced summary { width:max-content; max-width:100%; padding:.75rem 0; color:var(--ink); font-size:.84rem; font-weight:600; cursor:pointer; }
.product-question-advanced > :not(summary) { max-width:48rem; }
.product-question-kind { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.product-condition { margin:.8rem 0; padding:.8rem; border:1px solid var(--line); border-radius:var(--radius-sm); }
.product-condition legend { padding:0 .35rem; font-weight:600; }
.product-condition-rule { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.product-question-actions { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-top:.7rem; }
.product-question-actions .button { min-height:2.5rem; padding:.5rem .7rem; font-size:.78rem; }
.product-question-actions .text-link-button { margin-left:auto; }
.product-template-start { max-width:48rem; margin:1rem 0; padding:1rem; border-left:3px solid var(--accent); background:var(--bg); }
.product-template-start .form-field { margin:0 0 .5rem; }
.product-open-note,.product-after-save-note { max-width:48rem; margin:1rem 0; padding:.9rem 1rem; border-radius:var(--radius-sm); background:var(--bg); color:var(--ink); font-size:.88rem; line-height:1.55; }
.product-review-summary { display:grid; grid-template-columns:minmax(9rem,.35fr) minmax(0,1fr); max-width:48rem; margin:1rem 0; border-top:1px solid var(--line); }
.product-review-summary dt,.product-review-summary dd { margin:0; padding:.65rem .25rem; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.product-review-summary dt { color:var(--muted); font-size:.82rem; }
.product-review-summary dd { font-weight:600; }
.product-setup-controls { display:flex; justify-content:space-between; gap:.75rem; margin-top:.65rem; }
.product-setup-controls .button { min-width:7rem; }
.product-after-create { margin-top:1.5rem; }
@media (max-width:640px) {
  .product-setup-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.2rem; }
  .product-setup-steps button { min-width:0; min-height:2.75rem; justify-content:center; gap:.3rem; padding:.4rem .25rem; font-size:.72rem; line-height:1.2; text-align:left; }
  .product-setup-steps button span { flex:0 0 1.35rem; width:1.35rem; height:1.35rem; }
  .product-question-grid,.product-question-kind,.product-condition-rule,.product-choice-fallback { grid-template-columns:minmax(0,1fr); }
  .product-choice-row { grid-template-columns:minmax(0,1fr) minmax(7rem,.7fr); }
  .product-choice-row [data-remove-choice] { grid-column:1/-1; justify-self:start; }
  .product-review-summary { grid-template-columns:minmax(0,1fr); }
  .product-review-summary dt { padding-bottom:.1rem; border-bottom:0; }
  .product-review-summary dd { padding-top:.1rem; }
}
