/* Coupons view (owners only). Tokens only. */
body[data-admin-view="coupons"] .dashboard-content > header { flex-wrap: wrap; }
body[data-admin-view="coupons"] .header-brand { max-width: 100%; }
/* The shared timestamp describes order polling, not live Stripe catalog refresh. */
body[data-admin-view="coupons"] #view-updated { display: none; }
body[data-admin-view="coupons"] .title-group { flex-wrap: wrap; }
body[data-admin-view="coupons"] .view-subtitle { white-space: normal; }
body[data-admin-view="coupons"] .header-actions { flex-wrap: wrap; max-width: 100%; }
.nav-tab[hidden] { display: none; }
.coupons-view[hidden] { display: none; }
.cp-wrap { display: flex; flex-direction: column; gap: var(--sp-4); }
.cp-toolbar .cp-code-filter { flex: 1; min-width: 240px; max-width: 420px; }
.cp-toast { min-height: 1.2em; font-size: var(--fs-small); color: var(--ok-ink); }
.cp-table code, .cp-title code, .cp-related code { font-family: var(--font-mono); font-size: var(--fs-small); }
.cp-code { background: transparent; border: 0; padding: 0; min-height: 0; color: var(--accent-deep); font-weight: 600; text-decoration: underline; cursor: pointer; }
.cp-row-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.cp-pager { display: flex; flex-direction: column; align-items: flex-start; gap: var(--sp-2); margin-top: var(--sp-3); }
.cp-pager p { margin: 0; font-size: var(--fs-small); }
.cp-skel { padding: var(--sp-4); display: grid; gap: var(--sp-3); }
.cp-skel .skeleton { height: 28px; }
.cp-detail-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-4); flex-wrap: wrap; margin-bottom: var(--sp-4); }
.cp-back { font-size: var(--fs-small); color: var(--accent-deep); }
.cp-title { margin: var(--sp-2) 0; font-size: 28px; outline: none; }
.cp-chips { display: flex; gap: var(--sp-2); flex-wrap: wrap; }
.cp-detail-actions { display: flex; gap: var(--sp-2); flex-wrap: wrap; align-items: center; }
.cp-cannot { font-size: var(--fs-small); }
.cp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-4); margin-bottom: var(--sp-4); align-items: start; }
.cp-attr { margin-bottom: var(--sp-4); }
.cp-dl { margin: 0; display: grid; gap: var(--sp-2); }
.cp-kv { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: var(--sp-3); font-size: var(--fs-small); padding: 6px 0; border-bottom: 1px solid var(--tint); }
.cp-kv dt { color: var(--ink-muted); }
.cp-kv dd { margin: 0; overflow-wrap: anywhere; }
.cp-small { font-size: var(--fs-label); margin: 0; }
.cp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--sp-3); }
.cp-related, .cp-activity { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-2); }
.cp-activity li { display: flex; flex-direction: column; font-size: var(--fs-small); padding-bottom: var(--sp-2); border-bottom: 1px solid var(--tint); }
.cp-dialog { width: min(520px, calc(100% - 24px)); max-height: calc(100dvh - 24px); overflow-y: auto; }
.cp-dialog-wide { width: min(680px, calc(100% - 24px)); }
.cp-dialog::backdrop { background: var(--ink-alpha-58); }
.cp-dialog .dialog-head h2 { margin: 0; outline: none; font-size: var(--fs-h3); }
.cp-dialog form, .cp-dialog { font-size: var(--fs-body); }
.cp-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--sp-3); }
.cp-field label { font-size: var(--fs-small); font-weight: 600; }
.cp-hint { font-size: var(--fs-label); color: var(--ink-muted); }
.cp-two { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-3); }
.cp-fieldset { border: 1px solid var(--border); border-radius: var(--r-lg); padding: var(--sp-3) var(--sp-4); margin: 0 0 var(--sp-3); }
.cp-fieldset legend { padding: 0 6px; font-size: var(--fs-small); font-weight: 600; }
.cp-readonly { border: 1px solid var(--border); background: var(--surface-2); border-radius: var(--r-lg); padding: var(--sp-3); margin-bottom: var(--sp-3); font-size: var(--fs-small); }
.cp-scope { font-size: var(--fs-small); color: var(--ink-2); }
.cp-check { display: flex; gap: var(--sp-2); align-items: flex-start; margin: var(--sp-2) 0; font-size: var(--fs-small); }
.cp-check input { margin-top: 3px; }
.cp-confirm { padding: var(--sp-3); border: 1px solid var(--border-strong); border-radius: var(--r-lg); background: var(--surface-2); }
.cp-inline { display: flex; gap: var(--sp-2); }
.cp-inline input { flex: 1; min-width: 0; }
.cp-cust { font-size: var(--fs-small); }
.cp-cust-list { list-style: none; margin: var(--sp-2) 0; padding: 0; display: grid; gap: var(--sp-1); }
.cp-picked { display: flex; gap: var(--sp-2); align-items: center; flex-wrap: wrap; }
.cp-bad { color: var(--danger-ink); }
.cp-err:empty { display: none; }
.cp-err { margin-top: var(--sp-3); outline: none; }
.cp-err ul { margin: 0; padding-left: 18px; }
.cp-result-msg { margin: 0 0 var(--sp-3); }
.cp-dialog .callout { margin-bottom: var(--sp-3); }
.cp-product-list { max-height: 220px; overflow-y: auto; margin: var(--sp-2) 0; }
.cp-product-choice { padding: var(--sp-2); border-bottom: 1px solid var(--border); }
.cp-product-choice > span { min-width: 0; overflow-wrap: anywhere; }
.cp-product-choice small { display: block; }
@media (max-width: 800px) {
  body[data-admin-view="coupons"] .nav-group { flex-shrink: 0; }
  body[data-admin-view="coupons"] .nav-groups { padding-bottom: var(--sp-2); }
  .cp-grid, .cp-two { grid-template-columns: 1fr; }
  .cp-kv { grid-template-columns: 1fr; gap: 2px; }
  .cp-dialog .confirm-actions { flex-wrap: wrap; }
}
