.promo-form,.promo-cards{display:grid;gap:20px;margin:24px 0}.promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.promo-field{display:grid;gap:8px;margin:16px 0}.promo-field label,.promo-picker>label{font-weight:650}.promo-field input:not([type=checkbox]),.promo-picker>input,.promo-search input{width:100%;min-width:0;min-height:46px;border:1px solid var(--line,#dce2e8);border-radius:10px;padding:10px 12px;background:var(--card,#fff);color:var(--text,#17212c);font:inherit}.promo-check input,.promo-field input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px;accent-color:#00aaa6}.promo-field small,.promo-muted{font-size:13px;color:var(--muted,#7d8796);line-height:1.5}.promo-field ul{padding:0;list-style:none}.promo-field .errorlist,.promo-form>.errorlist{color:#c0393c}.promo-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.promo-actions form{margin:0}.promo-list-card{display:flex;justify-content:space-between;gap:20px;align-items:center}.promo-list-card h2{overflow-wrap:anywhere;margin:10px 0}.promo-rate{color:var(--accent,#00aaa6);white-space:nowrap}.promo-state{font-size:12px;background:var(--bg,#f5f7f8);border:1px solid var(--line);padding:5px 10px;border-radius:20px}.promo-picker{padding-top:12px;margin-top:16px;border-top:1px solid var(--line)}.promo-picker select[multiple]{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.promo-results{display:grid;gap:6px;max-height:260px;overflow:auto}.promo-result{text-align:left;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card,#fff);color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere}.promo-result:disabled{opacity:.5;cursor:default}.promo-selected{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.promo-chip{display:flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow-wrap:anywhere}.promo-chip button{flex-shrink:0;border:0;color:inherit;background:transparent;font:inherit;font-size:20px;cursor:pointer}.promo-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:24px 0}.promo-search input{flex:1;min-width:160px}.promo-box{margin:12px 0;padding:14px;border:1px solid var(--line,#cdd4dc);border-radius:12px;background:var(--card,transparent);color:inherit}.promo-box label{display:block;font-weight:650;font-size:14px;margin-bottom:8px}.promo-input-row{display:flex;flex-wrap:wrap;gap:8px}.promo-input-row input{flex:1;min-width:100px;width:0;min-height:42px;border:1px solid var(--line,#a3aebd);border-radius:8px;padding:8px 10px;background:transparent;color:inherit;font:inherit;font-size:16px;text-transform:uppercase}.promo-input-row button{min-height:42px;border:1px solid var(--line,#a3aebd);border-radius:8px;padding:8px 12px;background:transparent;color:inherit;font:inherit;cursor:pointer}.promo-input-row button:disabled{opacity:.5;cursor:wait}.promo-status{font-size:13px;line-height:1.4;margin:10px 0 0;overflow-wrap:anywhere}.promo-status:empty{display:none}.promo-status[data-error=true]{color:#d44c4c}.promo-totals{display:grid;gap:6px;margin-top:12px;font-size:14px}.promo-totals>div{display:flex;justify-content:space-between;gap:10px}.promo-totals .promo-discount{color:#00a396}.promo-totals .promo-final{font-weight:750;font-size:17px;padding-top:8px}.promo-box[hidden],.promo-totals [hidden]{display:none!important}@media(max-width:650px){.promo-grid{grid-template-columns:1fr;gap:0}.promo-list-card{display:block}.promo-list-card>.promo-actions{margin-top:16px}.promo-actions .btn{white-space:normal}.promo-search label{width:100%}.promo-search button{flex-shrink:0}}

.promo-totals[hidden]{display:none!important}

.promo-stores{padding:14px 0;margin:10px 0;border:0;min-width:0}.promo-stores legend{font-weight:650}.promo-stores label,.promo-check>label{display:flex;gap:8px;align-items:center}.promo-stores label{font-weight:500;padding:6px 0}.promo-stores input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:#00aaa6}.promo-stores ul{list-style:none;padding:0}


/* Keep form rows aligned even when only one field has help text. */
.promo-form .promo-grid { align-items: start; }
.promo-form .promo-field {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  margin: 0;
}
.promo-form .promo-field > label {
  display: block;
  margin: 0;
  line-height: 1.4;
}
.promo-form .promo-field > label > span[aria-label] {
  display: inline;
  margin-left: 3px;
  color: var(--accent, #00aaa6);
}
.promo-form .promo-field > input:not([type="checkbox"]) {
  box-sizing: border-box;
  height: 46px;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  line-height: 24px;
}
.promo-form .promo-field > small { margin: 0; }
.promo-form .promo-check { margin-top: 18px; }
.promo-form .promo-check > label {
  display: flex;
  align-items: center;
  gap: 10px;
}
.promo-form .promo-check input[type="checkbox"] {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
}
.promo-form > .admin-card > .promo-field:not(.promo-check) { margin-top: 18px; }
.promo-form .errorlist { margin: 0; padding-left: 18px; }

@media (max-width: 650px) {
  .promo-form .promo-grid { row-gap: 18px; }
}
