.promo-admin-panel .promo-create-form { display:grid; gap:12px; }
.promo-create-form label { display:grid; gap:6px; font-weight:600; }
.promo-create-form input:not([type=checkbox]), .promo-create-form select,
.promo-redeem-panel input { width:100%; min-width:0; padding:10px 12px; border:1px solid rgba(235,158,206,.35); border-radius:10px; background:#171620; color:#fff; }
.promo-reward-heading, .promo-list-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.promo-reward-row { display:grid; grid-template-columns:minmax(0,1fr) 85px auto; gap:8px; margin:8px 0; align-items:center; }
.promo-create-form .promo-check { display:flex; align-items:center; gap:9px; }
.promo-create-form .promo-check input { width:auto; }
.promo-admin-list { display:grid; gap:10px; margin-top:12px; max-height:360px; overflow:auto; }
.promo-code-row { display:grid; gap:8px; padding:12px; border:1px solid rgba(235,158,206,.2); border-radius:12px; }
.promo-code-row strong { overflow-wrap:anywhere; }
.promo-code-row span { color:#eeb4d2; }
.promo-code-row small { display:block; margin-top:4px; line-height:1.4; overflow-wrap:anywhere; }
.promo-code-row > div:nth-child(2) { display:flex; gap:8px; flex-wrap:wrap; }
.promo-claims-list { max-height:170px; overflow:auto; font-size:.85rem; }
.promo-claims-list > div { padding:5px 0; }
.promo-inline-form { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.promo-inline-form label { width:100%; }
.promo-inline-form input { flex:1 1 210px; }
.promo-redeem-panel p { margin:8px 0 14px; }
#promoAdminStatus, #promoRedeemStatus { min-height:1.4em; }
@media(max-width:600px) { .promo-reward-row { grid-template-columns:minmax(0,1fr) 68px; } .promo-reward-row button { grid-column:1/-1; } }

.market-side-card .promo-sidebar-trigger{box-sizing:border-box;display:grid;grid-template-columns:38px minmax(0,1fr) 12px;align-items:center;gap:10px;width:100%;margin-top:18px;padding:14px 12px;border-radius:14px;border:1px solid #c875a766;background:radial-gradient(ellipse at top left,#b94b8b25,transparent 75%),linear-gradient(125deg,#302037,#201b2e);color:#ffe5f4;cursor:pointer;text-align:left;box-shadow:inset 0 1px #ffe0f512;transition:border-color .18s,background .18s}
.market-side-card .promo-sidebar-trigger:hover{border-color:#e696c4;background:linear-gradient(125deg,#42243e,#2e213f)}
.market-side-card .promo-sidebar-trigger:focus-visible{outline:2px solid #f3a9d5;outline-offset:4px}
.promo-sidebar-icon{display:grid;place-items:center;width:38px;height:42px;border-radius:11px;color:#ffb9de;background:linear-gradient(140deg,#a6447d55,#683c9055);border:1px solid #e5a4d02b}
.promo-sidebar-icon svg{width:24px;height:24px;transform:rotate(-12deg)}
.promo-sidebar-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.promo-sidebar-copy strong{font-size:13px;font-weight:700;line-height:1.2;letter-spacing:.01em;color:#ffe5f4}
.market-side-card .promo-sidebar-copy small{font-size:10px;line-height:1.4;font-weight:400;color:#c6accb}
.promo-sidebar-arrow{font-size:22px;font-weight:400;color:#e69ac5}

.promo-dialog{box-sizing:border-box;width:min(640px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:0;border:1px solid #ba709169;border-radius:24px;background:#17101e;color:#fff;box-shadow:0 30px 110px #000c}
.promo-dialog::backdrop{background:#08040bd6;backdrop-filter:blur(7px)}
.promo-dialog-close{position:absolute;right:15px;top:15px;z-index:3;display:grid;place-items:center;border:1px solid #ffffff30;background:#160f20c9;color:#eee2ed;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
.promo-dialog-close:hover{background:#42243e}
.promo-dialog-hero{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;padding:35px 32px 32px;min-height:238px;background:#211327;border-bottom:1px solid #e2a0c220}
.promo-dialog-hero::before{content:"";position:absolute;z-index:-2;inset:0 0 0 50%;background:url('https://upimd.com/assets/images/cards/full/midnight-premiere-female-full.png') center 24%/cover no-repeat}
.promo-dialog-hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#211327 3%,#211327f0 46%,#21132757 68%,#21132716),linear-gradient(0deg,#21132799,transparent 40%)}
.promo-dialog-intro{position:relative;max-width:44%}
.promo-eyebrow{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.17em;color:#f1afd6;font-weight:700}
.promo-eyebrow>span{font-size:17px;line-height:1}
.promo-dialog h2{font-size:38px;line-height:1.06;letter-spacing:-.035em;margin:21px 0 14px;max-width:300px;color:#fff4fb;font-weight:750}
.promo-dialog-hero p{max-width:255px;font-size:12px;line-height:1.5;color:#d5bdcf;margin:0}
.promo-dialog-body{padding:27px 30px 24px;background:radial-gradient(ellipse at top left,#45213b20,transparent 70%)}
.promo-dialog .promo-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.promo-dialog label{grid-column:1/-1;font-size:10px;letter-spacing:.14em;color:#d7aecb;font-weight:700;margin-bottom:1px}
.promo-code-field{display:flex;align-items:center;gap:10px;min-width:0;padding:0 15px;border:1px solid #855b794f;background:#100b17;border-radius:12px;transition:border-color .15s,box-shadow .15s}
.promo-code-field:focus-within{border-color:#dc8cbd;box-shadow:0 0 0 3px #d46baa18}
.promo-code-field>svg{width:21px;height:21px;flex-shrink:0;color:#bd86b0}
.promo-dialog .promo-code-field input{box-sizing:border-box;min-width:0;width:100%;height:52px;padding:0;border:0!important;background:transparent!important;box-shadow:none!important;outline:none!important;border-radius:0;color:#fff;font-size:15px;font-weight:500;letter-spacing:.055em;text-transform:uppercase}
.promo-dialog .promo-code-field input::placeholder{text-transform:none;letter-spacing:0;color:#99849f;font-size:13px}
.promo-dialog .button-primary{display:flex;align-items:center;justify-content:center;gap:16px;min-height:54px;margin:0;border:1px solid #efb3d644;border-radius:12px;background:linear-gradient(130deg,#ac427c,#753d8b)!important;color:#fff1fa!important;font-size:13px;font-weight:700;padding:12px 18px;cursor:pointer;box-shadow:inset 0 1px #ffffff15!important}
.promo-dialog .button-primary:hover{filter:brightness(1.13)}
.promo-dialog .button-primary>span{font-size:18px}
.promo-dialog button:focus-visible{outline:2px solid #f3a9d5;outline-offset:3px}
.promo-dialog button:disabled{opacity:.6;cursor:wait}
.promo-dialog #promoRedeemStatus{font-size:13px;line-height:1.6;color:#f2d9eb;margin:16px 0}
.promo-dialog #promoRedeemStatus:empty{display:none}
.promo-once-note{display:flex;align-items:flex-start;gap:11px;border-top:1px solid #b889b01f;padding-top:18px;margin:22px 0 0;text-align:left}
.promo-once-note>svg{width:22px;height:22px;flex-shrink:0;color:#bc89af;margin-top:1px}
.promo-once-note>div{display:flex;flex-direction:column;gap:5px}
.promo-once-note strong{font-size:11px;font-weight:600;color:#d7bdcf}
.promo-once-note span{font-size:10px;line-height:1.55;color:#a38da9}
.promo-reward-reveal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.promo-reward-reveal:not(:empty){margin-top:18px}
.promo-reward-reveal article{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;background:linear-gradient(145deg,#3d2548,#23152d);border:1px solid #a666923d;border-radius:15px;text-align:center}
.promo-reward-reveal img{height:80px;width:80px;object-fit:contain;border-radius:10px}
.promo-reward-reveal strong{font-size:22px;color:#ffbbe6}
.promo-reward-reveal article>span:last-child{font-size:12px}
.promo-reward-symbol{height:80px;display:grid;place-items:center;font-size:48px;color:#e999d0}
.promo-key-note{grid-column:1/-1;font-size:12px;color:#e7c7df;text-align:center}
@media(max-width:480px){.promo-dialog-hero{padding:31px 22px 25px;min-height:220px}.promo-dialog-intro{max-width:58%}.promo-dialog-hero::before{left:64%}.promo-dialog-hero::after{background:linear-gradient(90deg,#211327 54%,#21132755 78%,#21132716)}.promo-eyebrow{font-size:8px;letter-spacing:.12em}.promo-dialog h2{font-size:clamp(26px,7.5vw,34px)}.promo-dialog-hero p{max-width:180px}.promo-dialog-body{padding:22px 20px}.promo-dialog .promo-inline-form{grid-template-columns:1fr}.promo-dialog .promo-inline-form button{width:100%;min-height:48px}.promo-reward-reveal img{height:66px;width:66px}}
