.coupon-admin {margin:0;background:var(--bg-base,#f8fafc);color:var(--text-primary,#152039);font:14px/1.5 Inter,system-ui,sans-serif}
.coupon-admin *, .coupon-dialog *, .billing-coupon * {box-sizing:border-box;letter-spacing:0}
.coupon-admin [hidden], .coupon-dialog [hidden], .billing-coupon [hidden] {display:none!important}
.coupon-admin-main {max-width:1280px;margin:auto;padding:32px 24px 64px}
.coupon-page-header {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.coupon-page-header h1 {font-size:26px;font-weight:700;margin:0}
.coupon-page-header p {color:var(--text-secondary,#64748b);margin:4px 0 0}
.coupon-actions,.coupon-checkbox-row,.coupon-dialog-footer {display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.coupon-button,.coupon-icon {font:inherit;color:var(--text-primary,#152039);background:white;border:1px solid var(--border-subtle,#d5dfea);border-radius:6px;height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;cursor:pointer;transition:background .15s,color .15s;text-decoration:none;flex-shrink:0}
.coupon-icon {width:42px;padding:0}
.coupon-button svg,.coupon-icon svg,.coupon-search svg,.coupon-terms svg {width:18px;height:18px;flex-shrink:0}
.coupon-button.primary {background:#2563eb;border-color:#2563eb;color:white;font-weight:600}
.coupon-button:hover,.coupon-icon:hover {background:#eff6ff;color:#1d4ed8;border-color:#93b4ef}
.coupon-button.primary:hover {background:#1d4ed8;color:white}
.coupon-button:disabled,.coupon-icon:disabled {opacity:.55;cursor:wait}
.coupon-button:focus-visible,.coupon-icon:focus-visible,.coupon-admin input:focus-visible,.coupon-admin select:focus-visible,.billing-coupon input:focus-visible {outline:3px solid #93b4ef;outline-offset:2px}
.coupon-list-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.coupon-search {position:relative;flex:1;max-width:360px;min-width:160px;display:flex;align-items:center}
.coupon-search svg {position:absolute;left:12px;color:#64748b;pointer-events:none}
.coupon-admin input:not([type=checkbox]),.coupon-admin select,.billing-coupon input {border:1px solid #d5dfea;border-radius:6px;background:white;color:#152039;font:inherit;width:100%;height:42px;padding:8px 12px;min-width:0}
.coupon-search input {padding-left:38px!important}
.coupon-admin select {width:auto}
.coupon-muted {color:#64748b;font-size:12px}
.coupon-table-wrap {overflow:auto;border-top:1px solid #d5dfea;border-bottom:1px solid #d5dfea}
.coupon-table {border-collapse:collapse;width:100%;min-width:760px;text-align:left}
.coupon-table th {color:#64748b;font-size:12px;font-weight:600;background:#f1f5f9;padding:12px 14px;white-space:nowrap}
.coupon-table td {padding:14px;border-top:1px solid #e2e8f0;vertical-align:middle}
.coupon-table td small {display:block;color:#64748b;font-size:12px;margin-top:3px}
.coupon-table .coupon-icon {height:34px;width:34px;border-color:transparent;background:transparent}
.coupon-code-cell {display:flex;align-items:center;gap:6px;font-weight:600;white-space:nowrap}
.coupon-code-cell code {font-size:13px}
.coupon-status {display:inline-block;font-size:12px;font-weight:600;border-radius:4px;padding:3px 8px;background:#e2e8f0;color:#475569;text-transform:capitalize}
.coupon-status.active {background:#dcfce7;color:#166534}
.coupon-status.expired,.coupon-status.payment_failed {background:#fef3c7;color:#92400e}
.coupon-message {padding:12px 14px;margin:0 0 16px;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#166534;font-size:14px}
.coupon-message.error {border-color:#fecaca;background:#fef2f2;color:#b91c1c}
.coupon-dialog {color:#152039;font:14px/1.5 Inter,system-ui,sans-serif;border:1px solid #d5dfea;border-radius:8px;padding:0;width:min(600px,calc(100% - 32px));max-height:90vh;overflow:auto;box-shadow:0 18px 60px #15203929}
.coupon-dialog.wide {width:min(980px,calc(100% - 32px))}
.coupon-dialog::backdrop {background:#15203966}
.coupon-dialog-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid #e2e8f0;background:white;position:sticky;top:0;z-index:1}
.coupon-dialog-header h2 {margin:0;font-size:18px;font-weight:700}
.coupon-dialog-body {padding:20px}
.coupon-form-grid {display:grid;grid-template-columns:1fr 1fr;gap:18px}
.coupon-form-grid label {font-weight:600;display:flex;flex-direction:column;gap:6px;min-width:0}
.coupon-admin fieldset {border:0;padding:0;margin:20px 0}
.coupon-admin legend {font-weight:600;margin-bottom:10px}
.coupon-checkbox-row label,.coupon-checkbox {display:flex;align-items:center;gap:8px;font-weight:500}
.coupon-admin input[type=checkbox] {width:18px;height:18px;accent-color:#2563eb}
.coupon-dialog-footer {justify-content:flex-end;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}
.coupon-terms {display:flex;align-items:flex-start;gap:10px;color:#64748b;margin-top:20px;font-size:13px}
.coupon-terms svg {margin-top:2px;color:#2563eb}
.coupon-terms p {margin:0}
.billing-coupon {border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;padding:18px 0;margin:18px 0;font:14px/1.5 Inter,system-ui,sans-serif}
.billing-coupon form {display:flex;align-items:flex-end;gap:8px}
.billing-coupon label {display:flex;flex-direction:column;gap:6px;flex:1;min-width:0;font-weight:600}
.billing-coupon label span {display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.billing-coupon label svg {width:18px;height:18px;color:#2563eb;flex-shrink:0}
.billing-coupon label small {font-size:12px;font-weight:400;color:#64748b}
.billing-coupon input {text-transform:uppercase}
.billing-coupon input::placeholder {text-transform:none}
.billing-coupon .coupon-message {margin:12px 0 0}
#billing-checkout-dialog .coupon-dialog-footer {position:sticky;bottom:0;z-index:1;flex-wrap:nowrap}
#billing-checkout-confirm {height:auto;min-height:42px;white-space:normal;text-align:center;flex-shrink:1;padding:10px 15px}
.billing-discount-price {color:#166534;font-size:14px;font-weight:600;margin-top:12px}
.billing-discount-price small {display:block;color:#64748b;font-weight:400;font-size:12px;margin-top:3px}
.coupon-checkout-summary {display:grid;grid-template-columns:1fr auto;gap:12px;font-size:15px}
.coupon-checkout-summary dt {color:#64748b}
.coupon-checkout-summary dd {margin:0;font-weight:600;text-align:right}
.coupon-pending {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid #d5dfea;margin-bottom:16px}
.coupon-pending p {margin:0;color:#64748b;font-size:13px}
@media(max-width:600px) {.coupon-admin-main{padding:24px 16px}.coupon-page-header{align-items:flex-start}.coupon-page-header h1{font-size:23px}.coupon-form-grid{grid-template-columns:1fr}.coupon-dialog-body{padding:16px}.coupon-dialog-header,.coupon-dialog-footer{padding:14px 16px}.coupon-search{max-width:none}.coupon-actions{gap:6px}.coupon-page-header .coupon-button{padding:0 10px}.billing-coupon .coupon-button{padding:0 12px}.coupon-checkout-summary{font-size:14px;gap:10px}.coupon-checkout-summary dt{min-width:0}}
