:root{--p:#ec4899;--p2:#be185d;--p3:#fbcfe8;--bg:#fff1f7;--tx:#3b0a24;--mu:#8a5a72;--card:rgba(255,255,255,.78);--bd:rgba(236,72,153,.18)}
@media(prefers-color-scheme:dark){:root{--bg:#1c0a14;--tx:#ffe8f3;--mu:#c79ab3;--card:rgba(48,16,34,.78);--bd:rgba(244,114,182,.25)}}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh;overflow-x:hidden}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden}.bg i{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:drift 14s ease-in-out infinite alternate}
.bg i:nth-child(1){width:380px;height:380px;background:#f9a8d4;top:-80px;left:-80px}.bg i:nth-child(2){width:320px;height:320px;background:#c084fc;bottom:-60px;right:-60px;animation-delay:-5s}.bg i:nth-child(3){width:240px;height:240px;background:#fda4af;top:45%;left:55%;animation-delay:-9s}
@keyframes drift{to{transform:translate(60px,50px) scale(1.2)}}
.nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px;background:var(--card);backdrop-filter:blur(14px);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:20;flex-wrap:wrap;animation:down .6s both}
@keyframes down{from{transform:translateY(-100%)}}
.brand{font-weight:800;font-size:1.2rem;color:var(--p2);text-decoration:none}.links{display:flex;gap:4px;flex-wrap:wrap}
.links a{color:var(--tx);text-decoration:none;padding:8px 12px;border-radius:12px;font-size:.92rem;transition:.25s}.links a:hover{background:var(--p3);color:var(--p2);transform:translateY(-2px)}
.ic:first-letter{display:inline-block;transition:.3s}.ic:hover:first-letter{animation:wig .6s}@keyframes wig{25%{transform:rotate(-20deg) scale(1.3)}75%{transform:rotate(20deg) scale(1.3)}}
.wrap{max-width:1000px;margin:0 auto;padding:20px 14px 60px}
.card{background:var(--card);backdrop-filter:blur(12px);border:1px solid var(--bd);border-radius:20px;padding:20px;margin:14px 0;box-shadow:0 10px 30px rgba(190,24,93,.08);animation:up .6s both}
@keyframes up{from{opacity:0;transform:translateY(20px)}}
.narrow{max-width:440px;margin:30px auto}.hov{transition:.3s;text-align:center}.hov:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 18px 40px rgba(236,72,153,.28)}
.hov:hover .ico{animation:bounce .6s}.ico{font-size:2.4rem;display:inline-block}@keyframes bounce{40%{transform:translateY(-12px) rotate(-8deg)}70%{transform:translateY(0)}}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.grid .card{margin:0}
h1{font-size:clamp(2rem,6vw,3.4rem);margin:.2em 0}h2,h3{margin:.3em 0}.grad{background:linear-gradient(90deg,var(--p),#a855f7,var(--p));background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flow 4s linear infinite}@keyframes flow{to{background-position:200%}}
.hero{text-align:center;padding:50px 10px;position:relative}.hero p{max-width:560px;margin:10px auto 22px;color:var(--mu)}.fl{position:absolute;font-size:2.6rem;animation:flt 4s ease-in-out infinite;left:6%;top:18%}.fl.d2{left:auto;right:8%;top:30%;animation-delay:-1.3s}.fl.d3{left:14%;top:70%;animation-delay:-2.6s}@keyframes flt{50%{transform:translateY(-22px) rotate(10deg)}}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:10px}form.row{justify-content:flex-start}
label{display:block;margin:12px 0 4px;font-size:.88rem;color:var(--mu)}input,select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--card);color:var(--tx);font-size:1rem;transition:.25s}
input:focus,select:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 4px rgba(236,72,153,.2)}.row input,.row select{width:auto;flex:1;min-width:130px}
.btn{position:relative;overflow:hidden;display:inline-block;border:0;cursor:pointer;padding:12px 22px;border-radius:14px;background:linear-gradient(135deg,var(--p),var(--p2));color:#fff;font-weight:700;font-size:1rem;text-decoration:none;margin-top:14px;transition:.25s;box-shadow:0 6px 18px rgba(236,72,153,.4)}
.row .btn,form .row .btn{margin-top:0}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(236,72,153,.5)}.btn:active{transform:scale(.96)}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:.6s}.btn:hover::after{left:140%}
.btn.ghost{background:transparent;color:var(--p2);border:2px solid var(--p);box-shadow:none}.btn.ok{background:linear-gradient(135deg,#22c55e,#15803d)}.btn.bad{background:linear-gradient(135deg,#f43f5e,#9f1239)}.btn.sm{padding:6px 14px;font-size:.85rem;margin:0}
.pulse{animation:pls 2s infinite}@keyframes pls{0%{box-shadow:0 0 0 0 rgba(236,72,153,.55)}70%{box-shadow:0 0 0 16px rgba(236,72,153,0)}}
.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.6);transform:scale(0);animation:rp .6s linear;pointer-events:none}@keyframes rp{to{transform:scale(4);opacity:0}}
.bal{text-align:center;background:linear-gradient(135deg,rgba(236,72,153,.22),rgba(168,85,247,.2))}.big{font-size:3rem;font-weight:800;color:var(--p2)}
.muted{color:var(--mu);font-size:.9rem}.err,.neg{color:#e11d48}.pos{color:#16a34a}.flash{background:var(--p);color:#fff;padding:12px 16px;border-radius:14px;margin-bottom:10px;animation:up .5s both}
.vt{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#2563eb;color:#fff;font-size:.7rem;vertical-align:middle;animation:pop .6s}@keyframes pop{from{transform:scale(0) rotate(-90deg)}}
.badge{padding:3px 12px;border-radius:99px;font-size:.78rem;font-weight:700;background:var(--p3);color:var(--p2)}.b-approved,.b-active{background:#dcfce7;color:#166534}.b-rejected,.b-blocked{background:#ffe4e6;color:#9f1239}.b-pending{background:#fef3c7;color:#92400e;animation:pls2 1.6s infinite}@keyframes pls2{50%{opacity:.6}}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th{text-align:left;color:var(--mu);font-weight:600}th,td{padding:10px 8px;border-bottom:1px solid var(--bd);white-space:nowrap}tr.rw{animation:up .5s both}tr:hover td{background:rgba(236,72,153,.07)}
.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{padding:7px 16px;border-radius:99px;background:var(--card);border:1px solid var(--bd);color:var(--tx);text-decoration:none;transition:.25s}.tab.on,.tab:hover{background:var(--p);color:#fff}
.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:12px 0}.kv div{background:rgba(236,72,153,.08);padding:10px 12px;border-radius:12px}.kv span,.kv b{display:block}
.gws{display:grid;gap:10px;margin:10px 0}.gw input{display:none}.gwc{border:2px solid var(--bd);border-radius:16px;padding:12px;transition:.25s;cursor:pointer}.gw input:checked+.gwc{border-color:var(--p);background:rgba(236,72,153,.1);transform:scale(1.02)}.acc{font-size:1.2rem;font-weight:800;color:var(--p2);letter-spacing:1px}
.qr{width:140px;border-radius:12px;margin-top:6px}.shot{max-width:100%;max-height:480px;border-radius:14px;border:1px solid var(--bd);transition:.3s}.shot:hover{transform:scale(1.02)}.imgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
