.commerce-tabs { display:flex; gap:24px; flex-wrap:wrap; padding:0 0 16px; margin:0 0 24px; background:none; border:0; border-bottom:1px solid var(--line); }
.rule-editor section,.rule-preview,.rule-history { border-top:1px solid var(--line); padding-top:24px; margin-top:24px; }
.rule-editor h2,.rule-preview h2,.rule-history h2 { font-size:22px; margin:0 0 20px; }
.rule-editor .commerce-fields { margin-top:16px; }
.rule-editor [hidden] { display:none; }
.rule-checks { display:flex; gap:24px; flex-wrap:wrap; }
.rule-actions { margin-bottom:24px; }
.rule-facts { max-width:920px; margin:24px 0; }
.rule-facts > div { display:grid; grid-template-columns:minmax(140px,1fr) minmax(0,2fr); gap:24px; border-bottom:1px solid var(--line); padding:14px 0; }
.rule-facts dt { color:var(--muted); }
.rule-facts dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.rule-history > div { max-width:920px; border-bottom:1px solid var(--line); padding:16px 0; }
.rule-history span { margin-left:20px; color:var(--muted); }
.rule-history p { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:640px) {
  .rule-facts > div { grid-template-columns:1fr; gap:8px; }
  .rule-history span { display:block; margin:8px 0 0; }
}
.commerce-tabs a { display:inline-flex; align-items:center; gap:8px; padding:10px 0; color:var(--muted); text-decoration:none; min-height:44px; }
.commerce-tabs a[aria-current=page] { color:var(--navy); border-bottom:2px solid var(--orange); }
.commerce-tabs svg,.commerce-primary svg,.commerce-row-actions svg { width:17px; height:17px; }
.commerce-primary { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:11px 18px; background:var(--blue); color:#fff; border-radius:8px; text-decoration:none; white-space:nowrap; }
.commerce-primary:hover { background:var(--navy); color:#fff; }
.commerce-notice { padding:16px 20px; background:var(--surface); color:var(--muted); font-size:14px; border-radius:8px; line-height:1.8; }
.commerce-summary { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:26px 0 10px; font-size:14px; color:var(--muted); }
.product-admin-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; border-top:1px solid var(--line); padding:26px 0; }
.commerce-row-title { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.commerce-row-title h2 { font-size:21px; margin:0; overflow-wrap:anywhere; }
.product-admin-row p { margin:10px 0 0; font-size:14px; color:var(--muted); }
.product-admin-row .commerce-gap { color:var(--orange-ink); max-width:70ch; }
.commerce-row-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.commerce-row-actions a { display:inline-flex; align-items:center; gap:6px; min-height:44px; }
.product-history { grid-column:1/-1; padding:20px; background:var(--surface); }
.product-history details { padding:12px 0; border-top:1px solid var(--line); }
.product-history h3 { margin:0 0 12px; }
.commerce-editor { max-width:920px; }
.commerce-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.commerce-fields .full-field { grid-column:1/-1; }
.commerce-fields label,.commerce-editor > label { display:block; font-size:14px; }
.commerce-fields input,.commerce-fields select,.commerce-fields textarea,.commerce-editor > label textarea { display:block; width:100%; margin-top:8px; min-height:44px; background:#fff; font-size:16px; }
.rule-preview .scope-check { display:flex; align-items:center; gap:10px; min-height:44px; }
.rule-preview .scope-check input[type=checkbox] { display:inline-block; flex:0 0 18px; width:18px; height:18px; min-height:18px; margin:0; padding:0; accent-color:var(--blue); }
.commerce-editor .sku-section { padding:16px 0; margin:0; }
.sku-section h2 { margin:0 0 8px; font-size:23px; }
.sku-section p { margin:0; color:var(--muted); font-size:14px; }
.sku-editor-row { border:1px solid var(--line); padding:20px; border-radius:12px; margin:20px 0 0; min-width:0; }
.sku-editor-row legend { padding:0 8px; font-weight:600; }
.sku-editor-row .remove-sku { margin-top:18px; color:var(--orange-ink); }
.order-draft { border-top:1px solid var(--line); padding:28px 0; margin-top:20px; overflow-wrap:anywhere; }
.order-draft h2 { font-size:20px; margin:0; }
.order-draft h2 a { text-decoration:none; }
.order-draft .heading p { font-size:13px; color:var(--muted); margin:10px 0 0; }
.draft-lines > div { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.draft-lines p { font-size:14px; color:var(--muted); margin:8px 0; }
.draft-lines details { margin:14px 0 0; max-width:65ch; }
.order-total { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:24px 0 14px; font-size:14px; }
.order-total strong,.shop-price,.shop-product-action > strong { font-family:Barlow,sans-serif; font-size:26px; font-variant-numeric:tabular-nums; color:var(--navy); }
.order-draft > button { margin-top:16px; }
.commerce-issues { padding:18px 20px; background:var(--surface); border-radius:8px; }
.commerce-issues ul { margin:12px 0; padding-left:20px; }
.commerce-issues p { margin:0; font-size:14px; color:var(--muted); }
.commerce-shop-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:26px; }
.commerce-shop-heading p { margin-bottom:0; }
.commerce-shop-heading .public-actions { gap:24px; }
.shop-filter { display:flex; gap:12px; flex-wrap:wrap; margin:26px 0; }
.shop-filter button[aria-pressed=true] { color:#fff; background:var(--blue); border-color:var(--blue); }
.shop-product { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; padding:32px 0; border-bottom:1px solid var(--line); }
.shop-product h2 { margin:8px 0 14px; font-size:25px; }
.shop-product h2 a { color:var(--navy); text-decoration:none; }
.shop-product p { max-width:68ch; color:var(--muted); margin:12px 0; overflow-wrap:anywhere; }
.shop-product-action { display:flex; flex-direction:column; justify-content:center; gap:10px; text-align:right; }
.shop-product-action .public-text-link { justify-content:flex-end; }
.shop-detail { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr); gap:80px; margin:32px 0; }
.shop-detail h2 { font-size:30px; margin:0 0 24px; overflow-wrap:anywhere; }
.shop-detail h3 { font-size:21px; margin:38px 0 18px; }
.shop-detail p { line-height:1.9; max-width:70ch; color:var(--muted); }
.shop-detail form { background:var(--surface); padding:28px; border-radius:12px; }
.shop-detail form h3 { margin:0; }
.shop-detail input,.shop-detail select,.cart-row select,.cart-row input { width:100%; min-height:44px; margin-top:8px; background:#fff; font-size:16px; }
#cart-added { line-height:1.8; font-size:14px; }
#cart-added a { display:inline-flex; min-height:44px; align-items:center; }
.cart-group { max-width:950px; padding:24px 0 36px; border-bottom:1px solid var(--line); margin:0; }
.cart-group > h3 { font-size:24px; margin:0 0 18px; overflow-wrap:anywhere; }
.cart-row { display:grid; grid-template-columns:minmax(0,1fr) 150px; gap:32px; padding:22px 0; border-bottom:1px solid var(--line); }
.cart-row p { margin:9px 0; color:var(--muted); font-size:14px; }
.cart-row label { display:block; font-size:14px; max-width:360px; margin-top:14px; }
.cart-quantity label { margin-top:0; }
.cart-quantity button { margin-top:12px; }
.cart-row .error { color:var(--red); }
.draft-receipt { padding:28px; margin-top:32px; background:var(--surface); border-radius:12px; }
.draft-receipt > svg { width:32px; height:32px; color:var(--green); }
.draft-receipt h3 { margin:14px 0; font-size:24px; }
.commerce-editor [hidden],.package-field[hidden] { display:none; }
.reservation-submit,.inventory-sku { border-top:1px solid var(--line); margin-top:28px; padding:28px 0; }
.reservation-submit h2,.inventory-sku h2 { font-size:22px; margin:0 0 16px; overflow-wrap:anywhere; }
.reservation-submit form { margin-top:24px; }
.reservation-submit .primary { align-self:flex-start; white-space:normal; }
.reservation-deadline { font-weight:600; color:var(--navy); font-variant-numeric:tabular-nums; }
.inventory-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:640px; gap:16px; margin:24px 0; }
.inventory-counts dt { font-size:14px; color:var(--muted); }
.inventory-counts dd { margin:8px 0 0; font:600 26px Barlow,sans-serif; color:var(--navy); font-variant-numeric:tabular-nums; }
.stock-ledger { max-width:920px; }
.stock-ledger summary { min-height:44px; padding:12px 0; cursor:pointer; }
.stock-event { border-top:1px solid var(--line); padding:20px 0; overflow-wrap:anywhere; }
.stock-event p { font-size:14px; line-height:1.8; color:var(--muted); }
.stock-event a { display:inline-flex; gap:8px; align-items:center; min-height:44px; }
.stock-event svg,#reservation-refresh svg { width:18px; height:18px; }
#reservation-refresh { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; flex-shrink:0; }
.reservation-order .rule-history h3 { font-size:22px; }
.payment-filter { display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin:24px 0; }
.payment-filter select { min-height:44px; width:180px; max-width:100%; background:var(--paper); font-size:16px; }
.payment-event,.payment-order-event,.purchase-source { border-top:1px solid var(--line); padding:24px 0; overflow-wrap:anywhere; }
.payment-event h2,.payment-result h3 { font-size:22px; margin:0 0 12px; }
.payment-result { margin:24px 0; }
.reservation-order .order-total strong { white-space:nowrap; flex-shrink:0; }
.payment-result h4 { font-size:17px; margin:20px 0 12px; }
.payment-event .heading { align-items:flex-start; gap:16px; }
.payment-event p,.payment-result p { max-width:70ch; }
.payment-event .commerce-gap { color:var(--orange-ink); }
.payment-order-event a { display:inline-flex; gap:8px; align-items:center; min-height:44px; }
.payment-order-event svg,#payment-refresh svg { width:18px; height:18px; }
#payment-refresh { width:44px; height:44px; display:inline-flex; justify-content:center; align-items:center; padding:0; flex-shrink:0; }
.payment-loading { min-height:120px; background:var(--surface); padding:24px; }
.payment-event ::selection,.payment-result ::selection { background:var(--line); color:var(--navy); }
@media(max-width:600px) {
  .payment-event .heading { flex-direction:column; }
  .payment-event h2,.payment-result h3 { font-size:20px; }
}
.reservation-submit input,.reservation-submit textarea { caret-color:var(--blue); }
.reservation-order ::selection,.inventory-sku ::selection { background:var(--line); color:var(--navy); }
@media(max-width:600px) {
  .inventory-sku .heading { flex-direction:column; align-items:flex-start; }
  .inventory-counts { gap:12px; }
  .reservation-submit h2,.inventory-sku h2 { font-size:20px; }
}
.commerce-tabs a:focus-visible,.commerce-primary:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.shop-product a,.order-draft a { text-underline-offset:4px; }
.commerce-editor input,.commerce-editor textarea { caret-color:var(--blue); }
.commerce-editor ::selection,.shop-detail ::selection,.cart-group ::selection { background:var(--line); color:var(--navy); }
@media (max-width:900px) {
  .product-admin-row { grid-template-columns:1fr; gap:16px; }
  .commerce-row-actions { justify-content:flex-start; }
  .shop-detail { gap:32px; grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .commerce-summary { font-size:12px; }
  .commerce-summary span { width:100%; }
  .commerce-fields,.shop-detail { grid-template-columns:1fr; gap:20px; }
  .commerce-tabs { gap:20px; }
  .commerce-tabs a { font-size:13px; }
  .commerce-notice { padding:14px 16px; }
  .sku-editor-row { padding:16px; }
  .sku-section .heading { align-items:flex-start; flex-direction:column; gap:16px; }
  .commerce-row-title h2 { font-size:19px; }
  .commerce-shop-heading { gap:12px; }
  .commerce-shop-heading .public-actions { gap:14px; }
  .commerce-shop-heading .public-text-link { font-size:13px; }
  .shop-product { grid-template-columns:1fr; gap:14px; padding:26px 0; }
  .shop-product h2 { font-size:23px; }
  .shop-product-action { flex-direction:row; justify-content:space-between; align-items:center; text-align:left; }
  .shop-detail { margin-top:24px; gap:28px; }
  .shop-detail h2 { font-size:26px; }
  .shop-detail h3 { margin-top:28px; }
  .shop-detail form { padding:24px 18px; }
  .cart-row { grid-template-columns:minmax(0,1fr) 84px; gap:18px; }
  .cart-row strong { overflow-wrap:anywhere; }
  .cart-row select { font-size:14px; }
  .order-draft h2 { font-size:18px; }
  .order-draft .heading { align-items:flex-start; gap:12px; }
  .draft-lines > div { flex-direction:column; gap:8px; }
  .draft-receipt { padding:24px 18px; }
}

.shop-cover { width:220px; max-width:100%; max-height:180px; object-fit:contain; margin-bottom:20px; display:block; }
.fulfillment-row,.lesson-purchase { border-top:1px solid var(--line); padding:24px 0; overflow-wrap:anywhere; }
.fulfillment-row h2,.fulfillment-detail h2,.lesson-sources h2 { font-size:22px; margin:0 0 12px; }
.fulfillment-detail,.order-fulfillment,.lesson-sources { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.fulfillment-detail .heading,.fulfillment-row .heading,.fulfillment-history .heading { align-items:flex-start; gap:16px; }
.fulfillment-detail p,.order-fulfillment p,.lesson-sources p { max-width:70ch; }
.fulfillment-history,.fulfillment-action { margin-top:28px; }
.fulfillment-history h3,.order-fulfillment h3,.lesson-purchase h3 { font-size:20px; margin:0 0 16px; }
.fulfillment-history > div,.source-allocation { border-top:1px solid var(--line); padding:20px 0; }
.fulfillment-action summary,.lesson-sources summary { min-height:44px; padding:12px 0; cursor:pointer; }
.fulfillment-action form { margin:20px 0 28px; }
.source-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; max-width:700px; margin:24px 0; }
.source-counts dt { font-size:14px; color:var(--muted); }
.source-counts dd { margin:8px 0 0; font:600 22px Barlow,sans-serif; color:var(--navy); font-variant-numeric:tabular-nums; }
.lesson-sources .commerce-gap { color:var(--orange-ink); }
.source-allocation a { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.source-allocation svg,#source-refresh svg,#fulfillment-refresh svg,#source-jump svg { width:18px; height:18px; }
#source-refresh,#fulfillment-refresh,#source-jump { width:44px; height:44px; padding:0; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.fulfillment-detail ::selection,.order-fulfillment ::selection,.lesson-sources ::selection { background:var(--line); color:var(--navy); }
@media(max-width:900px) {
  .commerce-tabs:has(a[href="#commerce/fulfillment"][aria-current=page]) { flex-wrap:nowrap; overflow-x:auto; gap:20px; }
  .commerce-tabs:has(a[href="#commerce/fulfillment"][aria-current=page]) a { white-space:nowrap; flex-shrink:0; }
}
@media(max-width:600px) {
  .fulfillment-row .heading,.fulfillment-history .heading { flex-direction:column; }
  .source-counts { grid-template-columns:1fr; gap:12px; }
  .source-counts > div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
  .source-counts dd { margin:0; white-space:nowrap; }
  .fulfillment-row h2,.fulfillment-detail h2,.lesson-sources h2 { font-size:20px; }
}
.shop-gallery { display:grid; gap:20px; margin-bottom:28px; }
.shop-gallery img { width:100%; max-height:420px; object-fit:contain; }
.refund-row,.refund-source { padding:20px 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.refund-detail,.refund-context,.order-refunds,.refund-order-history { margin-top:28px; padding-top:24px; border-top:1px solid var(--line); overflow-wrap:anywhere; }
.refund-row h2,.refund-detail h2,.refund-context h2,.refund-order-history h2 { font-size:22px; margin:0 0 12px; }
.refund-row .heading,.refund-detail .heading { gap:16px; align-items:flex-start; }
.refund-detail p,.refund-context p,.order-refunds p { max-width:70ch; }
.refund-detail h3,.refund-context h3,.order-refunds h3 { font-size:20px; margin:0 0 16px; }
.refund-source h4 { font-size:16px; margin:0 0 12px; }
.refund-source label { max-width:520px; }
.refund-plan,.refund-reconciliation,.refund-history,#refund-action-form { margin-top:32px; }
.refund-plan summary { min-height:44px; padding:12px 0; cursor:pointer; }
.refund-history > div { border-top:1px solid var(--line); padding:20px 0; }
.refund-outcome { color:var(--navy); }
.refund-source input { font-variant-numeric:tabular-nums; }
#refund-refresh { width:44px; height:44px; padding:0; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
#refund-refresh svg { width:18px; height:18px; }
.refund-detail ::selection,.refund-context ::selection { background:var(--line); color:var(--navy); }
@media(max-width:900px) {
  .commerce-tabs:has(a[href$="/refunds"][aria-current=page]) { flex-wrap:nowrap; overflow-x:auto; gap:20px; }
  .commerce-tabs:has(a[href$="/refunds"][aria-current=page]) a { white-space:nowrap; flex-shrink:0; }
}
@media(max-width:600px) {
  .refund-row .heading,.refund-detail .heading { flex-direction:column; }
  .refund-row h2,.refund-detail h2,.refund-context h2,.refund-order-history h2 { font-size:20px; }
  .refund-history .heading { flex-direction:column; gap:8px; }
}
