:root{--bg:#070b17;--panel:#10172a;--panel2:#151e34;--text:#f6f7fb;--muted:#98a3b8;--line:#26314b;--accent:#ffcf40;--green:#32d583;--red:#ff6577;--blue:#65a5ff;--radius:22px;--shadow:0 18px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% 0,#162449 0,transparent 38%),var(--bg);color:var(--text)}a{color:inherit}.standalone{min-height:100vh;padding:28px 14px}.shell{width:min(1120px,100%);margin:auto;display:grid;gap:18px}.shell.narrow{width:min(680px,100%)}.panel{background:linear-gradient(180deg,rgba(21,30,52,.97),rgba(12,18,34,.97));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.eyebrow{font-size:.75rem;font-weight:900;letter-spacing:.15em;color:var(--accent)}h1,h2,p{margin-top:0}h1{font-size:clamp(1.65rem,4vw,2.4rem);margin-bottom:8px}h2{font-size:1.05rem}.muted{color:var(--muted)}small{color:var(--muted)}code{background:#080d19;padding:2px 7px;border-radius:8px}.topline,.hero,.now,.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero p{margin:0;color:var(--muted)}.hero-actions{flex:0 0 auto}.btn{appearance:none;border:1px solid var(--line);background:#17223a;color:#fff;text-decoration:none;padding:11px 16px;border-radius:13px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px);border-color:#3c4d72}.btn.primary{background:linear-gradient(135deg,#ffd84f,#f6af27);color:#17120a;border:none;box-shadow:0 8px 25px rgba(255,197,52,.17)}.btn.big{padding:15px 19px;font-size:1rem}.btn.ghost{background:transparent}.btn.disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:10px;flex-wrap:wrap}.actions.secondary{margin-top:16px}.notice{padding:13px 15px;border-radius:14px;margin:12px 0}.notice.success{background:rgba(50,213,131,.12);border:1px solid rgba(50,213,131,.35);color:#a8f0ca}.notice.error{background:rgba(255,101,119,.11);border:1px solid rgba(255,101,119,.35);color:#ffc2ca}.form-grid{display:grid;gap:15px}.form-grid label{display:grid;gap:7px;font-weight:750}.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);background:#090f1d;color:#fff;border-radius:13px;padding:13px 14px;outline:none;font:inherit}.form-grid input:focus,.form-grid textarea:focus{border-color:#6684c1;box-shadow:0 0 0 3px rgba(101,165,255,.1)}fieldset{border:0;padding:0;margin:0}legend{font-weight:800;margin-bottom:9px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{display:grid;gap:3px;height:100%;padding:15px;border:1px solid var(--line);background:#0b1222;border-radius:15px;cursor:pointer}.choice input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#171923}.choice small{font-weight:500}.dedication-fields{display:grid;gap:15px;padding:15px;border-radius:16px;border:1px dashed #5a426b;background:rgba(122,66,142,.08)}.required{color:#ff9aaa;font-size:.73rem}.counter{text-align:right;color:var(--muted);font-size:.78rem;margin-top:-4px}.user-pill{border:1px solid var(--line);padding:8px 11px;border-radius:999px;color:#dbe5ff;background:#0a1120}.now{padding:16px 20px}.now>div{display:grid;flex:1}.now strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(50,213,131,.6);animation:pulse 1.8s infinite}.carousel{overflow:auto;scrollbar-width:none;scroll-snap-type:x mandatory}.carousel::-webkit-scrollbar{display:none}.cards{display:flex;gap:14px;padding:2px;min-height:230px}.request-card{scroll-snap-align:center;flex:0 0 min(360px,88vw);border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,#0e1729,#0a101e);padding:16px;display:grid;gap:12px;position:relative;overflow:hidden}.request-card.played-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--green)}.request-card header{display:flex;align-items:center;gap:10px}.request-card header>div{display:grid}.request-card header small{font-size:.75rem}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid #344664}.avatar.fallback{display:grid;place-items:center;background:#263857;color:#fff;font-weight:900}.track{display:grid;gap:2px;padding:11px 12px;border-radius:13px;background:#090f1c}.track strong{font-size:1.03rem}.track span{color:#d6def0}.tag{font-size:.83rem;color:#cbd5e8}.tag.love{color:#ffc0cf}.message{font-size:.88rem;color:#c9d1df;margin:0;border-left:2px solid #6c4661;padding-left:10px}.request-status{font-size:.83rem;font-weight:900;padding-top:9px;border-top:1px solid var(--line)}.request-status.pending{color:#e9c86f}.request-status.played{color:#8cebb7}.request-status.nowplaying{color:#8cebb7;letter-spacing:.05em}.dots{display:flex;justify-content:center;gap:6px;margin-top:13px}.dots button{border:0;width:7px;height:7px;padding:0;border-radius:50%;background:#3b4760;cursor:pointer}.dots button.active{width:22px;border-radius:999px;background:var(--accent)}.empty,.loading{margin:auto;text-align:center;color:var(--muted);display:grid;gap:5px}.test-tools{display:flex;justify-content:space-between;align-items:center;gap:15px}.test-tools p{margin:4px 0 0}.status{font-size:.76rem;font-weight:900;padding:5px 8px;border-radius:999px}.status.pending{background:rgba(255,207,64,.12);color:#f4d875}.status.played{background:rgba(50,213,131,.12);color:#8cebb7}.status.cancelled{background:rgba(255,101,119,.12);color:#ffadb8}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th,td{text-align:left;padding:11px;border-bottom:1px solid var(--line);vertical-align:top}.tiny{border:0;padding:7px 9px;border-radius:9px;cursor:pointer}.tiny.danger{background:#48202b;color:#ffbdc6}@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(50,213,131,0)}100%{box-shadow:0 0 0 0 rgba(50,213,131,0)}}
@media(max-width:700px){.standalone{padding:14px 9px}.panel{padding:18px;border-radius:18px}.hero,.topline,.test-tools{align-items:flex-start;flex-direction:column}.hero-actions,.hero-actions .btn{width:100%}.choice-grid{grid-template-columns:1fr}.now{display:grid;grid-template-columns:auto 1fr}.nowTime{display:none}.request-card{flex-basis:88vw}.test-tools .btn{width:100%}}
/* Catálogo PLAYLIST DO AUTODJ */
.catalog-picker{display:grid;gap:9px}.catalog-picker>label{font-weight:800}.search-box{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#090f1d;border-radius:14px;padding:0 13px}.search-box:focus-within{border-color:#6684c1;box-shadow:0 0 0 3px rgba(101,165,255,.1)}.search-box input{border:0!important;box-shadow:none!important;padding-left:0!important;background:transparent!important}.catalog-hint{color:var(--muted);font-size:.82rem;padding:0 3px}.catalog-results{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:15px;background:#090f1d;padding:6px}.catalog-item{width:100%;appearance:none;border:0;border-bottom:1px solid #1d2940;background:transparent;color:#fff;padding:11px 10px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;cursor:pointer;border-radius:10px}.catalog-item:last-child{border-bottom:0}.catalog-item:hover,.catalog-item:focus{background:#14213a;outline:none}.catalog-item>span:nth-child(2){display:grid;gap:2px;min-width:0}.catalog-item strong,.catalog-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.catalog-item small{font-weight:500}.catalog-item>b{font-size:.72rem;color:var(--accent)}.catalog-note{font-size:1.2rem}.selected-song{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid rgba(50,213,131,.35);background:rgba(50,213,131,.08);border-radius:14px}.selected-song>div{display:grid;gap:3px;min-width:0}.selected-song small{font-size:.68rem;color:#8cebb7;font-weight:900;letter-spacing:.08em}.selected-song strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tiny-link{appearance:none;border:0;background:transparent;color:#a9c7ff;text-decoration:underline;cursor:pointer;font-weight:800}.btn:disabled{opacity:.48;cursor:not-allowed;transform:none!important;box-shadow:none}
@media(max-width:700px){.catalog-results{max-height:320px}.catalog-item{grid-template-columns:auto 1fr}.catalog-item>b{grid-column:2;text-align:left}.selected-song{align-items:flex-start}}

/* V3.2 - oculta os campos de dedicatória até o usuário escolher "Quero dedicar" */
.dedication-fields[hidden]{display:none!important}


/* V3.9 - feedback visual durante o envio do pedido */
.request-sending-overlay[hidden]{display:none!important}
.request-sending-overlay{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(4,9,20,.74);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.request-sending-card{
  width:min(420px,92vw);
  display:grid;
  justify-items:center;
  gap:7px;
  padding:26px 22px 23px;
  border:1px solid rgba(255,207,64,.62);
  border-radius:20px;
  background:linear-gradient(180deg,rgba(18,29,51,.98),rgba(8,15,29,.99));
  box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 34px rgba(255,193,39,.14);
  text-align:center;
}
.request-sending-card strong{
  margin-top:4px;
  color:#ffd653;
  font-size:1.08rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:.045em;
}
.request-sending-card>span:not(.request-sending-spinner){
  color:#fff;
  font-size:.92rem;
  font-weight:850;
  letter-spacing:.08em;
}
.request-sending-card small{
  margin-top:4px;
  color:#aab6cc;
  font-size:.78rem;
  line-height:1.35;
}
.request-sending-spinner{
  width:42px;
  height:42px;
  border-radius:50%;
  border:4px solid rgba(255,255,255,.12);
  border-top-color:#ffd653;
  border-right-color:#f7b52c;
  animation:pedidoSendingSpin .8s linear infinite;
  box-shadow:0 0 18px rgba(255,207,64,.18);
}
.request-is-sending{overflow:hidden}
@keyframes pedidoSendingSpin{to{transform:rotate(360deg)}}
@media(max-width:640px){
  .request-sending-card{padding:22px 17px 20px;border-radius:17px}
  .request-sending-card strong{font-size:1rem}
  .request-sending-spinner{width:38px;height:38px}
}
