
html, body {
  min-height: 100%;
  background-color: #000 !important;
  background-image: url("/papel-de-parede.jpg?v=12") !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  color: #fff !important;
}
body {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh;
  margin: 0 !important;
}
body .home {
  width: min(92vw, 504px);
  margin: 0 !important;
  padding: 2.4rem 2.1rem 1.75rem !important;
  background: rgba(0, 0, 0, 0.9) !important;
  border: 1px solid rgba(220, 38, 38, 0.55) !important;
  border-radius: 16px !important;
  text-align: center !important;
}
.spartan-brand {
  font-size: clamp(2.24rem, 5.6vw, 3.36rem);
  font-weight: 800;
  color: #dc2626;
  letter-spacing: 0.08em;
  margin: 0;
}
.spartan-tag {
  margin: 0.4rem 0 1.25rem;
  font-size: clamp(0.96rem, 2.4vw, 1.28rem);
  color: #fff;
}
.spartan-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  margin: 0.15rem 0 1rem;
  border-radius: 999px;
  text-decoration: none !important;
  font-weight: 800;
  font-size: 0.96rem;
  color: #fecaca !important;
  background: #111;
  border: 1px solid #dc2626;
}
.spartan-btn:hover { color: #fff !important; background: #1a0a0a; }
.candangos { color: #e5e7eb; font-weight: 600; }
#groupform, #public-groups, #public-groups-table, #errormessage { display: none !important; }
.signature {
  position: fixed; left: 0; right: 0; bottom: 0;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  color: #d1d5db !important;
  font-size: 0.85rem;
  background: rgba(0,0,0,0.55);
}
.signature a { color: #f3f4f6 !important; }

footer.signature{
 position:fixed;left:0;right:0;bottom:0;z-index:5;
 display:flex;align-items:center;justify-content:flex-start;
 width:100%;box-sizing:border-box;padding:.55rem 1.1rem;
 text-align:left;background:rgba(0,0,0,.35);border:none;min-height:auto}
.foot-left{color:#d1d5db;font-size:.85rem}
.foot-mid{position:absolute;left:50%;transform:translateX(-50%);color:#e5e7eb;font-size:.85rem;white-space:nowrap}
.foot-mid a,.foot-left a{color:#f3f4f6!important;text-decoration:underline}

.foot-right{margin-left:auto}
.btn-salas{display:inline-block;background:#111;color:#fecaca!important;border:1px solid #dc2626;border-radius:999px;padding:.28rem .75rem;font-size:.8rem;font-weight:700;text-decoration:none!important}
.btn-salas:hover{background:#1a0a0a;color:#fff!important}
.lista-salas{text-align:left;margin:0 0 1.1rem;max-height:50vh;overflow:auto}
.sala-item{display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.55rem .7rem;margin:.35rem 0;background:#111;border:1px solid #3f4147;border-radius:10px;color:#fff!important;text-decoration:none!important}
.sala-tag{color:#86efac;font-size:.78rem;font-weight:700}

/* spartan-v16-salas */
.salas-tools{display:flex;flex-direction:column;gap:.55rem;margin:0 0 .75rem;text-align:left}
#sala-q{width:100%;box-sizing:border-box;padding:.55rem .75rem;border-radius:8px;border:1px solid #3f4147;background:#111;color:#fff;font:inherit}
.lista-salas{text-align:left;margin:0;overflow:hidden;box-sizing:border-box;
 display:flex;flex-direction:column;gap:.35rem;
 height:calc(5 * 2.7rem + 4 * .35rem);min-height:calc(5 * 2.7rem + 4 * .35rem)}
.lista-salas .sala-item{margin:0;height:2.7rem;min-height:2.7rem;box-sizing:border-box}
.salas-pager{display:flex;gap:.55rem;align-items:center;justify-content:center;margin:.55rem 0 1rem}
.salas-pager button{background:#2b2d31;color:#fff;border:1px solid #3f4147;border-radius:8px;padding:.4rem .8rem;font-weight:700;cursor:pointer}
.salas-pager button:disabled{opacity:.4;cursor:default}
.list-tools{display:flex;gap:.4rem}
.sort-btn{background:#2b2d31;color:#dbdee1;border:1px solid #3f4147;border-radius:8px;padding:.35rem .75rem;cursor:pointer;font-weight:700}
.sort-btn.on{background:#dc2626;color:#fff;border-color:#dc2626}

/* spartan-v18-foot */
footer.signature{z-index:40!important}


/* spartan-v19-foot */
footer.signature{
 position:fixed!important;left:0;right:0;bottom:0;z-index:5002!important;
 display:flex;align-items:center;justify-content:flex-start;
 width:100%;box-sizing:border-box;padding:.55rem 1.1rem;
 background:rgba(0,0,0,.32)!important;border:none!important;border-top:none!important;
 min-height:auto;box-shadow:none!important}
html,body{min-height:100vh!important;padding-bottom:0!important}

/* spartan-v20-foot — no celular não encavala Galene / Bresley / Outras */
footer.signature{
 display:flex!important;
 flex-direction:row;
 flex-wrap:nowrap;
 align-items:center;
 justify-content:space-between;
 gap:.45rem 1rem;
}
.foot-left,.foot-mid,.foot-right{
 position:static!important;
 transform:none!important;
 margin:0;
}
.foot-left{flex:1 1 0;min-width:0;text-align:left}
.foot-mid{flex:1 1 auto;text-align:center;white-space:nowrap}
.foot-right{flex:0 0 auto;margin-left:0;text-align:right}
@media (max-width: 800px){
 footer.signature{
  flex-direction:column!important;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:.32rem;
  padding:.6rem .85rem .7rem;
  text-align:center;
 }
 .foot-left,.foot-mid,.foot-right{
  width:100%;
  text-align:center;
  white-space:normal;
  font-size:.78rem;
  line-height:1.35;
 }
 html,body{
  padding-bottom:0!important;
  overflow:hidden!important;
 }
 body{
  padding-bottom:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  max-width:100vw!important;
 }
 body .home{
  max-width:min(92vw,504px);
 }
}

/* spartan-v21 — sem barras de rolagem fantasma na home/login */
html,body{
 overflow:hidden!important;
 max-width:100%!important;
 width:100%!important;
 height:100%!important;
 padding-bottom:0!important;
}
body{
 overflow:hidden!important;
}
html, body{
 -webkit-user-select:none;
 user-select:none;
}
input, textarea, [contenteditable="true"]{
 -webkit-user-select:text;
 user-select:text;
}
