/* All tokens are optional; component styles are scoped, including the dialog. */
.hy-coupon-manager {
  --hcm-bg: var(--coupon-bg, var(--bg-card, var(--surface, #fff)));
  --hcm-text: var(--coupon-text, var(--text-primary, var(--text, #172033)));
  --hcm-muted: var(--coupon-muted, var(--muted, var(--text2, #566175)));
  --hcm-border: var(--coupon-border, var(--border, var(--border-color, #cbd2dc)));
  --hcm-accent: var(--coupon-accent, var(--accent, var(--primary, #2455b8)));
  --hcm-soft: var(--coupon-surface, var(--surface-secondary, var(--bg, #f3f5f9)));
  color: var(--hcm-text);
  background: var(--hcm-bg);
  font: 400 .875rem/1.45 var(--coupon-font, system-ui, sans-serif);
  width: 100%;
  min-width: 0;
  container-type: inline-size;
}
.hy-coupon-manager *, .hy-coupon-manager *::before, .hy-coupon-manager *::after { box-sizing: border-box; }
.hy-coupon-manager h2, .hy-coupon-manager h3 { margin: 0; font-size: 1.25rem; line-height: 1.3; color: inherit; }
.hy-coupon-manager p { margin: .5rem 0; }
.hy-coupon-manager .hcm-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.hy-coupon-manager .hcm-context, .hy-coupon-manager .hcm-muted { color: var(--hcm-muted); overflow-wrap: anywhere; }
.hy-coupon-manager .hcm-toolbar, .hy-coupon-manager .hcm-actions { display: flex; flex-wrap: wrap; gap: .4rem; }
.hy-coupon-manager button, .hy-coupon-manager input, .hy-coupon-manager select, .hy-coupon-manager textarea { font: inherit; color: inherit; border: 1px solid var(--hcm-border); border-radius: .4rem; background: var(--hcm-bg); min-width: 0; }
.hy-coupon-manager button { padding: .45rem .7rem; min-height: 2.25rem; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
.hy-coupon-manager button:hover:not(:disabled) { background: var(--hcm-soft); border-color: var(--hcm-accent); }
.hy-coupon-manager button:disabled { opacity: .5; cursor: not-allowed; }
.hy-coupon-manager .hcm-primary { color: var(--coupon-accent-text, #fff); background: var(--hcm-accent); border-color: var(--hcm-accent); }
.hy-coupon-manager .hcm-primary:hover:not(:disabled) { color: var(--hcm-text); }
.hy-coupon-manager :is(button, input, select, textarea):focus-visible { outline: 3px solid var(--hcm-accent); outline-offset: 2px; }
.hy-coupon-manager label { display: flex; flex-direction: column; gap: .3rem; font-weight: 600; min-width: 0; }
.hy-coupon-manager input, .hy-coupon-manager select, .hy-coupon-manager textarea { padding: .5rem; width: 100%; min-height: 2.5rem; font-weight: 400; }
.hy-coupon-manager textarea { resize: vertical; }
.hy-coupon-manager .hcm-filters { display: grid; grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr)); gap: .75rem; }
.hy-coupon-manager .hcm-message { color: var(--hcm-muted); margin: .75rem 0; }
.hy-coupon-manager .hcm-error, .hy-coupon-manager .hcm-dialog-error { color: var(--coupon-error, #a52222); background: var(--coupon-error-bg, #fff1f1); padding: .75rem; border-radius: .4rem; overflow-wrap: anywhere; }
.hy-coupon-manager [hidden] { display: none !important; }
.hy-coupon-manager .hcm-table-wrap { overflow-x: auto; border: 1px solid var(--hcm-border); border-radius: .5rem; }
.hy-coupon-manager table { border-collapse: collapse; width: 100%; text-align: left; font-size: .8125rem; }
.hy-coupon-manager th, .hy-coupon-manager td { padding: .6rem; border-bottom: 1px solid var(--hcm-border); vertical-align: top; overflow-wrap: anywhere; }
.hy-coupon-manager thead { background: var(--hcm-soft); }
.hy-coupon-manager tbody tr:last-child > * { border-bottom: 0; }
.hy-coupon-manager td > span { display: block; }
.hy-coupon-manager .hcm-code { font-weight: 700; }
.hy-coupon-manager .hcm-status { display: inline-block; border: 1px solid var(--hcm-border); border-radius: 2rem; padding: .1rem .5rem; text-transform: capitalize; background: var(--hcm-soft); }
.hy-coupon-manager .hcm-status[data-status="active"] { color: var(--coupon-success, #17603b); background: var(--coupon-success-bg, #edf8f1); }
.hy-coupon-manager .hcm-empty td { text-align: center; padding: 2rem 1rem; color: var(--hcm-muted); }
.hy-coupon-manager .hcm-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.hy-coupon-manager .hcm-dialog { color: var(--hcm-text); background: var(--hcm-bg); width: min(36rem, calc(100% - 2rem)); max-width: calc(100% - 2rem); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--hcm-border); border-radius: .75rem; box-shadow: 0 1rem 4rem #0003; overflow: auto; font: inherit; }
.hy-coupon-manager .hcm-dialog::backdrop { background: #11182799; }
.hy-coupon-manager .hcm-dialog header, .hy-coupon-manager .hcm-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; }
.hy-coupon-manager .hcm-dialog header { border-bottom: 1px solid var(--hcm-border); }
.hy-coupon-manager .hcm-dialog header h3 { overflow-wrap: anywhere; min-width: 0; }
.hy-coupon-manager .hcm-dialog footer { justify-content: flex-end; flex-wrap: wrap; border-top: 1px solid var(--hcm-border); }
.hy-coupon-manager .hcm-dialog-body { padding: 1rem; }
.hy-coupon-manager .hcm-dialog-body label { margin-bottom: 1rem; }
.hy-coupon-manager .hcm-dialog-body p { color: var(--hcm-muted); }
.hy-coupon-manager .hcm-check { flex-direction: row; align-items: flex-start; }
.hy-coupon-manager .hcm-check input { width: 1.2rem; min-height: 1.2rem; flex: 0 0 1.2rem; margin: .1rem .3rem 0 0; accent-color: var(--hcm-accent); }
.hy-coupon-manager .hcm-activity-list { padding-left: 1.25rem; }
.hy-coupon-manager .hcm-activity-list li { padding: .75rem 0; border-bottom: 1px solid var(--hcm-border); overflow-wrap: anywhere; }
.hy-coupon-manager .hcm-activity-list span { display: block; margin-top: .25rem; }
@container (max-width: 760px) {
  .hy-coupon-manager .hcm-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hy-coupon-manager .hcm-table-wrap { border: 0; overflow: visible; }
  .hy-coupon-manager table, .hy-coupon-manager tbody { display: block; }
  .hy-coupon-manager thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .hy-coupon-manager tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border: 1px solid var(--hcm-border); border-radius: .6rem; margin-bottom: .75rem; padding: .5rem; }
  .hy-coupon-manager tbody th, .hy-coupon-manager tbody td { display: block; border: 0; padding: .4rem; min-width: 0; }
  .hy-coupon-manager tbody :is(th, td)::before { content: attr(data-label); display: block; font-size: .75rem; font-weight: 500; color: var(--hcm-muted); margin-bottom: .2rem; }
  .hy-coupon-manager tbody th, .hy-coupon-manager td[data-label="Actions"], .hy-coupon-manager td[data-label="Schedule"], .hy-coupon-manager .hcm-empty td { grid-column: 1 / -1; }
  .hy-coupon-manager .hcm-code { font-size: 1rem; }
  .hy-coupon-manager button { min-height: 2.75rem; }
}
@media (max-width: 480px) {
  .hy-coupon-manager .hcm-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hy-coupon-manager .hcm-toolbar { width: 100%; }
  .hy-coupon-manager .hcm-toolbar button { flex: 1 1 auto; }
  .hy-coupon-manager input, .hy-coupon-manager select, .hy-coupon-manager textarea { font-size: 1rem; }
  .hy-coupon-manager .hcm-dialog { width: calc(100% - 1rem); max-width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); }
}

/* V16.1 Coupon Center glass panels, mobile cards and actual mode support. */
.hy-coupon-manager{--hcm-bg:rgba(12,18,32,.97);--hcm-soft:rgba(20,29,48,.97);--hcm-text:#eaf3ff;--hcm-muted:#a6b6d2;--hcm-border:rgba(139,162,211,.27);--hcm-accent:#35eaff;--coupon-accent-text:#061323;--coupon-success:#83f0c6;--coupon-success-bg:rgba(30,130,112,.15);border:1px solid rgba(53,234,255,.24);border-radius:18px;padding:clamp(12px,2vw,24px);box-shadow:0 12px 45px rgba(0,0,0,.23),0 0 28px rgba(133,69,255,.10)}
.hy-coupon-manager .hcm-table-wrap{border-radius:12px}
.hy-coupon-manager tbody tr:hover{background:rgba(53,234,255,.055)}
.hy-coupon-manager button{min-height:42px;border-radius:10px}
.hy-coupon-manager button:hover:not(:disabled){box-shadow:0 0 15px rgba(53,234,255,.18)}
.hy-coupon-manager .hcm-primary{box-shadow:0 0 20px rgba(53,234,255,.22)}
html[data-mode="light"] .hy-coupon-manager{--hcm-bg:#fff;--hcm-soft:#f1f5ff;--hcm-text:#172b49;--hcm-muted:#53677f;--hcm-border:rgba(56,91,138,.22);--hcm-accent:#1479bd;--coupon-accent-text:#fff;--coupon-success:#177355;--coupon-success-bg:#e6f6ef;box-shadow:0 12px 30px rgba(30,60,110,.09)}
html[data-mode="light"] .hy-coupon-manager .hcm-dialog{background:#fff;color:#172b49}
@container(max-width:540px){.hy-coupon-manager .hcm-filters{grid-template-columns:minmax(0,1fr)!important}.hy-coupon-manager tbody tr{grid-template-columns:minmax(0,1fr)!important;padding:10px}.hy-coupon-manager tbody :is(th,td){grid-column:1/-1;overflow-wrap:anywhere}.hy-coupon-manager .hcm-actions{width:100%}.hy-coupon-manager .hcm-actions button{flex:1 1 100px}}

/* V16.2 central command presentation: real controls, no cosmetic fake buttons */
.hy-coupon-manager{position:relative;overflow:hidden;border:1px solid rgba(53,234,255,.38);border-radius:20px;padding:clamp(14px,2.2vw,28px)!important;background:radial-gradient(ellipse at 90% -12%,rgba(171,75,255,.18),transparent 45%),linear-gradient(145deg,rgba(8,17,37,.97),rgba(7,11,25,.98));box-shadow:0 0 0 1px rgba(148,87,255,.17),0 24px 70px rgba(0,0,0,.26),0 0 48px rgba(46,208,255,.09)}
.hy-coupon-manager:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,#35eaff,#6788ff,#ac51fa,#fa4fda,#35eaff);background-size:200% 100%;animation:hcm-chroma-sweep 10s linear infinite}
@keyframes hcm-chroma-sweep{to{background-position:200% 0}}
.hy-coupon-manager .hcm-eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:#74dffd}
.hy-coupon-manager .hcm-header h2{font-size:clamp(27px,3.3vw,44px);font-weight:850;letter-spacing:-.055em;line-height:1.1;margin:5px 0 9px}
.hy-coupon-manager .hcm-title-glow{background:linear-gradient(100deg,#35eaff,#8f8eff,#c86aff);color:transparent;background-clip:text;-webkit-background-clip:text}
.hy-coupon-manager .hcm-subtitle{color:var(--hcm-muted);max-width:610px;line-height:1.55}
.hy-coupon-manager .hcm-quick-filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 18px}
.hy-coupon-manager .hcm-quick-filters button{border-radius:999px;padding:8px 13px;min-height:38px;background:rgba(118,145,206,.07);white-space:nowrap;flex:0 0 auto}
.hy-coupon-manager .hcm-quick-filters button[aria-pressed="true"]{background:linear-gradient(115deg,rgba(53,234,255,.17),rgba(157,99,255,.2));color:#8df4ff;border-color:rgba(53,234,255,.65);box-shadow:0 0 18px rgba(53,234,255,.14)}
.hy-coupon-manager .hcm-header{padding-block:8px 17px;border-bottom:1px solid rgba(145,165,209,.18)}
html[data-mode="light"] .hy-coupon-manager{background:linear-gradient(145deg,#fff,#f2f6ff)}
html[data-mode="light"] .hy-coupon-manager .hcm-eyebrow{color:#126b9d}
html[data-mode="light"] .hy-coupon-manager .hcm-quick-filters button[aria-pressed="true"]{color:#115785}
@media(max-width:560px){.hy-coupon-manager .hcm-quick-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;max-width:100%}.hy-coupon-manager .hcm-header{align-items:flex-start}.hy-coupon-manager .hcm-toolbar{width:100%;display:grid;grid-template-columns:1fr 1fr}.hy-coupon-manager .hcm-toolbar button:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.hy-coupon-manager:before{animation:none}}
/* Contain wide tabular content instead of expanding mobile layout. */
.hy-coupon-manager{width:100%;max-width:100%;min-width:0;overflow:hidden}
.hy-coupon-manager .hcm-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto}
.hy-coupon-manager .hcm-table-wrap table{max-width:100%}
.hy-coupon-manager .hcm-header>div{min-width:0;max-width:100%}
.hy-coupon-manager .hcm-context,.hy-coupon-manager .hcm-subtitle{overflow-wrap:anywhere}

.hy-coupon-manager .hcm-pagination{display:flex;gap:12px;justify-content:flex-end;align-items:center;padding:14px 4px;flex-wrap:wrap;color:var(--hcm-muted)}
.hy-coupon-manager .hcm-pagination button{min-width:92px;border:1px solid var(--hcm-border);background:var(--hcm-soft);color:var(--hcm-text)}
.hy-coupon-manager .hcm-pagination button:disabled{opacity:.38}
@media(max-width:600px){.hy-coupon-manager .hcm-pagination{justify-content:space-between;font-size:12px}}
