/* Painel admin · Jyro Demo Days — vive como um passo dentro do index.html
   (reusa app.css: .btn, .inp, .lbl). Discreto: aberto pelo cadeado ou #admin. */

/* login ocupa o passo inteiro, centralizado */
.adm-login { flex:1; display:grid; place-items:center; padding:24px; }
/* garante que o atributo hidden esconda de fato (senão o display acima vence) */
.adm-login[hidden], .adm-panel[hidden] { display:none !important; }
.adm-login__card { width:100%; max-width:380px; background:var(--gfc-surface-1,#131316); border:1px solid var(--gfc-line,#26262B); border-radius:18px; padding:24px; }
.adm-brand { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.adm-brand img { height:22px; width:auto; filter:brightness(0) invert(1); opacity:.92; }
.adm-brand .adm-brand__jyro { filter:none; height:24px; }
.adm-brand span { color:var(--gfc-gray-weak,#6E6E78); }
.adm-login__title { font:600 20px 'Saira',sans-serif; margin-bottom:18px; color:var(--gfc-white,#fff); }
.adm-err { color:#ff7a7a; font-size:14px; margin-top:12px; }
.adm-login__back { display:block; margin:16px auto 0; background:none; border:none; color:var(--gfc-gray-weak,#6E6E78); font-size:13px; }
.adm-login__back:hover { color:var(--gfc-gray,#9A9AA4); }

/* painel */
.adm-panel { flex:1; width:100%; }
.adm-top { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--gfc-line,#26262B); position:sticky; top:0; background:rgba(10,10,12,.92); backdrop-filter:blur(8px); z-index:5; }
.adm-top__ttl { font:400 22px 'Bebas Neue',sans-serif; letter-spacing:.05em; text-transform:uppercase; }
.adm-top__ttl span { color:var(--gfc-neon,#DBFF00); }
.adm-top__actions { display:flex; align-items:center; gap:8px; }
.adm-top__sorteio { background:none; border:1px solid var(--gfc-neon,#DBFF00); color:var(--gfc-neon,#DBFF00); border-radius:10px; padding:8px 14px; font:600 13px 'Saira'; }
.adm-top__sorteio:hover { background:rgba(219,255,0,.10); }
.adm-top__logout { background:none; border:1px solid var(--gfc-line-strong,#3A3A42); color:#fff; border-radius:10px; padding:8px 14px; font:600 13px 'Saira'; }

/* ---------- tela de sorteio (overlay preto) ---------- */
.sorteio { position:fixed; inset:0; z-index:80; display:none; flex-direction:column; align-items:center; justify-content:center; background:#000; padding:32px; text-align:center; }
.sorteio.is-open { display:flex; }
.sorteio__inner { width:100%; max-width:640px; }
.sorteio__tag { font:400 clamp(22px,7vw,42px) 'Bebas Neue',sans-serif; letter-spacing:.14em; text-transform:uppercase; color:var(--gfc-neon,#DBFF00); margin-bottom:8px; }
.sorteio__status { font:600 13px 'Saira',sans-serif; letter-spacing:.3em; text-transform:uppercase; color:var(--gfc-gray,#9A9AA4); margin-bottom:28px; min-height:1em; animation:sorteioPulse 1s ease-in-out infinite; }
.sorteio__nome { font:400 clamp(40px,13vw,88px) 'Bebas Neue',sans-serif; line-height:1.02; color:#fff; min-height:1.1em; word-break:break-word; transition:color .2s; }
.sorteio.is-winner .sorteio__nome { color:var(--gfc-neon,#DBFF00); text-shadow:0 0 36px rgba(219,255,0,.45); animation:sorteioPop .35s ease; }
.sorteio.is-winner .sorteio__status { animation:none; }
.sorteio__parabens { margin-top:22px; font:700 18px 'Saira',sans-serif; color:#fff; }
.sorteio__acoes { margin-top:32px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
@keyframes sorteioPulse { 0%,100%{opacity:.35} 50%{opacity:1} }
@keyframes sorteioPop { 0%{transform:scale(.82)} 60%{transform:scale(1.06)} 100%{transform:scale(1)} }
.adm-demo { margin:14px 20px 0; padding:10px 14px; background:rgba(219,255,0,.08); border:1px solid rgba(219,255,0,.25); border-radius:10px; color:var(--gfc-neon,#DBFF00); font-size:13px; }

.adm-stats { display:flex; gap:10px; padding:16px 20px 4px; flex-wrap:wrap; }
.adm-stat { background:var(--gfc-surface-1,#131316); border:1px solid var(--gfc-line,#26262B); border-radius:12px; padding:12px 16px; }
.adm-stat b { display:block; font:400 26px 'Bebas Neue'; color:var(--gfc-neon,#DBFF00); line-height:1; }
.adm-stat span { font-size:12px; color:var(--gfc-gray,#9A9AA4); }

.adm-list { padding:12px 20px 40px; display:flex; flex-direction:column; gap:12px; }
.adm-date { background:var(--gfc-surface-1,#131316); border:1px solid var(--gfc-line,#26262B); border-radius:14px; overflow:hidden; }
.adm-date__head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; cursor:pointer; user-select:none; }
.adm-date__d { font:600 15px 'Saira'; }
.adm-date__d small { display:block; color:var(--gfc-gray,#9A9AA4); font-weight:400; text-transform:capitalize; font-size:12px; margin-top:2px; }
.adm-date__count { background:var(--gfc-fuchsia,#D6168F); color:#fff; font:700 12px 'Saira'; padding:3px 10px; border-radius:999px; }
.adm-date__body { border-top:1px solid var(--gfc-line,#26262B); display:none; }
.adm-date.is-open .adm-date__body { display:block; }
.adm-row { padding:12px 16px; border-bottom:1px solid var(--gfc-line,#26262B); }
.adm-row:last-child { border-bottom:none; }
.adm-row__nome { font:600 15px 'Saira'; color:var(--gfc-white,#fff); }
.adm-row__vel { font-size:14px; color:var(--gfc-neon,#DBFF00); margin-top:2px; }
.adm-row__meta { font-size:12px; color:var(--gfc-gray,#9A9AA4); margin-top:4px; line-height:1.5; }
.adm-empty { text-align:center; color:var(--gfc-gray-weak,#6E6E78); padding:40px 20px; }
