.coupons-page { min-width: 0; font-size: 13px; }
.coupon-tabs, .coupon-toolbar, .coupon-toolbar > div, .coupon-toolbar form, .coupon-filters, .coupon-summary, .coupon-pagination, .coupon-pagination > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.coupon-tabs { margin: 0 0 18px; padding: 0 0 14px; border-bottom: 1px solid var(--line); }
.coupon-toolbar, .coupon-pagination { justify-content: space-between; }
.coupon-toolbar form { flex: 0 1 390px; flex-wrap: nowrap; }
.coupon-toolbar input { min-width: 80px; flex: 1; }
.coupon-toolbar label, .coupon-filters label { display: flex; align-items: center; gap: 6px; }
.coupons-page input, .coupons-page select { min-height: 34px; padding: 6px 9px; border: 1px solid #d3dede; border-radius: 4px; font: inherit; background: white; color: inherit; }
.coupon-filters { padding: 13px 0; }
.coupon-summary { padding: 12px; margin-bottom: 12px; background: #eaf4f2; color: #286055; gap: 18px; }
.coupon-table-scroll { width: 100%; overflow-x: auto; background: white; }
.coupon-table { width: 100%; min-width: 920px; border-collapse: collapse; font-size: 12px; }
.coupon-table th, .coupon-table td { border-bottom: 1px solid #e6eeee; padding: 12px 9px; text-align: left; vertical-align: middle; }
.coupon-table th { white-space: nowrap; color: #56656c; }
.coupon-table td { max-width: 170px; overflow-wrap: anywhere; }
.coupon-table td:first-child { max-width: 140px; }
.coupon-table small { display: block; color: var(--muted); margin-top: 4px; }
.coupon-table tbody tr:hover { background: #f1faf9; }
.coupon-table .mall-button { min-height: 27px; padding: 3px 8px; white-space: nowrap; }
.coupon-table .coupon-empty { text-align: center; padding: 55px 12px; color: var(--muted); }
.coupon-pagination { padding: 15px 0; color: var(--muted); }
.coupon-detail-head { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.coupon-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 20px 0 28px; gap: 18px; }
.coupon-detail-grid dt { color: var(--muted); margin-bottom: 5px; }
.coupon-detail-grid dd { margin: 0; overflow-wrap: anywhere; font-weight: 600; }
.coupon-warning { background: #fff3dc; color: #73541b; padding: 13px; line-height: 1.7; }
.coupon-rule-table { border-collapse: collapse; width: 100%; background: white; }
.coupon-rule-table th, .coupon-rule-table td { text-align: left; border-bottom: 1px solid var(--line); padding: 15px; line-height: 1.8; }
.coupon-rule-table td:first-child { width: 220px; }
.campaign-form { max-width: 820px; margin: 24px auto; }
.campaign-form fieldset { border: 0; padding: 0; display: grid; gap: 18px; min-width: 0; }
.campaign-form label, .campaign-link label { display: grid; gap: 8px; color: #465b57; }
.campaign-form input, .campaign-form select, .campaign-link input { width: 100%; min-height: 38px; box-sizing: border-box; }
.campaign-field-pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.campaign-form .campaign-checkbox { display: flex; align-items: center; gap: 8px; }
.campaign-checkbox input { width: 16px; min-height: 16px; }
.campaign-image-preview { display: block; max-width: 240px; max-height: 320px; object-fit: contain; }
.campaign-link { max-width: 820px; margin: 20px auto; padding: 18px; background: #eaf4f2; display: grid; gap: 12px; }
.campaign-link .mall-button { width: fit-content; }
.campaign-table { min-width: 1050px; }
.campaign-yes { color: #158970; font-size: 17px; }
.campaign-no { color: #c04a4a; font-size: 17px; }
.campaign-rules { line-height: 1.9; padding-left: 24px; }
.campaign-rules li { margin: 14px 0; }
@media(max-width:600px) { .campaign-field-pair { grid-template-columns: 1fr; gap: 18px; } }
@media(max-width:800px) { .coupon-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.coupon-toolbar form { flex-basis:100%; }.coupon-rule-table td:first-child { width: 30%; } }
