/* Gift cards of musicbot4you.net (app/views_v2/gift/_card.tpl): the same card, page, account and print
   styles as ts3musicbot.net (TS3MusicBot-website assets/v2/css/gift.css), in the colours of this site:
   the first design is violet instead of navy, the amount uses Outfit, the brand is the octopus.
   Every size inside a card is in container units (cqw = 1 % of the card width), so the same
   markup is a 520 px card on screen and a true 85.6 x 54 mm card (ISO/IEC 7810 ID-1) on paper. */

/* ---------- card ---------- */
.gc{--gc-r:4.4cqw;--gc-ink:#faf7ff;--gc-soft:rgba(250,247,255,.74);--gc-acc:#c084fc;--gc-acc2:#8b5cf6;--gc-line:rgba(255,255,255,.14);--rx:0deg;--ry:0deg;
  position:relative;display:block;width:100%;aspect-ratio:85.6/54;container-type:inline-size;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--gc-ink);text-align:start;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
/* the 3D layer: not the size container (container-type on a preserve-3d element flattens it) */
.gc-inner{position:absolute;inset:0;transform-style:preserve-3d;transform:perspective(1600px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.gc.is-tilting .gc-inner{transition:transform .08s linear}
.gc-face{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--gc-r);padding:5.4cqw 6cqw;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .3s;
  box-shadow:0 2.4cqw 6cqw rgba(2,6,23,.55),inset 0 0 0 .18cqw var(--gc-line)}
.gc-back{transform:rotateY(180deg)}
.gc.is-flipped .gc-front{transform:rotateY(-180deg)}
.gc.is-flipped .gc-back{transform:rotateY(0deg)}
/* light sweep over the front while tilting */
.gc-front::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.13) 45%,transparent 60%);
  background-size:250% 100%;background-position:var(--shine,100%) 0;mix-blend-mode:screen}

/* front */
.gc-art{position:absolute;inset:0;pointer-events:none}
.gc-glow{position:absolute;width:70cqw;height:70cqw;inset-inline-end:-18cqw;top:-26cqw;background:radial-gradient(circle,var(--gc-acc) 0,transparent 62%);opacity:.38}
.gc-eq{position:absolute;inset-inline-end:6cqw;top:16cqw;height:26cqw;width:36cqw;display:flex;align-items:flex-end;gap:1.15cqw}
.gc-eq i{flex:1;height:var(--h);border-radius:.8cqw .8cqw .3cqw .3cqw;background:linear-gradient(180deg,var(--gc-acc),var(--gc-acc2));opacity:.9;
  transform-origin:bottom;animation:gc-eq 2.6s ease-in-out var(--d) infinite alternate}
