.reward-card-entry { display:flex; align-items:center; gap:16px; padding-top:23px; margin-top:23px; border-top:1px solid var(--line); }
.reward-card-entry img { width:62px; height:62px; object-fit:contain; }
.reward-card-entry p { margin:4px 0 0; color:var(--muted); font-size:14px; }
.reward-card-entry strong { font-family:var(--display); font-size:20px; }
.reward-card-entry .btn { margin-left:auto; white-space:nowrap; }
.reward-card-dialog { width:min(1140px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:0; border:1px solid var(--line); border-radius:24px; background:var(--bg); color:var(--ink); overflow:auto; }
.reward-card-dialog::backdrop { background:rgba(6,15,9,.76); backdrop-filter:blur(7px); }
.rc-header { position:sticky; top:0; z-index:2; background:var(--bg); display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:26px 30px; border-bottom:1px solid var(--line); }
.rc-header h2 { font:600 30px/1.1 var(--display); margin:0; }
.rc-header p { margin:8px 0 0; color:var(--muted); font-size:14px; }
.rc-close { min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface); font-size:26px; cursor:pointer; }
.rc-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:30px; padding:30px; align-items:start; }
.rc-preview-area { position:relative; aspect-ratio:8/5; border-radius:16px; overflow:hidden; background:#0b1712; border:1px solid var(--line); }
.rc-preview-area[data-look="light"] { background:#f8fae9; }
.rc-preview-area img { width:100%; height:100%; object-fit:contain; display:block; }
.rc-preview-area img[hidden],.rc-empty[hidden] { display:none; }
.rc-empty { position:absolute; inset:0; padding:8%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; background:url('assets/brand/rewards-card-dark.png') center/cover; color:#f6faee; }
[data-look="light"] .rc-empty { background-image:url('assets/brand/rewards-card-light.png'); color:#172b0b; }
.rc-empty small { font-size:clamp(9px,1.2vw,13px); letter-spacing:.12em; font-weight:700; }
.rc-empty strong { font:600 clamp(36px,6vw,82px)/1.2 var(--display); }
.rc-empty span { font-size:clamp(10px,1.1vw,14px); opacity:.75; }
.rc-caption { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--muted); padding:12px 2px 0; }
.rc-actions { display:flex; gap:10px; margin-top:20px; flex-wrap:wrap; }
.rc-actions .btn { justify-content:center; flex:1; font-size:14px; }
.reward-card-dialog button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.rc-controls { min-width:0; }
.rc-controls form { margin:0; }
.rc-controls label,.rc-controls legend { display:block; font-size:12px; font-weight:700; margin-bottom:8px; }
.rc-controls input[type="text"],.rc-controls select { display:block; box-sizing:border-box; width:100%; min-height:46px; padding:11px 12px; border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:10px; font:inherit; font-size:14px; }
.rc-controls input[aria-invalid="true"] { border-color:var(--coral); }
.rc-controls form .btn { width:100%; justify-content:center; margin-top:10px; font-size:14px; }
.rc-control { margin-top:22px; }
.rc-controls fieldset { padding:0; border:0; margin:22px 0; }
.rc-looks { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.rc-look { padding:5px; border:2px solid transparent; border-radius:12px; background:var(--surface); color:var(--ink); cursor:pointer; min-height:80px; }
.rc-look[aria-pressed="true"] { border-color:var(--lime); }
html[data-theme="dark"] .rc-look[aria-pressed="true"] { border-color:var(--accent); }
.rc-look i { display:block; height:48px; border-radius:7px; background:#0b1712; }
.rc-look[data-card-theme="light"] i { background:linear-gradient(110deg,#fbfbe9 50%,#c8eaff); }
.rc-look[data-card-theme="dark"] i { background:linear-gradient(110deg,#08150e 50%,#2e5132); }
.rc-look span { display:block; padding:5px 0 2px; font-size:12px; font-weight:700; }
.rc-controls label.rc-check { display:flex; align-items:center; gap:9px; min-height:44px; margin:0; font-weight:500; cursor:pointer; }
.rc-check input { width:17px; height:17px; accent-color:#72a63b; }
.rc-small { font-size:11px; line-height:1.6; color:var(--muted); margin:4px 0 14px; }
.rc-detail { padding-top:18px; margin-top:20px; border-top:1px solid var(--line); font-size:12px; line-height:1.6; color:var(--muted); }
.rc-message { min-height:2.8em; font-size:13px; line-height:1.4; margin:14px 0 0; color:var(--muted); }
@media(max-width:800px) {
 .rc-layout { grid-template-columns:1fr; gap:22px; padding:20px; }
 .rc-header { padding:20px; }
 .rc-header h2 { font-size:25px; }
 .rc-controls { border-top:1px solid var(--line); padding-top:20px; }
 .rc-look i { height:32px; }
 .reward-card-entry { flex-wrap:wrap; }
 .reward-card-entry .btn { margin-left:78px; }
}
@media(prefers-reduced-motion:reduce) { .reward-card-dialog .btn { transition:none; } }

@media(max-width:480px) {
 .reward-card-entry { display:grid; grid-template-columns:62px minmax(0,1fr); }
 .reward-card-entry .btn { grid-column:1/-1; margin-left:0; justify-content:center; white-space:normal; }
 .rc-controls input[type="text"],.rc-controls select { font-size:16px; }
 .rc-header p { max-width:24ch; }
}
