.promo-admin-section [hidden] { display: none !important; }
.promo-admin-directory > summary { cursor: pointer; padding: .15rem 0 .8rem; }
.promo-admin-directory > summary .promo-summary-count { color: rgba(245,247,250,.62); font-size: .86rem; }
.promo-feedback { margin: .75rem 0; padding: .7rem .8rem; border: 1px solid rgba(120,255,170,.35); background: rgba(20,95,50,.18); white-space: pre-wrap; }
.promo-feedback.is-error { border-color: rgba(255,120,120,.48); background: rgba(100,20,20,.22); }
.promo-create-form, .promo-search { margin: .8rem 0 1rem; padding: .85rem; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.025); }
.promo-form-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; }
.promo-form-grid label, .promo-search label, .promo-account-form label { display: grid; gap: .35rem; min-width: 0; font-size: .82rem; font-weight: 700; }
.promo-form-grid input, .promo-form-grid select, .promo-form-grid textarea, .promo-search input, .promo-account-form input { width: 100%; min-width: 0; padding: .62rem .7rem; border: 1px solid rgba(255,255,255,.24); border-radius: .25rem; background: rgba(0,0,0,.34); color: inherit; font: inherit; }
.promo-form-grid select { color-scheme: dark; }
.promo-form-wide { grid-column: 1/-1; }
.promo-form-actions { margin-top: .75rem; }
.promo-generated { margin: .8rem 0 1rem; padding: .8rem; border: 1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.24); }
.promo-generated-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .55rem; }
.promo-generated textarea { width: 100%; padding: .65rem; border: 1px solid rgba(255,255,255,.2); background: rgba(0,0,0,.35); color: inherit; font: .82rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; }
.promo-batch-list, .promo-code-list, .promo-redemption-list, .promo-account-redemptions { display: grid; gap: .6rem; }
.promo-batch-card, .promo-code-card, .promo-account-redemption { border: 1px solid rgba(255,255,255,.12); background: rgba(2,7,12,.34); }
.promo-batch-card > summary, .promo-code-card > summary { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: .7rem; padding: .75rem .8rem; cursor: pointer; }
.promo-batch-card > summary > div { display: grid; gap: .2rem; }
.promo-batch-card[open] > summary, .promo-code-card[open] > summary { border-bottom: 1px solid rgba(255,255,255,.1); }
.promo-batch-counts { color: rgba(245,247,250,.68); font-size: .78rem; }
.promo-status { padding: .28rem .5rem; border: 1px solid rgba(120,255,170,.36); border-radius: 999px; font-size: .7rem; white-space: nowrap; }
.promo-status[data-status="revoked"], .promo-status[data-status="expired"] { border-color: rgba(255,120,120,.42); }
.promo-status[data-status="exhausted"] { border-color: rgba(255,210,100,.44); }
.promo-batch-meta { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .7rem .8rem; color: rgba(245,247,250,.66); font-size: .78rem; }
.promo-code-list { padding: 0 .8rem .8rem; }
.promo-code-card > summary { grid-template-columns: minmax(0,1fr) auto auto; }
.promo-code-value { overflow-wrap: anywhere; font-size: .86rem; }
.promo-code-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding: .65rem .8rem; }
.promo-redemption-list { padding: 0 .8rem .8rem; }
.promo-redemption-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem; border: 1px solid rgba(255,255,255,.09); background: rgba(255,255,255,.02); }
.promo-redemption-row p { margin: .18rem 0 0; font-size: .75rem; }
.promo-inline-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .45rem; }
.promo-account-section { margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.14); }
.promo-account-section h2 { margin-top: 0; }
.promo-account-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: .6rem; margin: .8rem 0; }
.promo-account-redemption { padding: .7rem .8rem; }
.promo-account-redemption-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .4rem; }
.promo-account-redemption p { margin: .3rem 0 0; }
@media (max-width: 900px) { .promo-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .promo-batch-card > summary, .promo-code-card > summary { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .promo-form-grid { grid-template-columns: 1fr; } .promo-form-wide { grid-column: auto; } .promo-redemption-row { align-items: stretch; flex-direction: column; } .promo-inline-actions { justify-content: flex-start; } .promo-account-form { grid-template-columns: 1fr; } .promo-account-form .button { width: 100%; } }
.promo-checkbox-field { display: flex !important; align-items: center; align-self: end; gap: .55rem !important; min-height: 2.5rem; }
.promo-checkbox-field input { width: auto !important; min-width: auto !important; margin: 0; }
.promo-scope-cascade { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .65rem; padding: .7rem; border: 1px dashed rgba(255,255,255,.15); background: rgba(0,0,0,.16); }
.promo-scope-field { display: grid; gap: .35rem; min-width: 0; font-size: .82rem; font-weight: 700; }
.promo-scope-field select, .promo-scope-custom { width: 100%; min-width: 0; padding: .62rem .7rem; border: 1px solid rgba(255,255,255,.24); border-radius: .25rem; background: rgba(0,0,0,.34); color: inherit; font: inherit; }
.promo-scope-field select { color-scheme: dark; }
@media (max-width: 900px) { .promo-scope-cascade { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .promo-scope-cascade { grid-template-columns: 1fr; } }

.creator-promo-list { margin-top: .9rem; }
.creator-promo-list .promo-code-card { padding-bottom: .65rem; }
.creator-promo-list .promo-code-card > p { margin: .25rem .8rem 0; font-size: .78rem; }
.creator-promo-list .promo-code-actions { align-items: center; justify-content: space-between; }

.promo-rules-summary { margin: .8rem; }
