#promotionRewardsAdmin { margin-top:24px; border-top:1px solid #7a632a; padding-top:18px; }
#promotionRewardsAdmin form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
#promotionRewardsAdmin label { display:grid; gap:6px; min-width:0; }
#promotionRewardsAdmin input, #promotionRewardsAdmin select { width:100%; box-sizing:border-box; min-height:42px; }
#promotionRewardsAdmin .reward-wide { grid-column:1/-1; }
.reward-rules { display:grid; grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr); gap:6px 12px; margin:14px 0; }
.reward-rules dt { opacity:.75; }.reward-rules dd { margin:0; overflow-wrap:anywhere; }
.reward-card { display:block; }.reward-card button { min-height:44px; }.reward-card details { overflow-wrap:anywhere; }
.reward-history p, #promotionRewardClaims p, #promotionRewardClaims pre { overflow-wrap:anywhere; white-space:pre-wrap; }
#promotionRewardList[hidden], #memberPromotions[hidden] { display:none; }
@media(max-width:520px){#promotionRewardsAdmin form { grid-template-columns:minmax(0,1fr); }.reward-rules { grid-template-columns:1fr; }.reward-rules dd { margin-bottom:7px; }}
#promotionRewardsAdmin[hidden], #promotionRewardsAdmin [hidden] { display:none!important; }

#promotionPanel [hidden],#announcementPanel [hidden] { display:none!important; }
#promotionPanel .cm-grid,#announcementPanel .cm-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:12px;align-items:stretch; }
#promotionPanel .cm-tile,#announcementPanel .cm-tile { aspect-ratio:1;min-height:0;padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid #8d743e;border-radius:16px;background:#191f2a;color:#f6e6bf;text-align:center;overflow:hidden; }
#promotionPanel .cm-tile strong,#announcementPanel .cm-tile strong { max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:14px; }
#promotionPanel .cm-tile small,#announcementPanel .cm-tile small { color:#d4b370;font-size:12px; }
#promotionPanel .cm-icon,#announcementPanel .cm-icon { display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:12px;background:linear-gradient(140deg,#f0d297,#a87530);color:#171719;font-size:22px;font-weight:800; }
#promotionPanel .cm-add,#announcementPanel .cm-add { border:2px dashed #b79a62;background:transparent; }
#promotionPanel .cm-add>span,#announcementPanel .cm-add>span { font-size:64px;font-weight:300;line-height:1; }
#promotionPanel .cm-toolbar,#announcementPanel .cm-toolbar { display:flex;flex-wrap:wrap;gap:10px;margin:12px 0; }
#promotionPanel .cm-toolbar>*,#announcementPanel .cm-toolbar>* { max-width:100%;min-height:44px; }
#promotionPanel .cm-back,#announcementPanel .cm-back { margin-bottom:12px;min-height:44px; }
#promotionPanel .cm-editor,#announcementPanel .cm-editor { display:grid;grid-template-columns:minmax(0,1fr);gap:14px;max-width:840px; }
#promotionPanel .cm-editor label,#announcementPanel .cm-editor label { display:grid;gap:7px;min-width:0; }
#promotionPanel .cm-editor input,#promotionPanel .cm-editor select,#promotionPanel .cm-editor textarea,#announcementPanel .cm-editor input,#announcementPanel .cm-editor textarea { width:100%;min-width:0;box-sizing:border-box; }
#promotionPanel .cm-editor textarea,#announcementPanel .cm-editor textarea { min-height:124px;resize:vertical; }
#promotionPanel .cm-preview,#announcementPanel .cm-preview { border:1px solid #74613a;border-radius:14px;padding:16px;margin:16px 0;background:#131924; }
#promotionPanel .cm-preview p,#announcementPanel .cm-preview p { white-space:pre-wrap;overflow-wrap:anywhere; }
#promotionPanel .cm-hint,#announcementPanel .cm-hint { color:#c4c8d1;line-height:1.65;font-size:14px;overflow-wrap:anywhere; }
#promotionPanel .cm-status,#announcementPanel .cm-status { color:#e2bd78; }
#promotionPanel .cm-toolbar a,#announcementPanel .cm-toolbar a { display:inline-flex;align-items:center;padding:8px 12px;color:#f5d697; }
@media(max-width:520px){#promotionPanel .cm-grid,#announcementPanel .cm-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}#promotionPanel .cm-tile,#announcementPanel .cm-tile{gap:5px;padding:8px 5px;}#promotionPanel .cm-icon,#announcementPanel .cm-icon{width:34px;height:34px;font-size:18px;}#promotionPanel .cm-tile strong,#announcementPanel .cm-tile strong{font-size:12px;}#promotionPanel .cm-tile small,#announcementPanel .cm-tile small{font-size:11px;}}
#promotionRewardList .reward-catalog { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
#promotionRewardList .reward-tile { min-width:0;min-height:0;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid #867348;border-radius:14px;background:#1b212b;padding:10px 6px;color:#f4e6c7;text-align:center; }
#promotionRewardList .reward-icon { display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#f3d69a,#b6843a);color:#171719;font-size:26px; }
#promotionRewardList .reward-tile strong { font-size:14px;line-height:1.35;max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere; }
#promotionRewardList .reward-tile small { font-size:11px;color:#c9c4b7;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
#promotionRewardList .reward-terms { white-space:pre-wrap;overflow-wrap:anywhere; }
@media(min-width:720px){#promotionRewardList .reward-catalog{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}}
#promotionPanel .cm-field-help,#announcementPanel .cm-field-help { display:block;font-size:12px;font-weight:400;line-height:1.55;color:#bdc4d0;overflow-wrap:anywhere; }
#promotionRewardsAdmin .cm-field-help { display:block;font-size:12px;font-weight:400;line-height:1.55;color:#bdc4d0;overflow-wrap:anywhere; }