@keyframes gc-eq{0%{transform:scaleY(1)}50%{transform:scaleY(.55)}100%{transform:scaleY(.9)}}
.gc-ribbon,.gc-bow{display:none}
.gc-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3cqw}
.gc-brand{display:inline-flex;align-items:center;gap:1.8cqw;font-family:Outfit,"Segoe UI",system-ui,sans-serif;font-size:3.9cqw;font-weight:800;letter-spacing:-.01em}
.gc-logo{width:6.2cqw;height:auto;flex:none;filter:drop-shadow(0 .4cqw .8cqw rgba(0,0,0,.35))}
.gc-kind{font-size:2.25cqw;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gc-soft);padding:1cqw 2cqw;border-radius:9cqw;border:.18cqw solid var(--gc-line);background:rgba(255,255,255,.05)}
.gc-value{position:relative;display:flex;flex-direction:column;margin-top:auto;gap:.7cqw}
.gc-amount{font-family:Outfit,"Segoe UI",system-ui,sans-serif;font-size:12cqw;font-weight:800;letter-spacing:-.03em;line-height:.95}
.gc-amount.gc-amount-text{font-size:7.4cqw;line-height:1.02;max-width:56cqw}
.gc-bonus{font-size:3.4cqw;font-weight:700;color:var(--gc-acc)}
.gc-product{font-size:2.6cqw;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gc-soft)}
.gc-bottom{position:relative;display:flex;gap:6cqw;margin-top:3.2cqw;min-height:5.6cqw}
.gc-bottom:empty{display:none}
.gc-who{display:flex;flex-direction:column;min-width:0;max-width:40cqw}
.gc-who small{font-size:1.95cqw;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gc-soft)}
.gc-who b{font-size:3.3cqw;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gc-stamp{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-11deg);padding:1.2cqw 3.4cqw;border:.7cqw solid currentColor;border-radius:2cqw;
  font-size:6.2cqw;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#fda4af;background:rgba(2,6,23,.55);backdrop-filter:blur(2px)}
.gc-is-redeemed .gc-stamp{color:#86efac}
.gc-is-pending .gc-stamp{color:#fcd34d}
.gc-is-redeemed .gc-face,.gc-is-void .gc-face,.gc-is-expired .gc-face{filter:saturate(.35) brightness(.82)}
.gc-is-redeemed .gc-eq i,.gc-is-void .gc-eq i,.gc-is-expired .gc-eq i{animation:none}

/* back */
.gc-back{gap:2.4cqw}
.gc-code-box{display:flex;flex-direction:column;gap:.8cqw;padding:2cqw 3cqw;border-radius:2.4cqw;border:.32cqw dashed color-mix(in srgb,var(--gc-acc) 70%,transparent);background:rgba(255,255,255,.06)}
.gc-label{font-size:2cqw;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gc-soft)}
.gc-code{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:4.3cqw;font-weight:700;letter-spacing:.01em;white-space:nowrap;line-height:1.15}
.gc-mid{display:flex;flex-direction:column;gap:1.6cqw;padding-inline-end:24cqw;min-height:0}
.gc-msg{margin:0;font-size:2.7cqw;font-style:italic;line-height:1.3;color:var(--gc-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;quotes:auto}
.gc-msg::before{content:open-quote}
.gc-msg::after{content:close-quote}
.gc-steps{margin:0;padding:0;list-style:none;counter-reset:gcs;display:flex;flex-direction:column;gap:.9cqw;font-size:2.4cqw;line-height:1.3;color:var(--gc-soft)}
.gc-steps li{counter-increment:gcs;display:flex;gap:1.4cqw;align-items:baseline}
.gc-steps li::before{content:counter(gcs);flex:none;display:inline-grid;place-items:center;width:3.4cqw;height:3.4cqw;border-radius:50%;font-size:2cqw;font-weight:800;color:#160b2b;background:var(--gc-acc)}
.gc-qr{position:absolute;inset-inline-end:6cqw;bottom:5.4cqw;width:20cqw;height:20cqw;padding:1.3cqw;border-radius:1.8cqw;background:#fff;display:none}
.gc-qr.is-drawn{display:block}
.gc-qr svg{display:block;width:100%;height:100%}
.gc-fine{display:flex;flex-direction:column;gap:.3cqw;margin-top:auto;padding-inline-end:24cqw;font-size:1.8cqw;line-height:1.3;color:var(--gc-soft);opacity:.85}
.gc-fine span:first-child{font-weight:700}

/* ---------- designs ---------- */
.gc-violet .gc-face{background:radial-gradient(130% 95% at 100% 0%,rgba(168,85,247,.55),transparent 56%),radial-gradient(90% 90% at 0% 100%,rgba(109,40,217,.42),transparent 62%),radial-gradient(rgba(255,255,255,.07) .14cqw,transparent .18cqw) 0 0/2.6cqw 2.6cqw,linear-gradient(135deg,#120a22,#24123f 55%,#0e0819)}
.gc-violet .gc-back{background:radial-gradient(90% 80% at 100% 100%,rgba(168,85,247,.28),transparent 60%),linear-gradient(135deg,#120a22,#1a0f2e)}

.gc-aurora{--gc-acc:#5eead4;--gc-acc2:#a78bfa;--gc-line:rgba(255,255,255,.16)}
.gc-aurora .gc-face{background:radial-gradient(95% 120% at 12% -10%,rgba(167,139,250,.75),transparent 55%),radial-gradient(85% 110% at 105% 105%,rgba(45,212,191,.6),transparent 58%),radial-gradient(60% 60% at 70% 30%,rgba(244,114,182,.25),transparent 60%),linear-gradient(160deg,#170c36,#1b1446 50%,#071a2a)}
.gc-aurora .gc-back{background:radial-gradient(80% 100% at 0% 0%,rgba(167,139,250,.35),transparent 60%),linear-gradient(160deg,#150d31,#0b1a2c)}
.gc-aurora .gc-eq i{background:linear-gradient(180deg,#f0abfc,#5eead4)}
.gc-aurora .gc-glow{background:radial-gradient(circle,#c4b5fd 0,transparent 62%)}

.gc-festive{--gc-acc:#fcd34d;--gc-acc2:#f59e0b;--gc-line:rgba(252,211,77,.28);--gc-soft:rgba(254,243,199,.78)}
.gc-festive .gc-face{background:radial-gradient(circle at 46% 12%,rgba(252,211,77,.9) .35cqw,transparent .5cqw),radial-gradient(circle at 58% 31%,rgba(255,255,255,.65) .28cqw,transparent .42cqw),radial-gradient(circle at 63% 8%,rgba(252,211,77,.7) .3cqw,transparent .45cqw),radial-gradient(circle at 5% 31%,rgba(255,255,255,.45) .25cqw,transparent .4cqw),radial-gradient(circle at 92% 92%,rgba(252,211,77,.5) .26cqw,transparent .4cqw),radial-gradient(120% 90% at 100% 0%,rgba(251,113,133,.35),transparent 55%),linear-gradient(140deg,#4a0d1a,#7f1d2d 55%,#3b0a14)}
.gc-festive .gc-back{background:radial-gradient(90% 90% at 100% 100%,rgba(252,211,77,.16),transparent 60%),linear-gradient(140deg,#3f0b17,#5c1422)}
.gc-festive .gc-eq,.gc-festive .gc-glow{display:none}
.gc-festive .gc-ribbon{display:block;position:absolute;inset-block:0;inset-inline-end:20cqw;width:7cqw;background:linear-gradient(90deg,#b45309,#fcd34d 35%,#fde68a 50%,#fcd34d 65%,#b45309);box-shadow:0 0 2cqw rgba(0,0,0,.35)}
.gc-festive .gc-ribbon::after{content:"";position:absolute;inset-inline:-60cqw -20cqw;top:14.5cqw;height:6cqw;background:linear-gradient(180deg,#b45309,#fcd34d 35%,#fde68a 50%,#fcd34d 65%,#b45309);box-shadow:0 0 2cqw rgba(0,0,0,.35);
  -webkit-mask:linear-gradient(90deg,transparent 0,#000 58%);mask:linear-gradient(90deg,transparent 0,#000 58%)}
.gc-festive .gc-bow{display:block;position:absolute;inset-inline-end:23.5cqw;top:17.5cqw;width:0;height:0}
.gc-festive .gc-top{z-index:1}
.gc-festive .gc-kind{background:#5c1422}
.gc-festive .gc-bow::before,.gc-festive .gc-bow::after{content:"";position:absolute;width:11cqw;height:7cqw;top:-3.5cqw;border:1.6cqw solid #fcd34d;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;box-shadow:0 .6cqw 1.6cqw rgba(0,0,0,.35)}
.gc-festive .gc-bow::before{right:.6cqw;transform:rotate(-18deg)}
.gc-festive .gc-bow::after{left:.6cqw;transform:rotate(18deg)}
.gc-festive .gc-steps li::before{color:#4a0d1a}

.gc-paper{--gc-ink:#1e1036;--gc-soft:#5b4b78;--gc-acc:#7c3aed;--gc-acc2:#5b21b6;--gc-line:#d8cfe8}
.gc-paper .gc-face{background:radial-gradient(rgba(15,23,42,.07) .14cqw,transparent .18cqw) 0 0/2.6cqw 2.6cqw,#fbfaf7;box-shadow:0 2.4cqw 6cqw rgba(2,6,23,.35),inset 0 0 0 .22cqw var(--gc-line)}
.gc-paper .gc-glow{display:none}
.gc-paper .gc-eq i{background:none;border:.35cqw solid var(--gc-acc);opacity:.75}
.gc-paper .gc-kind{background:#fff}
.gc-paper .gc-code-box{background:#fff}
.gc-paper .gc-steps li::before{color:#fff}
.gc-paper .gc-front::after{display:none}
.gc-paper .gc-qr{box-shadow:inset 0 0 0 .2cqw var(--gc-line)}
.gc-paper .gc-stamp{background:rgba(255,255,255,.85)}
.gc-paper.gc-is-redeemed .gc-stamp{color:#15803d}
.gc-paper.gc-is-void .gc-stamp,.gc-paper.gc-is-expired .gc-stamp{color:#be123c}
.gc-paper.gc-is-pending .gc-stamp{color:#b45309}

/* inside the account and admin pages the legacy body styles (.v2-legacy p, b, ol, li, button)
   would reach into the card: reset them with a stronger selector */
.gc.gc p,.gc.gc ol,.gc.gc li{margin:0}
.gc.gc ol{padding:0}
.gc.gc li::marker{content:none}
.gc.gc b{color:inherit}
.gc.gc .gc-who b{font-weight:700}

/* a card that shows one face only (lists, print) */
.gc.gc-only-front .gc-back,.gc.gc-only-back .gc-front{display:none}
.gc.gc-only-back .gc-back{transform:none}

@media (prefers-reduced-motion:reduce){
  .gc-inner,.gc-face{transition:none}
  .gc-eq i{animation:none}
}

/* ---------- recipient page (gift.php) ---------- */
.gift-main{padding-block:clamp(40px,7vw,96px)}
.gift-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:center}
.gift-hero .lead{margin-top:14px}
.gift-stage{display:flex;flex-direction:column;align-items:center;gap:16px}
.gift-stage [data-gift-slot]{width:100%;display:flex;justify-content:center}
.gift-stage .gc{max-width:560px;cursor:pointer}
.gift-hero[data-state=loading] .gift-stage .gc{opacity:.85}
.gift-flip{display:inline-flex;align-items:center;gap:8px;min-height:0;margin:0;padding:6px 12px;border-radius:9999px;border:1px solid var(--line);background:var(--glass);box-shadow:none;color:var(--muted)!important;font:600 13px/1.3 var(--body)}
.gift-flip:hover{color:var(--text)!important;border-color:var(--line-hover,var(--a60));box-shadow:none;transform:none}
.gift-panel{margin-top:26px;padding:22px;display:flex;flex-direction:column;gap:14px}
.gift-panel h2{font-size:19px}
.gift-actions{display:flex;flex-wrap:wrap;gap:10px}
.gift-stack{display:flex;flex-direction:column;gap:14px}
.gift-redeem-form{display:flex;flex-direction:column;gap:12px}
.gift-actions .btn{flex:1 1 auto}
.gift-note{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.5;color:var(--muted)}
.gift-note svg{flex:none;margin-top:2px;color:var(--warn)}
.gift-msg{padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--glass);font-size:14.5px;line-height:1.5}
.gift-msg.ok{border-color:color-mix(in srgb,var(--ok) 50%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}
.gift-msg.bad{border-color:color-mix(in srgb,var(--danger) 50%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent)}
.gift-enter{display:flex;gap:10px;flex-wrap:wrap}
.gift-enter input{flex:1 1 260px}
.gift-input,.gift-form input[type=text],.gift-form input[type=email],.gift-form textarea,.gift-form select{width:100%;min-height:44px;padding:10px 13px;border-radius:10px;border:1px solid color-mix(in srgb,var(--text) 14%,transparent);background:color-mix(in srgb,var(--bg2) 80%,transparent);color:var(--text);font:inherit;font-size:15px}
.gift-input.mono{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase}
.gift-input:focus,.gift-form input:focus,.gift-form textarea:focus,.gift-form select:focus{outline:2px solid var(--accent-soft);outline-offset:1px}
.gift-print-menu{position:relative}
.gift-print-menu[open] summary{border-color:var(--line-hover,var(--a60))}
.gift-print-menu summary{list-style:none}
.gift-print-menu summary::-webkit-details-marker{display:none}
.gift-print-menu .gift-print-opts{position:absolute;z-index:5;inset-inline-start:0;top:calc(100% + 6px);min-width:260px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.gift-print-opts button{display:block;width:100%;min-height:0;margin:0;padding:10px 12px;border:0;border-radius:8px;background:none;box-shadow:none;color:var(--text)!important;text-align:start;font:600 14px/1.35 var(--body)}
.gift-print-opts button:hover{background:var(--a18);box-shadow:none;transform:none}
.gift-print-opts small{display:block;color:var(--muted);font-size:12px}
@media (max-width:860px){
  .gift-hero{grid-template-columns:1fr}
  .gift-stage{order:-1}
}

/* ---------- buy without an account (gift.php?buy) ---------- */
.gift-guest-head{max-width:760px}
.gift-guest-pay{max-width:640px}
.gift-captcha{display:flex;flex-direction:column;gap:8px}
.gift-captcha-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gift-captcha img{border-radius:10px;background:#fff;max-width:100%;height:auto}
.gift-consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;font-size:13.5px!important;font-weight:500!important;line-height:1.5}
.gift-consent input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--accent)}
.gift-redeem .h3{margin:0}

/* ---------- account tab ---------- */
.gift-tab{display:flex;flex-direction:column;gap:34px}
.gift-tab h2{margin:0;font-size:21px;font-weight:700;letter-spacing:-.01em}
.gift-tab p{margin:0}
.gift-tab .lead{font-size:15.5px;margin-top:6px}
.gift-buy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;align-items:start}
.gift-form{display:flex;flex-direction:column;gap:14px}
.gift-form label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:600;color:var(--muted)}
.gift-form input[type=text],.gift-form input[type=email],.gift-form textarea,.gift-form select,.gift-enter input{margin:0}
.gift-form textarea{min-height:76px;resize:vertical}
.gift-durations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gift-durations label,.gift-designs label{position:relative;cursor:pointer}
.gift-durations input,.gift-designs input{position:absolute;opacity:0;pointer-events:none}
.gift-durations label,.gift-designs label{margin:0}
.gift-durations span{display:flex;flex-direction:column;gap:2px;height:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass);color:var(--text);font-size:15px;font-weight:700}
.gift-durations small{font-size:12px;font-weight:600;color:var(--muted)}
.gift-durations input:checked+span,.gift-designs input:checked+span{border-color:var(--accent);box-shadow:0 0 0 2px var(--a45)}
.gift-durations input:focus-visible+span,.gift-designs input:focus-visible+span{outline:2px solid var(--accent-soft);outline-offset:2px}
.gift-designs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px}
.gift-designs span{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--glass);font-size:12px;font-weight:600;color:var(--muted);text-align:center}
.gift-designs i{display:block;aspect-ratio:85.6/54;border-radius:7px}
.gift-designs i.sw-violet{background:radial-gradient(130% 95% at 100% 0%,rgba(168,85,247,.65),transparent 56%),linear-gradient(135deg,#120a22,#24123f)}
.gift-designs i.sw-aurora{background:radial-gradient(95% 120% at 12% -10%,rgba(167,139,250,.85),transparent 55%),radial-gradient(85% 110% at 105% 105%,rgba(45,212,191,.7),transparent 58%),#1b1446}
.gift-designs i.sw-festive{background:linear-gradient(90deg,transparent 64%,#fcd34d 64% 72%,transparent 72%),linear-gradient(140deg,#4a0d1a,#7f1d2d)}
.gift-designs i.sw-paper{background:#fbfaf7;box-shadow:inset 0 0 0 1px #cbd5e1}
.gift-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gift-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--glass)}
.gift-price b{font-size:22px;font-weight:800}
.gift-price small{color:var(--muted);font-size:12.5px}
.gift-preview{position:sticky;top:20px;display:flex;flex-direction:column;gap:12px;align-items:center}
.gift-preview .gc{max-width:460px}
.gift-fineprint{font-size:12.5px;color:var(--muted);line-height:1.5}
.gift-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.gift-item{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.gift-item-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;font-size:13px;color:var(--muted)}
.gift-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:12px;font-weight:700;border:1px solid var(--line)}
.gift-chip.ok{color:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}
.gift-chip.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.gift-chip.off{color:var(--muted)}
.gift-item .gift-actions .btn{min-height:38px;padding:0 12px;font-size:13.5px;border-radius:10px}
.gift-item form{display:contents}
.gift-redeem{display:flex;flex-direction:column;gap:12px;padding:20px}
.gift-tab .gift-msg{margin:0}
.gift-paypal{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:20px}
@media (max-width:980px){
  .gift-buy{grid-template-columns:1fr}
  .gift-preview{position:static;order:-1}
}
@media (max-width:520px){
  .gift-durations{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gift-names{grid-template-columns:1fr}
}

/* ---------- admin ---------- */
.gift-admin{display:flex;flex-direction:column;gap:22px}
.gift-admin form.gift-form{max-width:760px}
.gift-admin .gift-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gift-admin table{width:100%;border-collapse:collapse;font-size:13px}
.gift-admin th,.gift-admin td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
.gift-admin td.mono{font-family:var(--mono);white-space:nowrap}
.gift-batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
@media (max-width:760px){.gift-admin .gift-row{grid-template-columns:1fr 1fr}}

/* ---------- print (gift.js fills .gift-print and adds html.gift-printing) ---------- */
.gift-print{display:none}
@page gift-a4{size:210mm 297mm;margin:0}
@page gift-a6{size:148mm 105mm;margin:0}
@media print{
  html.gift-printing{color-scheme:light}
  html.gift-printing,html.gift-printing body{background:#fff!important;margin:0!important;padding:0!important;min-height:0!important;height:auto!important}
  html.gift-printing body>*:not(.gift-print){display:none!important}
  html.gift-printing .gift-print{display:block}
  .gp-page{page:gift-a4;position:relative;width:210mm;height:296mm;overflow:hidden;break-after:page;background:#fff;color:#0f172a;font-family:Inter,system-ui,sans-serif}
  .gp-page:last-child{break-after:auto}
  .gp-layout-a6 .gp-page{page:gift-a6;width:148mm;height:104mm}
  .gp-slot{position:absolute}
  .gp-slot .gc{width:100%;height:100%}
  .gp-slot .gc-inner{transform:none!important;transition:none}
  .gp-slot .gc-face{transform:none!important;transition:none;box-shadow:inset 0 0 0 .18cqw var(--gc-line)}
  .gp-slot .gc-front::after{display:none}
  /* PDF and printer drivers draw soft glows and gradient bars with visible edges: flat in print */
  .gp-slot .gc-glow{display:none}
  .gp-slot .gc-eq i{animation:none;background:var(--gc-acc)}
  .gp-slot.gp-slot .gc-paper .gc-eq i{background:none}
  .gp-cut .gc{--gc-r:0}
  .gp-mark{position:absolute;background:#64748b}
  .gp-mark.v{width:.2mm}
  .gp-mark.h{height:.2mm}
  .gp-fold{position:absolute;width:0;border-inline-start:.25mm dashed #64748b}
  .gp-hint{position:absolute;left:0;right:0;text-align:center;font-size:9pt;line-height:1.45;color:#475569}
  .gp-hint b{color:#0f172a}
}
