/* The coupon box and pale blue tables follow the archived coupon interface. */
.coupon-page { color:#333; font:12px/1.65 var(--nuda-font,굴림,Gulim,sans-serif); }
.coupon-page h2 { margin:0 0 12px; padding:4px 7px; background:#d5f2f2; border-bottom:1px solid #b9d7dc; font-size:13px; }
.coupon-page h3 { margin:10px 0; font-size:12px; }
.coupon-card { margin:0 0 20px; padding:10px; min-width:0; border:1px solid #bbb; background:#fff; }
.coupon-page input,.coupon-page select,.coupon-page textarea { max-width:100%; min-width:0; box-sizing:border-box; border:1px solid #b4bdc0; border-radius:0; background:white; color:#333; font:inherit; padding:3px; }
.coupon-page input:not([type=number]),.coupon-page textarea { width:100%; }
.coupon-page select { width:100%; }
.coupon-page textarea { resize:vertical; }
.coupon-page button { border-radius:0; font:inherit; min-height:25px; padding:2px 9px; }
.coupon-page button:disabled { cursor:default; opacity:.55; }
.coupon-page small { display:block; color:#666; font-size:11px; }
.coupon-page a { overflow-wrap:anywhere; }
.coupon-diary-select { display:flex; gap:8px; align-items:center; max-width:540px; margin:0 0 12px; }
.coupon-diary-select label { flex:0 0 82px; }
.coupon-diary-select select { flex:1; }
.coupon-wallet-summary { display:flex; align-items:center; gap:15px; padding:10px; max-width:430px; margin-bottom:10px; border:1px solid #aaa; background:#f7f7ff; }
.coupon-wallet-summary p { margin:2px 0; }
.coupon-ticket { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.coupon-ticket > span { display:grid; place-items:center; width:60px; height:45px; border:3px double white; outline:1px solid #569fbb; background:#58badb; color:white; font-size:15px; font-weight:bold; letter-spacing:2px; }
.coupon-ticket > strong { white-space:nowrap; font-size:17px; }
.coupon-ticket small { display:inline; margin-left:2px; color:#333; font-weight:normal; }
.coupon-rules,.coupon-ledger { padding:7px 0; }
.coupon-rules summary,.coupon-ledger summary { cursor:pointer; color:#1a4a88; }
.coupon-rules p { margin:6px 0; }
.coupon-form-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:15px; margin-top:12px; }
.coupon-form { min-width:0; padding:10px; background:#fffaf0; border:1px solid #e2cba4; }
.coupon-form fieldset { min-width:0; padding:0; border:0; margin:0; }
.coupon-field { display:grid; grid-template-columns:100px minmax(0,1fr); gap:7px; align-items:start; padding:5px 0; }
.coupon-field label { padding-top:3px; }
.coupon-hint { margin:5px 0; color:#765a32; }
.coupon-reservation-receipt { margin:0 0 12px; padding:9px 10px; border:1px solid #9bcbd6; background:#f2fbff; overflow-wrap:anywhere; }
.coupon-reservation-receipt > strong { display:block; color:#28516e; }
.coupon-reservation-receipt p { margin:4px 0; }
#coupon-own-reservations { box-sizing:border-box; min-width:0; margin:12px 0; padding:8px; border:1px solid #c4cccc; background:#f7fbfc; }
#coupon-own-reservations h3 { margin:0 0 5px; }
#coupon-own-reservations .coupon-table-wrap { margin:8px 0; }
.coupon-table-wrap { width:100%; overflow-x:auto; margin:10px 0; }
.coupon-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.coupon-table caption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.coupon-table th,.coupon-table td { padding:6px; border:1px solid #c4cccc; vertical-align:top; overflow-wrap:anywhere; text-align:left; }
.coupon-table th { background:#d5f2f2; font-weight:normal; color:#555; }
.coupon-table td { background:#f7f7f7; }
.coupon-table th:first-child { width:140px; }
.coupon-table th:last-child { width:75px; }
.coupon-table .coupon-empty { text-align:center; padding:15px 5px; }
.coupon-history-filter { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.coupon-history-filter input[type=date] { width:155px; }
.coupon-paging { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; align-items:center; margin:10px 0 0; }
.coupon-detail-meta { display:grid; grid-template-columns:100px minmax(0,1fr); border:1px solid #bbb; margin:0; }
.coupon-detail-meta dt,.coupon-detail-meta dd { margin:0; padding:6px; border-bottom:1px solid #ddd; overflow-wrap:anywhere; }
.coupon-detail-meta dt { background:#d5f2f2; }
.coupon-detail-meta dd { background:#f7f7f7; }
.coupon-detail-body { padding:15px 8px; min-height:100px; overflow-wrap:anywhere; border:1px solid #bbb; border-top:0; }
.coupon-ledger ul { margin:8px 0; padding-left:20px; }
.coupon-ledger time { color:#666; }
.coupon-admin-cancel { margin-top:10px; }
.coupon-admin-cancel label { display:block; margin:5px 0; }
.coupon-billboard { display:grid; grid-template-columns:24px minmax(0,1fr) 24px; align-items:center; gap:4px; min-width:0; }
#pscroller1.coupon-billboard,.coupon-mobile-billboard { border:1px solid #b8dce7; border-radius:2px; background:#f2fafc; box-shadow:inset 0 1px 0 #fff; }
.coupon-billboard [data-billboard-message] { grid-column:2; grid-row:1; display:block; min-width:0; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.coupon-billboard-ad { color:#cf4982; }
.coupon-billboard-all { box-sizing:border-box; grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:1px; color:#1a4a88; }
.coupon-billboard-all img { display:block; flex:0 0 16px; width:16px; height:16px; margin:0; border:0; }
.coupon-billboard-all:hover,.coupon-billboard-all:focus-visible { background:#dceff5; }
.coupon-mobile-billboard { display:none; }
@media(max-width:1100px) { .coupon-form-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) {
 .coupon-page { font-size:12px; }
 .coupon-card { margin-bottom:12px; padding:7px; }
 .coupon-form-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
 .coupon-field { grid-template-columns:minmax(0,1fr); gap:3px; }
 .coupon-page input,.coupon-page select,.coupon-page button { min-height:34px; }
 .coupon-wallet-summary { gap:12px; padding:8px; }
 .coupon-table { min-width:450px; }
 .coupon-table th:first-child { width:120px; }
 .coupon-mobile-billboard { box-sizing:border-box; display:grid; grid-template-columns:32px minmax(0,1fr) 32px; align-items:center; gap:4px; width:calc(100% - 16px); max-width:670px; height:36px; margin:5px auto 0; padding:1px 3px; min-width:0; font:12px/1.5 var(--nuda-font,굴림,Gulim,sans-serif); }
 .coupon-mobile-billboard [data-billboard-message] { grid-column:2; grid-row:1; display:block; min-width:0; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 .coupon-mobile-billboard .coupon-billboard-all { width:32px; height:32px; }
 .coupon-detail-meta { grid-template-columns:86px minmax(0,1fr); }
}
@media print { .coupon-mobile-billboard,.coupon-form-grid,.coupon-admin-cancel,#coupon-admin { display:none; } }

.coupon-ticket-combo > span { background:#f387b5; outline-color:#c86a96; }
.coupon-combo-summary { background:#fff5fa; border-color:#c897ad; }
.coupon-combo-summary small { max-width:235px; }
.coupon-member-gift { min-width:0; margin:0 0 18px; padding:12px; border:1px solid #c897ad; background:#fff5fa; overflow-wrap:anywhere; }
.coupon-member-gift h3 { margin:0 0 8px; color:#80405c; }
.coupon-member-gift-status { margin:8px 0; font-weight:bold; }
.coupon-member-gift-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:12px 0; }
.coupon-member-gift-counts > div { min-width:0; padding:8px; border:1px solid #e4c7d5; background:#fff; }
.coupon-member-gift-counts dt { margin:0 0 5px; color:#555; }
.coupon-member-gift-counts dd { margin:0; font-weight:bold; }
.coupon-member-gift-diagnostics { margin:10px 0; color:#555; }
.coupon-member-gift-diagnostics summary { cursor:pointer; }
.coupon-member-gift-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.coupon-member-gift-actions button { max-width:100%; min-height:36px; white-space:normal; }
@media(max-width:760px) {
 .coupon-member-gift { padding:9px; }
 .coupon-member-gift-counts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .coupon-member-gift-actions button { min-height:44px; }
}
