
html, body {
  background: #1e1f22 !important;
  color: #dbdee1 !important;
}
.app, .coln-left, .coln-right, .row, .container, .full-height {
  background: #1e1f22 !important;
  color: #dbdee1 !important;
}

/* barra do topo: preta, texto vermelho */
.navbar, .users-header, .sidenav-header, .topnav {
  background: #000 !important;
  color: #dc2626 !important;
  border-bottom: 1px solid #1a1a1a;
}
.galene-header,
.header-title,
.navbar .nav-link,
.navbar .nav-label,
.navbar a,
.navbar label,
header .collapse {
  color: #dc2626 !important;
}
.nav-link:hover, .nav-link label:hover, .sidenav a:hover,
header .collapse:hover {
  color: #fca5a5 !important;
}

/* lista de usuários — o original força #fff aqui */
#left-sidebar {
  background: #2b2d31 !important;
  border-right: 2px solid #dc2626 !important;
  color: #dbdee1 !important;
}
#left-sidebar .sidebar-header,
#left-sidebar .sidebar-header h3,
#left-sidebar .sidebar-header strong {
  color: #dbdee1 !important;
}
#users {
  background: #2b2d31 !important;
  border-color: #1e1f22 !important;
  color: #dbdee1 !important;
}
#users > div,
#users .user-p,
#users > div:hover,
#users .user-p:hover,
#left-sidebar.active #users > div,
#left-sidebar.active #users > div:hover{
  color: #dbdee1 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 1px solid transparent !important;
  border-radius: 8px;
  box-sizing: border-box;
}
#users > div:hover,
#users .user-p:hover,
#left-sidebar.active #users > div:hover{
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border-color: #dc2626 !important;
}

.login-container {
  background: #1e1f22 !important;
}
.login-box {
  background: #2b2d31 !important;
  color: #dbdee1 !important;
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.45);
}
.loginform label, .login-box label, .login-box {
  color: #dbdee1 !important;
}
.loginform input[type="text"],
.loginform input[type="password"],
.form-control,
.form-reply,
input[type="text"],
input[type="password"],
textarea, select {
  background: #1e1f22 !important;
  color: #f2f3f5 !important;
  border: 1px solid #3f4147 !important;
}
.form-reply::placeholder,
#input::placeholder,
textarea::placeholder {
  color: #b5bac1 !important;
  opacity: 1 !important;
}
.loginform input[type="text"]:focus,
.loginform input[type="password"]:focus,
.form-control:focus,
.form-reply:focus {
  border-color: #dc2626 !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(220,38,38,.25) !important;
}
.btn-blue, #connectbutton.btn-blue {
  background-color: #dc2626 !important;
  border-color: #b91c1c !important;
  color: #fff !important;
}
.btn-blue:hover, #connectbutton.btn-blue:hover,
.btn-blue:focus, #connectbutton.btn-blue:focus {
  background-color: #b91c1c !important;
  border-color: #991b1b !important;
  color: #fff !important;
}

/* chat: fundo escuro + texto claro (o Galene usa #202035 no conteúdo) */
#chat, #chatbox, #box {
  background: #2b2d31 !important;
  color: #dbdee1 !important;
  border-color: #1e1f22 !important;
}
.reply, #inputform, #input {
  background: #383a40 !important;
  color: #f2f3f5 !important;
}
#inputbutton {
  background: #dc2626 !important;
  border: none !important;
  color: #fff !important;
}
.message,
.message-sender,
.message-private,
.message-system {
  background: #383a40 !important;
  color: #f2f3f5 !important;
}
.message-content,
.message-header,
.message-footer,
.message-time,
.message-me-content,
.message-me-asterisk,
.message-me-user {
  color: #f2f3f5 !important;
}
.message-header {
  color: #b5bac1 !important;
}

.sidenav {
  background: #2b2d31 !important;
}
.sidenav-content {
  background: #2b2d31 !important;
  color: #dbdee1 !important;
}
.sidenav-content h2, .sidenav-label, .sidenav-label-first, legend {
  color: #f2f3f5 !important;
}
fieldset {
  border-color: #3f4147 !important;
}
#peers {
  background: #1e1f22 !important;
}
.peer-active {
  border-color: #dc2626 !important;
}

/* spartan-v4 */
#chat a, #box a, .message a, .message-content a, #chat a:link, #chat a:visited {
  color: #22c55e !important;
}
#chat a:hover, #box a:hover, .message a:hover {
  color: #4ade80 !important;
}

:root {
  --contextualMenuBg: #1e1f22;
  --contextualMenuText: #f2f3f5;
  --contextualHover: #2b2d31;
  --contextualSubMenuBg: #1e1f22;
  --contextualSeperator: #3f4147;
  --contextualOverflowIcon: #b5bac1;
  --contextualMenuShadow: 0 12px 32px rgba(0,0,0,.55);
  --contextualMenuRadius: 12px;
}
.contextualMenu,
.contextualHoverMenu {
  position: fixed !important;
  z-index: 2147483000 !important;
  background: #1e1f22 !important;
  color: #f2f3f5 !important;
  border: 1px solid #3f4147 !important;
  border-radius: 12px !important;
  padding: 8px !important;
  min-width: 220px !important;
  width: max-content !important;
  max-width: min(90vw, 320px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.55) !important;
  overflow: visible !important;
}
.contextualMenuItemOuter {
  margin: 0 0 6px !important;
  list-style: none !important;
}
.contextualMenuItemOuter:last-child {
  margin-bottom: 0 !important;
}
.contextualMenuItem,
.contextualHoverMenuItem {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  background: #2b2d31 !important;
  color: #f2f3f5 !important;
  border: 1px solid #3f4147 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  margin: 0 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  width: auto !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}
.contextualMenuItemTitle,
.contextualMenuItemTip {
  color: #f2f3f5 !important;
  white-space: nowrap !important;
  flex: 1 1 auto !important;
  overflow: visible !important;
  text-overflow: clip !important;
  text-align: center !important;
}
.contextualMenuItemIcon{
  flex: 0 0 auto !important;
  width: 0 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.contextualMenuItem:hover,
.contextualHoverMenuItem:hover {
  background: #3f1414 !important;
  border-color: #dc2626 !important;
  color: #fff !important;
}

#invite-dialog {
  background: #2b2d31 !important;
  color: #f2f3f5 !important;
  border: 1px solid #3f4147 !important;
  border-radius: 10px;
}
#invite-dialog label {
  color: #f2f3f5 !important;
}
#invite-dialog input,
#invite-dialog input[type="datetime-local"] {
  background: #1e1f22 !important;
  color: #f2f3f5 !important;
  border: 1px solid #3f4147 !important;
  color-scheme: dark;
}
#invite-dialog button {
  background: #dc2626 !important;
  color: #fff !important;
  border: none !important;
}
#invite-dialog button:hover {
  background: #b91c1c !important;
}

.profile-logo {
  background: url("/icone-separtan.jpg") center/cover no-repeat !important;
  padding: 0 !important;
  overflow: hidden;
  color: transparent !important;
}
.profile-logo i {
  display: none !important;
}
.profile-info {
  color: #dbdee1 !important;
}
#users > div.user-p {
  background-image: none !important;
  padding-left: 8px !important;
}
.user-avatar{
 flex:0 0 26px;
 width:26px;
 height:26px;
 border-radius:50%;
 background:#111 url("/icone-separtan.jpg") center/cover no-repeat;
 border:1px solid #3f4147;
}

/* spartan-v5 */
.message-header {
  color: #22c55e !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  font-style: normal !important;
}

#input, .form-reply, #inputform textarea {
  border: 1px solid #7f1d1d !important;
}
#input:focus, .form-reply:focus, #inputform textarea:focus {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 2px rgba(239,68,68,.45) !important;
}

#mutebutton:not(.muted),
#mutebutton:not(.muted) label,
#mutebutton:not(.muted) .fas {
  color: #22c55e !important;
}
#mutebutton.muted,
#mutebutton.muted label,
#mutebutton.muted .fas {
  color: #dc2626 !important;
}
#sharebutton.sharing,
#sharebutton.sharing label,
#sharebutton.sharing .fas {
  color: #22c55e !important;
}
#sharebutton:not(.sharing),
#sharebutton:not(.sharing) label,
#sharebutton:not(.sharing) .fas {
  color: #dc2626 !important;
}

/* spartan-v7 */
.message button, #box button {
  background: #dc2626 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px;
  padding: .3rem .7rem;
  margin-right: .4rem;
  cursor: pointer;
}
#captions {
  background: rgba(0,0,0,.8) !important;
  color: #fff !important;
}
.video-controls span:hover, .top-video-controls span:hover {
  color: #fca5a5 !important;
}
.toastify {
  color: #fff !important;
}

#chpwspan{display:block!important}
#chpwspan.invisible{display:none}
#chpwspan a{color:#22c55e!important;font-size:.85rem}

#adminspan a{color:#dc2626!important;font-weight:700}

/* spartan-v10 */
.sidenav{width:0;background:#111218!important;box-shadow:-8px 0 24px rgba(0,0,0,.45)!important;overflow-y:auto!important}
.sidenav-header{background:#000!important;border-bottom:1px solid #2b2d31}
.sidenav-content{padding:14px 16px 28px!important}
.sidenav fieldset{border:1px solid #3f4147!important;border-radius:12px;padding:12px;margin:0 0 14px;background:#2b2d31}
.sidenav legend{color:#f2f3f5!important;padding:0 6px}
.sidenav .profile{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #3f4147}
.sidenav .profile-info{float:none!important;width:auto!important;margin:0!important;color:#dbdee1!important}
.sidenav a.side-btn,.sidenav #chpwspan a,.sidenav #adminspan a{
 display:inline-block!important;width:auto!important;max-width:100%;
 font-size:13px!important;font-weight:700!important;line-height:1.2!important;
 padding:7px 12px!important;margin:6px 8px 0 0!important;
 border-radius:8px!important;text-transform:none!important;text-align:center
}
.sidenav #chpwspan a{background:#383a40!important;color:#f2f3f5!important}
.sidenav #adminspan a{background:#dc2626!important;color:#fff!important}
.sidenav select,.sidenav .select{border-radius:8px!important}

/* spartan-v12 */
.sidenav,.sidenav-content{overflow-y:auto!important}
.sidenav-content{height:calc(100% - 56px)!important}
.sidenav .profile{width:100%!important;float:none!important}
.sidenav .profile-user{display:flex!important;align-items:center;gap:10px;width:100%}
.sidenav .profile-user:after{display:none!important}
.sidenav .profile-logo{float:none!important;flex:0 0 50px}
.sidenav .profile-info{float:none!important;width:auto!important;flex:1;margin:0!important}
.sidenav .user-logout{float:none!important;margin-left:auto}
.sidenav .user-logout a,
.sidenav .user-logout #disconnectbutton{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 flex-direction:column!important;
 gap:2px!important;
 min-width:52px!important;
 min-height:52px!important;
 padding:8px!important;
 margin:0!important;
 background:#dc2626!important;
 color:#fff!important;
 border:none!important;
 border-radius:8px!important;
 text-decoration:none!important;
 box-sizing:border-box!important;
 cursor:pointer!important;
}
.sidenav .user-logout a:hover{
 background:#b91c1c!important;
 color:#fff!important;
}
.sidenav .user-logout .logout-icon,
.sidenav .user-logout .logout-text,
.sidenav .user-logout .fas{
 color:#fff!important;
 font-size:14px!important;
}
.nav-menu #disconnectbutton,
.nav-menu #disconnectbutton label,
.nav-menu #disconnectbutton .fas{
 color:#dc2626!important;
 background:transparent!important;
 min-width:unset!important;
 min-height:unset!important;
 padding:0!important;
}
.nav-menu #openside.nav-more{padding-top:0!important}
.sidenav .side-actions{display:flex;gap:8px;width:100%;margin-top:10px}
.sidenav .side-actions>span{flex:1}
.sidenav .side-actions a{
 display:block!important;width:100%!important;font-size:13px!important;font-weight:700!important;
 line-height:1.2!important;padding:8px 10px!important;margin:0!important;border-radius:8px!important;
 text-align:center!important}
.sidenav #chpwspan a{background:#383a40!important;color:#f2f3f5!important}
.sidenav #adminspan a{background:#dc2626!important;color:#fff!important}

/* spartan-v13 */
.sidenav .profile-info #chpwspan,.sidenav .profile-info #adminspan{display:none!important}
#chpwspan.invisible,#adminspan.invisible,.sidenav .side-actions>span.invisible{display:none!important}
.sidenav .side-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;gap:8px;width:100%;margin-top:10px}
.sidenav .side-actions>span{flex:1 1 0;min-width:0}
.sidenav .side-actions a{
 display:block!important;width:100%!important;box-sizing:border-box;text-align:center!important;
 font-size:13px!important;font-weight:700!important;line-height:1.2!important;
 padding:8px 10px!important;margin:0!important;border-radius:8px!important}
.sidenav #chpwspan a{background:#383a40!important;color:#f2f3f5!important}
.sidenav #adminspan a{background:#dc2626!important;color:#fff!important}

/* spartan-v14 */
#spartan-reg-wrap{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);z-index:4000}
#spartan-reg-btn{background:#dc2626;color:#fff;border:none;border-radius:12px;padding:.85rem 1.4rem;font-weight:800;font-size:1.05rem;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.55)}
#spartan-reg-modal,#spartan-first-modal,#spartan-chpw-modal{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:4001;display:flex;align-items:center;justify-content:center}
#spartan-reg-modal[hidden],#spartan-first-modal[hidden],#spartan-chpw-modal[hidden]{display:none!important}
.spartan-reg-card{background:#2b2d31;border:1px solid #3f4147;border-radius:14px;padding:1.2rem 1.3rem;width:min(420px,92vw);color:#dbdee1}
.spartan-reg-card h2{margin:0 0 .5rem;color:#f2f3f5}
.spartan-reg-card input{width:100%;box-sizing:border-box;background:#1e1f22;color:#f2f3f5;border:1px solid #7f1d1d;border-radius:8px;padding:.5rem .6rem;margin:.4rem 0 .8rem}
.spartan-reg-card button{background:#dc2626;color:#fff;border:none;border-radius:8px;padding:.45rem .8rem;font-weight:700;margin-right:.4rem;cursor:pointer}
.spartan-reg-card label{display:block;font-size:.9rem;color:#b5bac1}
#spartan-reg-cancel{background:#383a40}
#spartan-reg-err{color:#f87171;font-weight:700;min-height:1.2em}

/* spartan-v15 */
body:not(.spartan-in) header,
body:not(.spartan-in) #left-sidebar,
body:not(.spartan-in) #sidebarnav,
body:not(.spartan-in) #chat,
body:not(.spartan-in) #peers,
body:not(.spartan-in) #resizer,
body:not(.spartan-in) .nav-menu{visibility:hidden!important;pointer-events:none!important}
body:not(.spartan-in){
 overflow:hidden!important;
 position:fixed!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 max-height:100dvh!important;
}
body:not(.spartan-in) #login-container:not(.invisible){
 position:fixed!important;inset:0!important;z-index:5000!important;display:flex!important;
 flex-direction:column;align-items:center;justify-content:center;
 background:#000 url("/papel-de-parede.jpg?v=12") center/cover no-repeat fixed!important;
 visibility:visible!important;pointer-events:auto!important;
 overflow:hidden!important;height:auto!important;max-height:none!important;
 top:0!important;right:0!important;bottom:0!important;left:0!important}
body:not(.spartan-in) .present-switch,body:not(.spartan-in) .loginform>label{display:none!important}
#passwordform label.spartan-remember{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;margin:8px 0 0;color:#fff}
#spartan-remember-room{width:16px;height:16px;margin:0;padding:0;flex:none}
body:not(.spartan-in) #login-container .login-box{
 width:min(92vw,504px);margin:0;padding:2.2rem 2.1rem 1.8rem!important;
 height:auto!important;min-height:0!important;overflow:visible!important;
 background:rgba(0,0,0,.9)!important;border:1px solid rgba(220,38,38,.55)!important;
 border-radius:16px!important;text-align:center;box-shadow:0 16px 40px rgba(0,0,0,.55)}
.spartan-login-brand{font-size:clamp(2.4rem,7vw,3.4rem);font-weight:800;color:#dc2626;line-height:1.1}
.spartan-login-tag{color:#b5bac1;margin:.35rem 0 1.2rem;font-size:1.05rem}
body:not(.spartan-in) .login-box label{text-align:left}
.navbar.topnav,.navbar{position:relative}
#spartan-reg-btn{
 position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:6;
 background:#dc2626;color:#fff;border:none;border-radius:10px;padding:.45rem 1.15rem;
 font-weight:800;font-size:.92rem;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.4)}
#spartan-reg-btn[hidden]{display:none!important}
.sidenav #chpwspan a{background:#16a34a!important;color:#fff!important}
#spartan-toast{
 position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:6000;
 background:#2b2d31;color:#f2f3f5;border:1px solid #dc2626;border-radius:10px;
 padding:.7rem 1.1rem;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.45);max-width:min(92vw,420px)}
#spartan-dlg{position:fixed;inset:0;z-index:6001;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:1rem}
#spartan-dlg[hidden],#spartan-toast[hidden]{display:none!important}
#spartan-dlg .spartan-reg-card{text-align:center;margin:0 auto;width:fit-content;max-width:min(360px,92vw);min-width:0;padding:.9rem 1.1rem}
#spartan-dlg-msg{margin:0;text-align:center;line-height:1.45;color:#f2f3f5;font-weight:600}
.spartan-dlg-acts{margin-top:.85rem;display:flex;justify-content:center;gap:.45rem}
#spartan-dlg .spartan-dlg-acts button{margin:0}

/* spartan-v16 */
html.spartan-rejoin body:not(.spartan-in) #login-container{
 display:none!important;visibility:hidden!important;pointer-events:none!important;
 background:none!important;position:static!important}
html.spartan-rejoin body:not(.spartan-in) header,
html.spartan-rejoin body:not(.spartan-in) #left-sidebar,
html.spartan-rejoin body:not(.spartan-in) #sidebarnav,
html.spartan-rejoin body:not(.spartan-in) #chat,
html.spartan-rejoin body:not(.spartan-in) #peers,
html.spartan-rejoin body:not(.spartan-in) #resizer,
html.spartan-rejoin body:not(.spartan-in) .nav-menu{
 visibility:visible!important;pointer-events:auto!important}
html.spartan-rejoin body:not(.spartan-in){overflow:hidden;background:#1e1f22!important}

/* spartan-v17 */
#login-container{display:none!important;visibility:hidden!important}
html.spartan-need-login body:not(.spartan-in) #login-container:not(.invisible){
 display:flex!important;visibility:visible!important;pointer-events:auto!important;
 position:fixed!important;inset:0!important;z-index:5000!important;
 flex-direction:column;align-items:center;justify-content:center;
 background:#000 url("/papel-de-parede.jpg?v=12") center/cover no-repeat fixed!important;
 overflow:hidden!important;height:auto!important;
 top:0!important;right:0!important;bottom:0!important;left:0!important}
html.spartan-rejoin body:not(.spartan-in) #login-container,
html:not(.spartan-need-login) body:not(.spartan-in) #login-container{
 display:none!important;visibility:hidden!important;background:none!important}

html.spartan-open-room #passwordform,
html.spartan-open-room #passwordform *{display:none!important}
html.spartan-open-room #spartan-reg-btn{display:none!important}

/* spartan-v20 */
.sidenav .side-actions{display:flex!important;align-items:stretch;gap:8px;width:100%;margin:10px 0 0;box-sizing:border-box}
.sidenav .side-actions>span{flex:1 1 0;min-width:0;display:block;margin:0!important}
.sidenav .side-actions>span.invisible{display:none!important}
.sidenav .side-actions a.side-btn,.sidenav #chpwspan a,.sidenav #adminspan a{
 display:flex!important;align-items:center;justify-content:center;
 width:100%!important;max-width:none!important;box-sizing:border-box!important;
 margin:0!important;padding:11px 8px!important;font-size:14px!important;font-weight:700!important;
 border-radius:8px!important;text-align:center!important;text-transform:none!important}
.sidenav #chpwspan a{background:#16a34a!important;color:#fff!important}
.sidenav #adminspan a{background:#dc2626!important;color:#fff!important}

/* spartan-v21-foot */
body:not(.spartan-in) footer.signature{
 position:fixed;left:0;right:0;bottom:0;z-index:5001;
 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}
body:not(.spartan-in) .foot-left{color:#d1d5db;font-size:.85rem}
body:not(.spartan-in) .foot-mid{position:absolute;left:50%;transform:translateX(-50%);color:#e5e7eb;font-size:.85rem;white-space:nowrap}
body:not(.spartan-in) .foot-mid a,body:not(.spartan-in) .foot-left a{color:#f3f4f6!important;text-decoration:underline}
body:not(.spartan-in) .foot-right{margin-left:auto}
body:not(.spartan-in) .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}
body.spartan-in footer.signature{display:none!important}

/* spartan-v22-foot */
body:not(.spartan-in) footer.signature{
 background:rgba(0,0,0,.32)!important;border:none!important;border-top:none!important;box-shadow:none!important}
html.spartan-need-login,html.spartan-need-login body,html.spartan-need-login #login-container{
 background-attachment:fixed!important;background-size:cover!important;min-height:100vh!important}

/* spartan-v28-foot — login: rodapé em coluna no celular */
body:not(.spartan-in) footer.signature{
 display:flex!important;
 flex-direction:row;
 flex-wrap:nowrap;
 align-items:center;
 justify-content:space-between;
 gap:.45rem 1rem;
}
body:not(.spartan-in) .foot-left,
body:not(.spartan-in) .foot-mid,
body:not(.spartan-in) .foot-right{
 position:static!important;
 transform:none!important;
 margin:0;
}
body:not(.spartan-in) .foot-left{flex:1 1 0;min-width:0;text-align:left}
body:not(.spartan-in) .foot-mid{flex:0 1 auto;margin-left:auto;text-align:right;white-space:nowrap}
body:not(.spartan-in) .foot-right:empty{display:none}
body:not(.spartan-in) .foot-right{flex:0 0 auto;margin-left:0;text-align:right}
@media (max-width: 800px){
 body:not(.spartan-in) footer.signature{
  flex-direction:column!important;
  justify-content:center;
  align-items:center;
  gap:.32rem;
  padding:.6rem .85rem .7rem;
  text-align:center;
 }
 body:not(.spartan-in) .foot-left,
 body:not(.spartan-in) .foot-mid,
 body:not(.spartan-in) .foot-right{
  width:100%;
  text-align:center;
  white-space:normal;
  font-size:.78rem;
  line-height:1.35;
 }
 html.spartan-need-login body:not(.spartan-in) #login-container:not(.invisible){
  padding:.75rem .75rem 6.5rem!important;
  box-sizing:border-box;
  overflow:hidden!important;
 }
 html.spartan-need-login,html.spartan-need-login body{
  overflow:hidden!important;
  height:100%!important;
  max-width:100%!important;
  padding-bottom:0!important;
 }
}

/* spartan-v23 — barra, grelha, overlay, retrato */
#presentbutton,
#unpresentbutton,
.nav-menu li.spartan-hide-nav,
.nav-menu li:has(#presentbutton),
.nav-menu li:has(#unpresentbutton){
 display:none!important;
}
.nav-menu{
 height:3.5rem;
 overflow:hidden;
 display:flex;
 align-items:center;
 margin:0;
 padding:0;
}
.nav-menu li{
 list-style:none;
 display:flex;
 align-items:center;
}
#camerabutton:not(.cam-on),
#camerabutton:not(.cam-on) label,
#camerabutton:not(.cam-on) .fas{
 color:#dc2626!important;
}
#camerabutton.cam-on,
#camerabutton.cam-on label,
#camerabutton.cam-on .fas{
 color:#22c55e!important;
}

#peers{
 display:grid!important;
 align-content:stretch;
 justify-content:stretch;
}
#peers>.peer{
 min-width:0;
 min-height:0;
 margin:0;
 display:flex;
 flex-direction:column;
 align-items:stretch;
 justify-content:flex-start;
 background:#111;
 overflow:hidden;
 border:1px solid #dc2626;
 box-sizing:border-box;
 border-radius:4px;
 position:relative;
}
#peers>.peer .media{
 flex:1 1 auto;
 min-height:0;
 width:100%;
 height:auto;
 max-height:none!important;
 padding-bottom:0!important;
 object-fit:contain;
}
#peers.peers-split{
 grid-template-columns:minmax(160px,30%) 1fr!important;
 grid-template-rows:1fr!important;
 column-gap:8px;
}
#peers.peers-split>.peer-portrait{
 grid-column:1;
 align-self:stretch;
}
#peers.peers-split>.peer:not(.peer-portrait){
 grid-column:2;
}

#video-container.peer-focus-mode #peers{
 display:block!important;
}
#video-container.peer-focus-mode .peer{
 display:none;
}
#video-container.peer-focus-mode .peer.peer-focus{
 display:flex;
 position:absolute;
 inset:0;
}
#video-container.peer-focus-mode .peer.peer-focus .media{
 width:100%;
 height:100%;
 max-height:none!important;
 object-fit:contain;
}

.peer.peer-fs{
 position:fixed!important;
 inset:0!important;
 width:100vw!important;
 height:100vh!important;
 z-index:7000!important;
 background:#000!important;
 margin:0!important;
 padding:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}
.peer.peer-fs .media{
 width:100%!important;
 height:100%!important;
 max-height:none!important;
 object-fit:contain!important;
}
body.spartan-peer-fs{
 overflow:hidden;
}
/* Aviso ao passar o mouse na live em tela cheia (Esc continua saindo). */
.peer.peer-fs::after{
 content:'Pressione Esc para sair da tela cheia';
 position:fixed;
 top:18px;
 left:50%;
 transform:translateX(-50%);
 z-index:7002;
 padding:8px 14px;
 border-radius:8px;
 background:rgba(0,0,0,.72);
 color:#fff;
 font:600 13px/1.3 system-ui,Segoe UI,sans-serif;
 letter-spacing:.02em;
 opacity:0;
 pointer-events:none;
 transition:opacity .15s ease;
}
.peer.peer-fs:hover::after{
 opacity:1;
}

.video-controls,
.top-video-controls,
.video-controls span,
.top-video-controls span{
 opacity:0!important;
 transition:none!important;
}
.peer:hover>.video-controls,
.peer:hover>.top-video-controls,
.peer:hover>.video-controls span,
.peer:hover>.top-video-controls span,
.peer.peer-fs:hover>.video-controls,
.peer.peer-fs:hover>.top-video-controls,
.peer.peer-fs:hover>.video-controls span,
.peer.peer-fs:hover>.top-video-controls span{
 opacity:1!important;
}
.vc-overlay{
 background:#111!important;
}
.top-video-controls .close-icon.video-stop{
 display:inline-flex!important;
 align-items:center;
 justify-content:center;
 width:28px!important;
 height:28px!important;
 background:#dc2626!important;
 color:#fff!important;
 border-radius:2px!important;
 font-size:16px;
 line-height:1;
 text-shadow:none;
}

/* cabeçalho sólido: título acima da imagem (não sobrepõe o vídeo) */
.peer>.label{
 order:-1!important;
 position:relative!important;
 top:auto!important;
 bottom:auto!important;
 left:auto!important;
 right:auto!important;
 flex:0 0 28px!important;
 height:28px!important;
 width:100%!important;
 z-index:3!important;
 box-sizing:border-box!important;
 padding:0 36px!important;
 line-height:28px!important;
 text-align:center!important;
 font-size:13px!important;
 font-weight:700!important;
 color:#fff!important;
 background:#000!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 white-space:nowrap!important;
 pointer-events:none!important;
}
.peer>.top-video-controls{
 z-index:4!important;
 top:0!important;
}

@media only screen and (max-width:1024px){
 .nav-menu{
  height:3.5rem;
  overflow:hidden;
 }
 .nav-menu .nav-button{
  font-size:22px;
  min-width:44px;
 }
 .nav-menu .nav-link{
  margin:0 4px;
 }
 #peers.peers-split{
  grid-template-columns:1fr!important;
  grid-template-rows:minmax(28%,auto) 1fr!important;
 }
 #peers.peers-split>.peer-portrait{
  grid-column:1;
  grid-row:1;
 }
 #peers.peers-split>.peer:not(.peer-portrait){
  grid-column:1;
  grid-row:2;
 }
 .peer>.video-controls,
 .peer>.top-video-controls,
 .peer>.video-controls span,
 .peer>.top-video-controls span{
  opacity:1!important;
 }
 .peer .video-controls{
  bottom:4px!important;
  height:28px!important;
  font-size:.85em!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  box-sizing:border-box!important;
  padding:0 4px!important;
 }
 .peer .video-controls .controls-button{
  padding:2px 4px!important;
  height:auto!important;
 }
 .peer .video-controls .volume-slider{
  max-width:48px!important;
  width:48px!important;
 }
 .peer .top-video-controls{
  top:0!important;
  font-size:1em!important;
 }
 .peer .label{
  font-size:12px!important;
  line-height:26px!important;
  padding:0 32px!important;
 }
}

/* spartan-v24 — lives a pedido, grelha par, chat e definições overlay */
#left,#resizer,.show-chat,.collapse-video,.show-video{
 display:none!important;
}
#resizer,#resizer:hover{
 display:none!important;
 width:0!important;
 height:0!important;
 margin:0!important;
 padding:0!important;
 border:none!important;
 min-width:0!important;
 pointer-events:none!important;
 visibility:hidden!important;
}
body.spartan-in #left-sidebar{
 overflow-x:hidden!important;
}
#users{
 overflow-x:hidden!important;
 scrollbar-width:thin;
}
.coln-right{
 flex:1 1 100%!important;
}
.full-width,.full-width-active{
 width:calc(100vw - 200px)!important;
}
#left-sidebar.active ~ .container .full-width,
.full-width-active{
 width:100vw!important;
}

#hideownbutton:not(.hiding),
#hideownbutton:not(.hiding) label,
#hideownbutton:not(.hiding) .fas{
 color:#22c55e!important;
}
#hideownbutton.hiding,
#hideownbutton.hiding label,
#hideownbutton.hiding .fas{
 color:#dc2626!important;
}
#hideownbutton label{
 overflow:visible!important;
 text-overflow:clip!important;
 white-space:nowrap!important;
 max-width:none!important}

#peers.peers-split{
 grid-template-columns:unset;
}

.channel-chat-btn{
 display:flex;
 align-items:center;
 justify-content:center;
 position:relative;
 gap:8px;
 width:calc(100% - 12px);
 margin:8px 6px;
 padding:8px 10px;
 background:#16a34a;
 color:#fff!important;
 border:none;
 border-radius:8px;
 font-weight:700;
 font-size:13px;
 cursor:pointer;
 box-sizing:border-box;
}
.channel-chat-btn .chat-btn-label{
 flex:1;
 text-align:center;
}
.channel-chat-btn .chat-unread{
 display:none;
 position:absolute;
 right:8px;
 top:50%;
 transform:translateY(-50%);
 align-items:center;
 justify-content:center;
 width:22px;
 height:22px;
 flex:0 0 22px;
 background:#dc2626;
 color:#fff;
 border-radius:6px;
}
.channel-chat-btn.has-unread .chat-unread,
.channel-chat-btn .chat-unread:not([hidden]){
 display:inline-flex;
}
.channel-chat-btn.on{
 background:#166534;
}

#users{
 height:calc(100% - 3.5rem - 52px)!important;
 background:#1e1f22!important;
 border:none!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
}
#users .user-p{
 height:auto!important;
 min-height:40px;
 overflow:visible!important;
 white-space:normal!important;
 line-height:1.5!important;
 padding:8px 10px!important;
 border-bottom:none!important;
 color:#dbdee1;
 background:none!important;
 background-image:none!important;
 -webkit-touch-callout:none;
 -webkit-user-select:none;
 user-select:none;
}
.user-row{
 display:flex;
 align-items:center;
 gap:8px;
 overflow:visible;
 min-height:24px;
}
.user-talk-dot{
 flex:0 0 8px;
 width:8px;
 height:8px;
 border-radius:50%;
 background:#6b7280;
 box-shadow:none;
}
#users > div.user-talk-idle .user-talk-dot{
 background:#eab308;
 box-shadow:0 0 6px #eab308;
}
#users > div.user-talk-on .user-talk-dot{
 background:#22c55e;
 box-shadow:0 0 6px #22c55e;
}
#users > div.user-talk-muted .user-talk-dot{
 background:#dc2626;
 box-shadow:0 0 6px #dc2626;
}
#users > div::before{
 content:none!important;
 display:none!important;
}
#users > div.user-status-raisehand::before{
 display:inline!important;
 content:"\f256"!important;
 font-family:'Font Awesome 6 Free';
 font-weight:900;
 color:#fbbf24;
 margin-right:4px;
}
.user-name{
 flex:1;
 min-width:0;
 overflow:visible;
 text-overflow:unset;
 white-space:normal;
 overflow-wrap:anywhere;
 word-break:break-word;
 line-height:1.35;
 padding:3px 0 4px;
}
.user-mute-wrap{
 margin-top:6px;
}
.user-mute-wrap .user-mute-btn{
 width:100%;
 display:block;
 pointer-events:none;
 cursor:default;
 user-select:none;
}
.user-mute-btn{
 flex:0 0 auto;
 background:#3f4147;
 color:#e5e7eb;
 border:none;
 border-radius:6px;
 padding:4px 8px;
 font-size:11px;
 font-weight:700;
 cursor:pointer;
}
.user-vol-menu .user-mute-btn{
 cursor:pointer;
 pointer-events:auto;
}
.user-mute-btn.mute-local{
 background:#eab308;
 color:#111;
}
.user-mute-btn.mute-remote,
.user-mute-btn.on{
 background:#dc2626;
 color:#fff;
}
.user-mute-btn.mute-toward{
 background:#2563eb;
 color:#fff;
}
.user-mute-btn.mute-local-toward{
 background:linear-gradient(90deg,#eab308 0 50%,#2563eb 50% 100%);
 color:#111;
}
.user-mute-btn.mute-remote-toward{
 background:linear-gradient(90deg,#dc2626 0 50%,#2563eb 50% 100%);
 color:#fff;
}
.user-mute-btn.mute-all{
 background:linear-gradient(90deg,#eab308 0 33%,#dc2626 33% 66%,#2563eb 66% 100%);
 color:#111;
 text-shadow:0 0 2px #fff;
}
.user-mute-for-btn{
 flex:0 0 auto;
 background:#3f4147;
 color:#e5e7eb;
 border:none;
 border-radius:6px;
 padding:4px 8px;
 font-size:11px;
 font-weight:700;
 cursor:pointer;
}
.user-mute-for-btn.on{
 background:#2563eb;
 color:#fff;
}
.user-vol-menu{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 gap:6px;
 padding:4px 4px 8px;
 text-align:center;
 box-sizing:border-box;
 width:100%;
}
.user-vol-menu-title{
 font-size:12px;
 font-weight:600;
 color:#dbdee1;
 width:100%;
 text-align:center;
}
.user-vol-menu .user-mute-btn{
 width:100%;
 padding:8px 10px;
 font-size:13px;
}
.user-vol-row{
 display:flex;
 align-items:center;
 gap:8px;
 width:100%;
}
.user-vol-slider{
 flex:1 1 auto;
 width:auto;
 min-width:0;
 margin:0;
 accent-color:#dc2626;
 cursor:pointer;
}
.user-vol-lab{
 font-size:11px;
 font-weight:700;
 color:#9aa0a6;
 min-width:2.6rem;
 text-align:right;
}
.user-lives{
 display:flex;
 flex-wrap:wrap;
 gap:6px;
 margin-top:6px;
}
.user-live-btn{
 flex:1 1 calc(50% - 6px);
 max-width:calc(50% - 3px);
 min-width:calc(50% - 6px);
 box-sizing:border-box;
 background:#16a34a;
 color:#fff;
 border:none;
 border-radius:6px;
 padding:6px 8px;
 font-size:12px;
 font-weight:700;
 cursor:pointer;
}
.user-live-btn.on{
 outline:2px solid #fff;
 background:#15803d;
}

#chat{
 position:fixed!important;
 inset:0!important;
 z-index:8000;
 display:none!important;
 align-items:center;
 justify-content:center;
 background:rgba(0,0,0,.55);
 padding:24px;
}
#chat.spartan-chat-open,
#chat.spartan-chat-open[hidden]{
 display:flex!important;
}
#chat #chatbox{
 width:min(720px,100%);
 height:min(80vh,640px);
 max-height:80vh;
 background:#111;
 border:1px solid #3f4147;
 border-radius:12px;
 display:flex;
 flex-direction:column;
 position:relative;
}
.chat-overlay-bar{
 display:flex;
 align-items:center;
 justify-content:space-between;
 flex-wrap:wrap;
 gap:.5rem 10px;
 padding:10px 14px;
 background:#000;
 color:#dc2626;
 font-weight:700;
}
.chat-noauto{
 display:flex;
 align-items:center;
 gap:.4rem;
 margin-left:auto;
 font-weight:600;
 font-size:.82rem;
 color:#e5e7eb;
 cursor:pointer;
}
.chat-noauto input{
 width:auto;
 margin:0;
 accent-color:#dc2626;
}
#chat .close-chat{
 position:static;
 cursor:pointer;
}
#chat #box{
 flex:1;
 overflow:auto;
}
.spartan-hide-setting{
 display:none!important;
}

#sidebarnav.sidenav{
 position:fixed!important;
 inset:0!important;
 width:auto!important;
 height:auto!important;
 display:none;
 align-items:center;
 justify-content:center;
 background:rgba(0,0,0,.55)!important;
 z-index:8100;
 box-shadow:none!important;
 overflow:hidden!important;
}
#sidebarnav.spartan-settings-open{
 display:flex!important;
}
#sidebarnav .sidenav-header,
#sidebarnav .sidenav-content{
 width:min(400px,92vw);
}
#sidebarnav .sidenav-header{
 border-radius:12px 12px 0 0;
}
#sidebarnav .sidenav-content{
 height:auto!important;
 max-height:calc(min(94vh, 720px) - 52px)!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 background:#1e1f22;
 border-radius:0 0 12px 12px;
 display:grid;
 grid-template-columns:1fr;
 gap:6px 0;
 padding:10px 14px 12px!important;
}
#sidebarnav .spartan-sound-chat{
 border:1px solid rgba(220,38,38,.4);
 border-radius:10px;
 padding:8px 10px 6px;
 margin:0;
}
#sidebarnav .spartan-sound-chat legend{
 color:#fecaca;
 font-weight:700;
}
#sidebarnav .profile{
 grid-column:1;
}
#sidebarnav .set-help{
 margin:0 0 5px;
 font-size:11px;
 line-height:1.25;
 color:#9ca3af;
}
#sidebarnav fieldset{
 margin:0 0 6px!important;
 padding:8px 10px!important;
}
#sidebarnav .sidenav-panel{
 width:min(400px,92vw);
 max-height:min(96vh,880px);
}
@media only screen and (max-width:900px){
 #sidebarnav .sidenav-content{
  grid-template-columns:1fr;
  max-height:85vh;
 }
}

/* spartan-v25 — overlays centrados, grid, sidebar, telemóvel */
#left-sidebar .users-header{
 display:flex!important;
 align-items:center;
 height:3.5rem!important;
 min-height:3.5rem!important;
 padding:0 12px!important;
 margin:0!important;
 box-sizing:border-box;
 background:#000!important;
 border-bottom:1px solid #1a1a1a!important;
 color:#dc2626!important;
 font-size:1.15rem!important;
 font-weight:800!important;
}
#left-sidebar .users-header .galene-header{
 color:#dc2626!important;
 font-weight:800!important;
}
#left-sidebar .header-sep{
 display:none!important;
}
.channel-chat-btn{
 margin:8px 8px 6px!important;
}
#users{
 height:calc(100% - 3.5rem - 52px)!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
}
#users > div::after,
#users > div.user-status-microphone::after,
#users > div.user-status-camera::after{
 content:none!important;
 display:none!important;
}

#peers>.peer.peer-hidden{
 display:none!important;
}

#chat,
#chat.spartan-chat-open,
#chat.spartan-chat-open[hidden]{
 position:fixed!important;
 inset:0!important;
 z-index:8000!important;
 align-items:center;
 justify-content:center;
 padding:24px;
 box-sizing:border-box;
}
#chat{
 display:none!important;
 background:transparent!important;
}
#chat.spartan-chat-open,
#chat.spartan-chat-open[hidden]{
 display:flex!important;
 background:rgba(0,0,0,.4)!important;
}
#chat #chatbox,
#chat.spartan-chat-open #chatbox{
 width:min(640px,94vw)!important;
 height:min(72vh,560px)!important;
 max-height:72vh!important;
 background:#111!important;
 border:1px solid #3f4147!important;
 border-radius:12px!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden;
 box-shadow:0 16px 48px rgba(0,0,0,.55);
}
#chat #box{
 background:#1e1f22!important;
 flex:1!important;
}
#chat .reply,#chat #inputform{
 background:#111!important;
}

#sidebarnav.sidenav{
 position:fixed!important;
 inset:0!important;
 width:auto!important;
 height:auto!important;
 top:0!important;
 right:0!important;
 left:0!important;
 bottom:0!important;
 display:none!important;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 background:rgba(0,0,0,.4)!important;
 z-index:9000!important;
 box-shadow:none!important;
 overflow:hidden!important;
}
#sidebarnav.spartan-settings-open{
 display:flex!important;
}
#sidebarnav .sidenav-panel{
 width:min(400px,92vw);
 max-height:min(96vh,880px);
 display:flex;
 flex-direction:column;
 border-radius:12px;
 overflow:hidden;
 box-shadow:0 16px 48px rgba(0,0,0,.55);
 background:#1e1f22;
}
#sidebarnav .sidenav-header,
#sidebarnav .sidenav-content{
 width:100%!important;
}
#sidebarnav .sidenav-header{
 flex:0 0 auto;
 height:52px;
 position:relative;
}
#sidebarnav .sidenav-content{
 flex:1 1 auto;
 height:auto!important;
 max-height:calc(min(94vh, 720px) - 52px)!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 display:grid;
 grid-template-columns:1fr;
 gap:6px 0;
 padding:10px 14px 12px!important;
}
#sidebarnav .spartan-transmit-setting{
 grid-column:1;
 padding:8px 10px 6px;
 margin:0;
}

@media only screen and (max-width:1024px){
 body.spartan-in #left-sidebar{
  position:fixed!important;
  top:3.5rem;
  left:0;
  bottom:0;
  z-index:5000;
  min-width:0!important;
  max-width:0!important;
  width:0!important;
  overflow:hidden!important;
  border:none!important;
 }
 body.spartan-in #left-sidebar.active{
  min-width:min(320px,88vw)!important;
  max-width:min(320px,88vw)!important;
  width:min(320px,88vw)!important;
  overflow:auto!important;
  box-shadow:8px 0 24px rgba(0,0,0,.45);
 }
 body.spartan-in .full-width,
 body.spartan-in .full-width-active{
  width:100vw!important;
 }
 body.spartan-in .video-container{
  left:0!important;
 }
 body.spartan-in .nav-menu .nav-link label{
  display:none;
 }
 #chat.spartan-chat-open,
 #chat.spartan-chat-open[hidden]{
  padding:12px;
 }
 #chat #chatbox,
 #chat.spartan-chat-open #chatbox{
  width:100%!important;
  height:min(80vh,100%)!important;
 }
 #sidebarnav .sidenav-panel{
  width:96vw;
  max-height:90vh;
 }
}

/* spartan-v26 — X vermelho, tela cheia real, sidebar sem caixa cinza */
body.spartan-in #left-sidebar{
 padding-top:0!important;
 box-sizing:border-box;
}
#chat .close-chat{
 position:static!important;
 display:inline-flex!important;
 align-items:center;
 justify-content:center;
 width:28px!important;
 height:28px!important;
 padding:0!important;
 margin:0!important;
 background:#dc2626!important;
 color:#fff!important;
 border:none!important;
 border-radius:2px!important;
 cursor:pointer;
}
#chat .close-chat .close-icon,
#chat .close-chat .close-icon:before{
 color:#fff!important;
 font-size:16px!important;
 line-height:1!important;
}
#sidebarnav .closebtn,
#sidebarnav .closebtn .fas,
#sidebarnav a.closebtn{
 color:#dc2626!important;
}
#sidebarnav a.closebtn{
 font-size:1.5rem!important;
 line-height:56px!important;
 padding:0 16px!important;
}
.peer.peer-fs,
.peer:fullscreen,
.peer:-webkit-full-screen{
 position:fixed!important;
 inset:0!important;
 width:100vw!important;
 height:100vh!important;
 max-width:none!important;
 max-height:none!important;
 z-index:8500!important;
 background:#000!important;
 margin:0!important;
 padding:0!important;
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
}
.peer.peer-fs .media,
.peer.peer-fs video,
.peer:fullscreen .media,
.peer:fullscreen video,
.peer:-webkit-full-screen .media,
.peer:-webkit-full-screen video{
 width:100%!important;
 height:100%!important;
 max-width:none!important;
 max-height:none!important;
 object-fit:contain!important;
 background:#000!important;
}
#video-container.peer-focus-mode .peer.peer-fs{
 display:flex!important;
}

@media only screen and (max-width:1024px){
 body.spartan-in #left-sidebar{
  padding-top:0!important;
 }
 body.spartan-in #left-sidebar .users-header{
  display:none!important;
 }
 body.spartan-in #users{
  height:calc(100% - 52px)!important;
 }
 body.spartan-in #video-container{
  position:relative!important;
  top:auto!important;
  left:0!important;
  right:0!important;
  height:calc(var(--vh, 1vh) * 100 - 3.5rem)!important;
 }
 body.spartan-in #peers{
  min-height:100%;
 }
 .peer>.video-controls .rotate{
  display:inline-block!important;
 }
}

/* spartan-v29 — sem PiP nativo no meio, hover vermelho, menu moderno, FS */
.peer video::-webkit-media-controls,
.peer video::-webkit-media-controls-enclosure,
.peer video::-webkit-media-controls-panel,
.peer video::-webkit-media-controls-overlay-enclosure,
.peer video::-webkit-media-controls-overlay-play-button{
 display:none!important;
 opacity:0!important;
 width:0!important;
 height:0!important;
}
.peer video::-webkit-media-controls-picture-in-picture-button{
 display:none!important;
}
#peers .peer > .pip,
#video-container .pip-floating,
.peer > button.pip{
 display:none!important;
}
/* PiP só na barra de controles custom */
.video-controls .pip{display:inline-flex!important;}

.peer:fullscreen,
.peer:-webkit-full-screen,
.peer.peer-fs:fullscreen,
video:fullscreen,
video:-webkit-full-screen{
 width:100vw!important;
 height:100vh!important;
 object-fit:contain!important;
 background:#000!important;
}

#users > div:hover,
#users .user-p:hover,
#left-sidebar.active #users > div:hover{
 background:none!important;
 background-color:transparent!important;
 background-image:none!important;
}

/* spartan-v34 — mata overflow:scroll do galene.css no login */
html.spartan-need-login,
html.spartan-need-login body,
body:not(.spartan-in){
 overflow:hidden!important;
 overscroll-behavior:none!important;
}
body:not(.spartan-in){
 position:fixed!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 max-height:100dvh!important;
}
html.spartan-need-login body:not(.spartan-in) #login-container,
html.spartan-need-login body:not(.spartan-in) #login-container:not(.invisible),
body:not(.spartan-in) #login-container,
body:not(.spartan-in) #login-container:not(.invisible),
body:not(.spartan-in) .login-container{
 overflow:hidden!important;
 overflow-x:hidden!important;
 overflow-y:hidden!important;
 height:auto!important;
 max-height:none!important;
}

/* ouvinte: voz só — sem lives, sem chat texto, sem transmitir vídeo */
body.spartan-ouvinte #channel-chat-btn,
body.spartan-ouvinte #chat,
body.spartan-ouvinte #show-chat,
body.spartan-ouvinte #collapse-video,
body.spartan-ouvinte #camerabutton,
body.spartan-ouvinte #sharebutton,
body.spartan-ouvinte .user-lives,
body.spartan-ouvinte #peers .peer:not(.peer-hidden){
 display:none!important;
}
body.spartan-ouvinte #peers .peer{
 /* áudio continua; vídeo escondido via peer-hidden + regra acima */
}

/* spartan-v58 — avisos Toastify: caixa verde sólida, sem degradê */
.toastify,
.toastify.info,
.toastify.warning,
.toastify.error {
  background: #16a34a !important;
  background-image: none !important;
  color: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.45) !important;
}
.toastify .toast-close,
.toastify.info .toast-close,
.toastify.warning .toast-close,
.toastify.error .toast-close {
  color: #fff !important;
  opacity: 1 !important;
}
#spartan-toast {
  background: #16a34a !important;
  color: #fff !important;
  border: none !important;
}

/* spartan-v59 — overlay de desconexão */
#spartan-drop{
 position:fixed;inset:0;z-index:7000;
 background:rgba(0,0,0,.72);
 display:flex;align-items:center;justify-content:center;padding:1rem;
}
#spartan-drop[hidden]{display:none!important}
#spartan-drop .spartan-reg-card{
 text-align:center;margin:0 auto;width:fit-content;max-width:min(360px,92vw);
 padding:1.1rem 1.25rem;background:#2b2d31;border:1px solid #3f4147;border-radius:14px;
}
#spartan-drop-msg{margin:0;color:#f2f3f5;font-weight:700;line-height:1.45}
#spartan-drop-btn{
 background:#16a34a;color:#fff;border:none;border-radius:8px;
 padding:.5rem 1.15rem;font-weight:800;cursor:pointer;margin-top:.85rem;
}
#spartan-drop-btn:disabled{opacity:.65;cursor:wait}

/* spartan-v60 — X padrão (quadradinho vermelho, X branco) + borda das janelas */
.toastify,
.toastify.info,
.toastify.warning,
.toastify.error{
 display:inline-flex!important;
 align-items:center;
 gap:10px;
 padding:10px 10px 10px 16px!important;
}
.toastify .toast-close,
.toastify.info .toast-close,
.toastify.warning .toast-close,
.toastify.error .toast-close,
#sidebarnav a.closebtn,
#chat .close-chat,
.top-video-controls .close-icon.video-stop{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:28px!important;
 height:28px!important;
 min-width:28px!important;
 min-height:28px!important;
 padding:0!important;
 margin:0!important;
 background:#dc2626!important;
 color:#fff!important;
 border:none!important;
 border-radius:6px!important;
 opacity:1!important;
 font-size:15px!important;
 line-height:1!important;
 font-weight:700!important;
 cursor:pointer;
 text-decoration:none!important;
 box-shadow:none!important;
 text-shadow:none!important;
}
#sidebarnav a.closebtn{
 position:absolute;
 top:14px;
 right:12px;
 height:28px!important;
 line-height:28px!important;
}
#sidebarnav a.closebtn .fas,
#sidebarnav .closebtn .fas{
 color:#fff!important;
 font-size:14px!important;
 line-height:1!important;
}
#chat .close-chat .close-icon,
#chat .close-chat .close-icon:before,
.top-video-controls .close-icon.video-stop:before{
 color:#fff!important;
 font-size:16px!important;
 line-height:1!important;
}
#sidebarnav .sidenav-panel{
 border:2px solid #dc2626;
 box-sizing:border-box;
}

/* spartan-v61 — borda vermelha nas janelas, nicks mais gordos, linha no header, fundo #33363d */
body.spartan-in,
body.spartan-in .app,
body.spartan-in .coln-left,
body.spartan-in .coln-right,
body.spartan-in .row,
body.spartan-in .container,
body.spartan-in .full-height,
body.spartan-in #left-sidebar,
body.spartan-in #users,
body.spartan-in #video-container,
body.spartan-in #peers>.peer,
body.spartan-in #chat #chatbox,
body.spartan-in #chat #box,
body.spartan-in #sidebarnav .sidenav-panel,
body.spartan-in #sidebarnav .sidenav-content{
 background:#33363d!important;
}
.navbar,
.topnav,
.users-header,
.sidenav-header,
#left-sidebar .users-header,
.chat-overlay-bar{
 background:#000!important;
 border-bottom:2px solid #dc2626!important;
}
body.spartan-in #left-sidebar{
 border-right:4px solid #dc2626!important;
}
#users>div,
#users .user-p,
#users>div:hover,
#users .user-p:hover,
#left-sidebar.active #users>div,
#left-sidebar.active #users>div:hover{
 border:2px solid #dc2626!important;
 border-radius:8px!important;
 background:#000!important;
 background-color:#000!important;
 background-image:none!important;
}
.contextualMenu,
.contextualHoverMenu,
#invite-dialog,
.spartan-reg-card,
#spartan-dlg .spartan-reg-card,
#spartan-drop .spartan-reg-card,
#chat #chatbox,
#chat.spartan-chat-open #chatbox,
#sidebarnav .sidenav-panel,
.login-box,
body:not(.spartan-in) #login-container .login-box{
 border:2px solid #dc2626!important;
 border-radius:12px!important;
 box-sizing:border-box;
}
.contextualMenu,
.contextualHoverMenu{
 background:#33363d!important;
}
#invite-dialog,
.spartan-reg-card,
#spartan-dlg .spartan-reg-card,
#spartan-drop .spartan-reg-card{
 background:#33363d!important;
}

/* spartan-v62 — fundo mais escuro, nicks pretos, avatar +4px, sininho do chat */
.channel-chat-btn{
 display:flex!important;
 align-items:center;
 justify-content:space-between;
}
.channel-chat-btn.has-unread .chat-unread{
 display:inline-flex!important;
}

/* spartan-v63 — folga nos nicks; toasts pretos; X vermelho em todos os avisos */
body.spartan-in #users{
 padding:8px 10px!important;
 box-sizing:border-box!important;
}
body.spartan-in #users>div,
body.spartan-in #users .user-p,
body.spartan-in #users>div:hover,
body.spartan-in #users .user-p:hover,
body.spartan-in #left-sidebar.active #users>div{
 margin:0 0 8px!important;
}
body.spartan-in #users>div:last-child,
body.spartan-in #users .user-p:last-child{
 margin-bottom:0!important;
}

.toastify,
.toastify.on,
.toastify.info,
.toastify.warning,
.toastify.error,
#spartan-toast{
 background:#000!important;
 background-image:none!important;
 color:#fff!important;
 border:2px solid #dc2626!important;
 border-radius:12px!important;
 box-shadow:0 8px 24px rgba(0,0,0,.45)!important;
}
.toastify .toast-close,
.toastify.on .toast-close,
.toastify.info .toast-close,
.toastify.warning .toast-close,
.toastify.error .toast-close,
button.toast-close{
 appearance:none!important;
 -webkit-appearance:none!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:28px!important;
 height:28px!important;
 min-width:28px!important;
 min-height:28px!important;
 padding:0!important;
 margin:0 0 0 8px!important;
 background:#dc2626!important;
 background-image:none!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
 border:none!important;
 border-radius:6px!important;
 opacity:1!important;
 font-size:15px!important;
 line-height:1!important;
 font-weight:700!important;
 filter:none!important;
 mix-blend-mode:normal!important;
 box-shadow:none!important;
 text-shadow:none!important;
 cursor:pointer!important;
}

/* spartan-v64 — X branco de verdade (o ✖ do Toastify vira emoji roxo no Windows) */
.toastify .toast-close,
.toastify.on .toast-close,
.toastify.info .toast-close,
.toastify.warning .toast-close,
.toastify.error .toast-close,
button.toast-close{
 font-size:0!important;
 color:transparent!important;
 -webkit-text-fill-color:transparent!important;
}
.toastify .toast-close::after,
.toastify.on .toast-close::after,
.toastify.info .toast-close::after,
.toastify.warning .toast-close::after,
.toastify.error .toast-close::after,
button.toast-close::after{
 content:"\00d7";
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:20px!important;
 font-weight:700!important;
 line-height:1!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
}
.close-icon{
 font-size:0!important;
 color:transparent!important;
}
.close-icon:before,
#chat .close-chat .close-icon:before,
.top-video-controls .close-icon.video-stop:before{
 content:"\00d7"!important;
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:18px!important;
 font-weight:700!important;
 line-height:1!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
}
#sidebarnav a.closebtn .fas{
 display:none!important;
}
#sidebarnav a.closebtn::after{
 content:"\00d7";
 font-family:Arial,Helvetica,sans-serif!important;
 font-size:20px!important;
 font-weight:700!important;
 line-height:1!important;
 color:#fff!important;
 -webkit-text-fill-color:#fff!important;
}

/* spartan-v65 — Spartan da lista à esquerda, centrado */
#left-sidebar .users-header{
 justify-content:center!important;
 text-align:center!important;
}
#left-sidebar .users-header .galene-header{
 display:block!important;
 width:100%!important;
 text-align:center!important;
}

/* spartan-v66 — labels brancas no header; fundo grid/lista #33363d */
.nav-menu .nav-link label,
.nav-menu .nav-button label,
.nav-menu .nav-text,
#mutebutton label,
#mutebutton.muted label,
#mutebutton:not(.muted) label,
#camerabutton label,
#camerabutton.cam-on label,
#camerabutton:not(.cam-on) label,
#sharebutton label,
#sharebutton.sharing label,
#sharebutton:not(.sharing) label,
#hideownbutton label,
#hideownbutton:not(.hiding) label,
#hideownbutton.hiding label,
#disconnectbutton label,
.nav-menu #disconnectbutton label,
#openside label,
.nav-menu .nav-link:hover label,
.nav-menu .nav-button:hover label{
 color:#fff!important;
}

/* spartan-v67 — nome da sala no header em branco (ícones continuam vermelhos) */
#title,
#title.header-title,
.navbar .header-title,
#header #title{
 color:#fff!important;
}

/* spartan-v69 — contador à direita do nome; login switch dentro da caixa */
#header{
 position:relative;
 display:flex!important;
 align-items:center;
 gap:.55rem;
 min-width:0;
 flex:1 1 auto;
}
#header .collapse,
#header #title,
#header .header-title{
 float:none!important;
}
#spartan-ttl{
 display:none;
 position:static!important;
 left:auto!important;
 top:auto!important;
 transform:none!important;
 z-index:3;
 text-align:left;
 pointer-events:none;
 line-height:1.2;
 margin:0;
}
#spartan-ttl.is-on{
 display:flex!important;
 flex-direction:row;
 align-items:baseline;
 flex-wrap:wrap;
 gap:.35rem;
}
.spartan-ttl-msg,
#spartan-ttl-clock{
 color:#fff!important;
 font-size:.82rem;
 font-weight:700;
 white-space:nowrap;
}
#spartan-ttl-clock{
 font-variant-numeric:tabular-nums;
 letter-spacing:.03em;
}
#spartan-live,
#spartan-live.is-on,
#spartan-live-clock,
#header #spartan-live,
#header #spartan-live-clock,
#header #spartan-live *{
 color:#fff!important;
}
#spartan-live{
 display:none;
 position:static!important;
 left:auto!important;
 top:auto!important;
 transform:none!important;
 z-index:3;
 text-align:left;
 pointer-events:none;
 line-height:1.2;
 margin:0;
}
#spartan-live.is-on{
 display:flex!important;
 flex-direction:row;
 align-items:baseline;
 flex-wrap:wrap;
 gap:.35rem;
}
#spartan-live-clock{
 font-size:.82rem;
 font-weight:700;
 white-space:nowrap;
 font-variant-numeric:tabular-nums;
 letter-spacing:.03em;
}
html.spartan-open-room:not(.spartan-named-login) #passwordform,
html.spartan-open-room:not(.spartan-named-login) #passwordform *{display:none!important}
html.spartan-open-room.spartan-named-login #passwordform,
html.spartan-open-room.spartan-named-login #passwordform *{display:block!important}
body:not(.spartan-in) #login-container .login-box,
.login-box{
 height:auto!important;
 min-height:0!important;
 overflow:visible!important;
}
body:not(.spartan-in) .login-box .connect{
 display:flex;
 flex-direction:column;
 align-items:stretch;
 width:100%;
}
#spartan-login-switch{
 display:none;
 margin:.7rem 0 0;
 width:100%;
 box-sizing:border-box;
 background:#111!important;
 color:#fecaca!important;
 border:2px solid #dc2626!important;
 border-radius:10px;
 padding:.5rem .7rem;
 font-weight:700;
 cursor:pointer;
}
html.spartan-open-room #spartan-login-switch{display:block!important}
html.spartan-open-room.spartan-named-login #spartan-login-switch{color:#fff!important}

html.spartan-in-shell footer.signature,
html.spartan-in-shell .signature.foot-right .btn-salas {
  display: none !important;
}

html.spartan-in-shell,
html.spartan-in-shell body {
  width: 100% !important;
  max-width: none !important;
  min-height: 100% !important;
  height: 100% !important;
}

html.spartan-in-shell #main.app {
  width: 100% !important;
  max-width: none !important;
}

html.spartan-in-shell #sidebarnav.sidenav {
  z-index: 9000 !important;
}

html.spartan-in-shell.spartan-rejoin #login-container,
html.spartan-in-shell body.spartan-in #login-container {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.spartan-in-shell header,
html.spartan-in-shell .topnav,
html.spartan-in-shell .nav-menu,
html.spartan-in-shell #header,
html.spartan-in-shell #left-sidebar,
html.spartan-in-shell #channel-chat-btn,
html.spartan-in-shell #users,
html.spartan-in-shell #resizer,
html.spartan-in-shell #left,
html.spartan-in-shell #show-chat,
html.spartan-in-shell #show-video,
html.spartan-in-shell #collapse-video,
html.spartan-in-shell #sidebarCollapse,
html.spartan-in-shell footer.signature {
  display: none !important;
}

html.spartan-in-shell .row.full-height,
html.spartan-in-shell .container,
html.spartan-in-shell #mainrow,
html.spartan-in-shell #right,
html.spartan-in-shell #video-container,
html.spartan-in-shell #expand-video {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.spartan-in-shell body {
  background: #313338 !important;
}

.spartan-quality-hud{
 position:absolute;
 left:6px;
 bottom:6px;
 z-index:12;
 padding:2px 6px;
 border-radius:4px;
 font-size:11px;
 font-weight:600;
 line-height:1.3;
 color:#fff;
 background:rgba(0,0,0,.72);
 pointer-events:none;
 font-variant-numeric:tabular-nums;
}

#sidebarnav .spartan-transmit-setting{
 grid-column:1;
 border:1px solid rgba(220,38,38,.55);
 border-radius:10px;
 padding:8px 10px 6px;
 margin:0;
}
#sidebarnav .spartan-transmit-setting legend{
 color:#fecaca;
 font-weight:700;
}

/* spartan-v81 — configurações largas, 2 colunas, sem scroll interno */
#sidebarnav .sidenav-panel{
 width:min(1120px,96vw)!important;
 max-height:none!important;
 overflow:visible!important;
}
#sidebarnav .sidenav-header,
#sidebarnav .sidenav-content{
 width:100%!important;
}
#sidebarnav .sidenav-content{
 max-height:none!important;
 overflow:visible!important;
 overflow-y:visible!important;
 grid-template-columns:1fr 1fr!important;
 gap:12px 28px!important;
 padding:16px 28px 22px!important;
}
#sidebarnav .profile{
 grid-column:1/-1!important;
 display:flex!important;
 flex-wrap:wrap;
 align-items:center;
 justify-content:space-between;
 gap:12px 20px;
 margin-bottom:4px!important;
 padding-bottom:10px!important;
}
#sidebarnav .profile-user{
 flex:1 1 12rem;
 min-width:0;
}
#sidebarnav .side-actions{
 width:auto!important;
 margin-top:0!important;
 flex:0 1 auto;
 max-width:100%;
}
#sidebarnav #mediaoptions{
 grid-column:1;
 align-self:start;
}
#sidebarnav .spartan-transmit-setting{
 grid-column:2!important;
 align-self:start;
}
#sidebarnav .spartan-sound-chat{
 grid-column:1;
 align-self:start;
}
#sidebarnav .spartan-sound-room{
 grid-column:2;
 align-self:start;
 border:1px solid rgba(220,38,38,.4);
 border-radius:10px;
 padding:8px 10px 6px;
 margin:0;
}
#sidebarnav .spartan-sound-room legend{
 color:#fecaca;
 font-weight:700;
}
@media only screen and (max-width:860px){
 #sidebarnav .sidenav-content{
  grid-template-columns:1fr!important;
  padding:14px 16px 18px!important;
 }
 #sidebarnav .profile{
  flex-direction:column;
  align-items:flex-start;
 }
 #sidebarnav .side-actions{
  width:100%!important;
 }
 #sidebarnav #mediaoptions,
 #sidebarnav .spartan-transmit-setting,
 #sidebarnav .spartan-sound-chat,
 #sidebarnav .spartan-sound-room{
  grid-column:1!important;
 }
}

/* spartan-v83 — config: cabe na tela, perfil + botões alinhados */
#sidebarnav .sidenav-panel{
 width:min(1120px,96vw)!important;
 max-height:min(92vh,900px)!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
 border-radius:12px!important;
}
#sidebarnav .sidenav-header,
#sidebarnav .sidenav-content{
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
#sidebarnav .sidenav-header{
 flex:0 0 auto!important;
 border-radius:12px 12px 0 0!important;
}
#sidebarnav .sidenav-content{
 flex:1 1 auto!important;
 min-height:0!important;
 max-height:calc(min(92vh,900px) - 52px)!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
 grid-template-columns:1fr 1fr!important;
 gap:12px 24px!important;
 padding:14px 24px 18px!important;
 align-content:start!important;
 border-radius:0 0 12px 12px!important;
}
#sidebarnav .profile{
 grid-column:1/-1!important;
 display:flex!important;
 flex-direction:column!important;
 align-items:stretch!important;
 gap:12px!important;
 padding:0 0 14px!important;
 margin:0 0 8px!important;
 border-bottom:1px solid #3f4147!important;
 width:100%!important;
 float:none!important;
}
#sidebarnav .profile-user{
 display:flex!important;
 align-items:center!important;
 gap:12px!important;
 min-width:0!important;
 width:100%!important;
}
#sidebarnav .profile-logo{flex:0 0 50px!important}
#sidebarnav .profile-info{
 flex:1 1 auto!important;
 min-width:0!important;
 margin:0!important;
 float:none!important;
 width:auto!important;
}
#sidebarnav .side-actions{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:wrap!important;
 gap:10px!important;
 width:100%!important;
 min-width:0!important;
 max-width:none!important;
 margin:0!important;
}
#sidebarnav .side-actions>span{
 flex:1 1 10rem!important;
 min-width:0!important;
 display:block!important;
 margin:0!important;
}
#sidebarnav .side-actions a.side-btn,
#sidebarnav .side-actions #chpwspan a,
#sidebarnav .side-actions #adminspan a{
 display:flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:100%!important;
 min-height:2.45rem!important;
 padding:0 12px!important;
 margin:0!important;
 box-sizing:border-box!important;
 white-space:nowrap!important;
 font-size:13px!important;
 font-weight:700!important;
 border-radius:8px!important;
}
#sidebarnav fieldset{
 align-self:start!important;
 margin:0!important;
}
#sidebarnav .set-help{
 margin:0 0 4px!important;
 font-size:10px!important;
 line-height:1.2!important;
}
@media only screen and (max-width:860px){
 #sidebarnav .sidenav-content{
  grid-template-columns:1fr!important;
  padding:12px 16px 16px!important;
 }
 #sidebarnav .side-actions>span{
  flex:1 1 100%!important;
 }
}

/* spartan-v85 — config: perfil + botões na mesma linha; colunas alinhadas; sem scroll */
#sidebarnav .sidenav-panel{
 width:min(1120px,96vw)!important;
 max-height:none!important;
 overflow:visible!important;
 display:flex!important;
 flex-direction:column!important;
 border-radius:12px!important;
}
#sidebarnav .sidenav-header{
 flex:0 0 auto!important;
 border-radius:12px 12px 0 0!important;
}
#sidebarnav .sidenav-content{
 flex:0 1 auto!important;
 width:100%!important;
 max-width:100%!important;
 max-height:none!important;
 overflow:visible!important;
 overflow-y:visible!important;
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 grid-template-rows:auto auto auto!important;
 gap:10px 24px!important;
 padding:12px 24px 16px!important;
 align-items:start!important;
 border-radius:0 0 12px 12px!important;
 box-sizing:border-box!important;
}
#sidebarnav .profile{
 width:100%!important;
 max-width:none!important;
 float:none!important;
 display:block!important;
 flex-direction:unset!important;
 grid-column:1/-1!important;
 grid-row:1!important;
 margin:0 0 8px!important;
 padding:0 0 10px!important;
 border-bottom:1px solid #3f4147!important;
 box-sizing:border-box!important;
}
#sidebarnav .profile-top{
 display:grid!important;
 grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;
 column-gap:20px!important;
 width:100%!important;
 min-width:0!important;
}
#sidebarnav .profile-top .profile-user{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 gap:10px!important;
 grid-column:1!important;
 min-width:0!important;
 width:auto!important;
 max-width:100%!important;
 margin:0!important;
 float:none!important;
}
#sidebarnav .profile-top .profile-user:after{display:none!important;content:none!important}
#sidebarnav .profile-top .profile-logo{
 float:none!important;
 flex:0 0 44px!important;
 width:44px!important;
 height:44px!important;
 margin:0!important;
}
#sidebarnav .profile-top .profile-info{
 float:none!important;
 flex:1 1 auto!important;
 min-width:0!important;
 width:auto!important;
 margin:0!important;
 margin-top:0!important;
 margin-left:0!important;
 color:#dbdee1!important;
}
#sidebarnav .profile-top .profile-info span{display:block!important;line-height:1.25!important}
#sidebarnav .profile-top .profile-info #userspan{
 font-weight:700!important;
 font-size:15px!important;
 color:#f2f3f5!important;
}
#sidebarnav .profile-top .side-actions{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:flex-end!important;
 grid-column:2!important;
 flex:0 0 auto!important;
 width:auto!important;
 margin:0!important;
 margin-top:0!important;
 padding:0!important;
 gap:8px!important;
 box-sizing:border-box!important;
}
#sidebarnav .profile-top .side-actions>span{
 flex:0 0 auto!important;
 width:auto!important;
 display:block!important;
 margin:0!important;
 min-width:0!important;
}
#sidebarnav .profile-top .side-actions a.side-btn,
#sidebarnav .profile-top .side-actions #chpwspan a,
#sidebarnav .profile-top .side-actions #adminspan a{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:auto!important;
 min-width:6.75rem!important;
 max-width:none!important;
 min-height:2rem!important;
 padding:6px 12px!important;
 margin:0!important;
 box-sizing:border-box!important;
 white-space:nowrap!important;
 font-size:12px!important;
 font-weight:700!important;
 line-height:1.2!important;
 border-radius:7px!important;
 text-align:center!important;
}
#sidebarnav .profile-top #chpwspan a{background:#16a34a!important;color:#fff!important}
#sidebarnav .profile-top #adminspan a{background:#dc2626!important;color:#fff!important}
#sidebarnav #mediaoptions{
 grid-column:1!important;
 grid-row:2!important;
 align-self:start!important;
 margin:0!important;
 padding:0!important;
}
#sidebarnav #mediaoptions fieldset{margin:0!important}
#sidebarnav .spartan-transmit-setting{
 grid-column:2!important;
 grid-row:2!important;
 align-self:start!important;
}
#sidebarnav .spartan-sound-chat{
 grid-column:1!important;
 grid-row:3!important;
 align-self:start!important;
}
#sidebarnav .spartan-sound-room{
 grid-column:2!important;
 grid-row:3!important;
 align-self:start!important;
}
#sidebarnav fieldset{
 align-self:start!important;
 margin:0!important;
 padding:7px 10px 5px!important;
}
#sidebarnav .set-help{
 margin:0 0 3px!important;
 font-size:10px!important;
 line-height:1.15!important;
}
@media only screen and (max-width:860px){
 #sidebarnav .sidenav-content{
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;
  padding:12px 16px 14px!important;
 }
 #sidebarnav #mediaoptions,
 #sidebarnav .spartan-transmit-setting,
 #sidebarnav .spartan-sound-chat,
 #sidebarnav .spartan-sound-room{
  grid-column:1!important;
  grid-row:auto!important;
 }
 #sidebarnav .profile-top{
  grid-template-columns:1fr!important;
  row-gap:10px!important;
 }
 #sidebarnav .profile-top .side-actions{
  grid-column:1!important;
  justify-content:flex-end!important;
  width:100%!important;
 }
}

/* spartan-v86 — config: 2 colunas (dispositivos | transmissão+sons), mesma altura, texto contido */
#sidebarnav .sidenav-content{
 grid-template-rows:auto auto!important;
}
#sidebarnav .spartan-settings-cols{
 grid-column:1/-1!important;
 grid-row:2!important;
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 gap:10px 24px!important;
 align-items:stretch!important;
 min-width:0!important;
 width:100%!important;
}
#sidebarnav .spartan-settings-left,
#sidebarnav .spartan-settings-right{
 display:flex!important;
 flex-direction:column!important;
 min-width:0!important;
 min-height:100%!important;
 height:100%!important;
 box-sizing:border-box!important;
}
#sidebarnav .spartan-settings-left fieldset{
 flex:1 1 auto!important;
 height:100%!important;
 min-height:100%!important;
 margin:0!important;
}
#sidebarnav .spartan-settings-right{
 gap:10px!important;
}
#sidebarnav .spartan-settings-right .spartan-transmit-setting{
 flex:0 0 auto!important;
 margin:0!important;
}
#sidebarnav .spartan-settings-right .spartan-sounds-setting{
 flex:1 1 auto!important;
 margin:0!important;
 min-height:0!important;
 display:flex!important;
 flex-direction:column!important;
}
#sidebarnav #mediaoptions,
#sidebarnav .spartan-transmit-setting,
#sidebarnav .spartan-sounds-setting,
#sidebarnav .spartan-sound-chat,
#sidebarnav .spartan-sound-room{
 grid-column:unset!important;
 grid-row:unset!important;
 align-self:unset!important;
}
#sidebarnav fieldset,
#sidebarnav .spartan-transmit-setting,
#sidebarnav .spartan-sounds-setting{
 min-width:0!important;
 max-width:100%!important;
 overflow:hidden!important;
 box-sizing:border-box!important;
 border:1px solid rgba(220,38,38,.4)!important;
 border-radius:10px!important;
 padding:8px 10px 6px!important;
}
#sidebarnav .spartan-transmit-setting legend,
#sidebarnav .spartan-sounds-setting legend{
 color:#fecaca!important;
 font-weight:700!important;
}
#sidebarnav fieldset form,
#sidebarnav fieldset label,
#sidebarnav .set-help{
 max-width:100%!important;
 overflow-wrap:break-word!important;
 word-wrap:break-word!important;
 box-sizing:border-box!important;
}
#sidebarnav .select,
#sidebarnav select.select-inline{
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 box-sizing:border-box!important;
}
#sidebarnav fieldset form label{
 display:inline!important;
 vertical-align:middle!important;
}
@media only screen and (max-width:860px){
 #sidebarnav .spartan-settings-cols{
  grid-template-columns:1fr!important;
 }
 #sidebarnav .spartan-settings-left fieldset,
 #sidebarnav .spartan-settings-right .spartan-sounds-setting{
  height:auto!important;
  min-height:0!important;
 }
}

/* spartan-v87 — config: coluna única no painel; 2 colunas só dentro; legendas dentro da caixa */
#sidebarnav .sidenav-content{
 display:flex!important;
 flex-direction:column!important;
 grid-template-columns:unset!important;
 grid-template-rows:unset!important;
 gap:0!important;
 align-items:stretch!important;
}
#sidebarnav .profile{
 flex:0 0 auto!important;
 order:1!important;
}
#sidebarnav .spartan-settings-cols{
 flex:1 1 auto!important;
 order:2!important;
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 grid-template-rows:1fr!important;
 gap:12px 24px!important;
 align-items:stretch!important;
 min-width:0!important;
 width:100%!important;
 margin:0!important;
 padding:0!important;
}
#sidebarnav .spartan-settings-left{
 grid-column:1!important;
 grid-row:1!important;
}
#sidebarnav .spartan-settings-right{
 grid-column:2!important;
 grid-row:1!important;
}
#sidebarnav .spartan-set-box{
 min-width:0!important;
 max-width:100%!important;
 margin:0!important;
 padding:10px 0 12px!important;
 border:1px solid rgba(220,38,38,.45)!important;
 border-radius:10px!important;
 background:#2b2d31!important;
 box-sizing:border-box!important;
 overflow:hidden!important;
}
#sidebarnav .spartan-set-title{
 display:block!important;
 width:auto!important;
 margin:0 10px 10px!important;
 padding:7px 14px!important;
 box-sizing:border-box!important;
 background:#000!important;
 color:#fff!important;
 border:none!important;
 border-radius:8px!important;
 font-size:13px!important;
 font-weight:700!important;
 line-height:1.2!important;
 letter-spacing:0!important;
 text-transform:none!important;
}
#sidebarnav .spartan-settings-left .spartan-set-box{
 height:100%!important;
 min-height:100%!important;
 display:flex!important;
 flex-direction:column!important;
}
#sidebarnav .spartan-settings-left,
#sidebarnav .spartan-settings-right{
 display:flex!important;
 flex-direction:column!important;
 min-width:0!important;
 min-height:100%!important;
 height:100%!important;
 box-sizing:border-box!important;
}
#sidebarnav .spartan-settings-right{
 gap:10px!important;
}
#sidebarnav .spartan-settings-right .spartan-transmit-setting{
 flex:0 0 auto!important;
}
#sidebarnav .spartan-settings-right .spartan-sounds-setting{
 flex:1 1 auto!important;
 min-height:0!important;
}
#sidebarnav .spartan-set-box .set-help,
#sidebarnav .spartan-set-box label,
#sidebarnav .spartan-set-box form{
 padding-left:12px!important;
 padding-right:12px!important;
 max-width:100%!important;
 overflow-wrap:break-word!important;
 box-sizing:border-box!important;
}
#sidebarnav .spartan-set-box .select,
#sidebarnav .spartan-set-box select.select-inline{
 display:block!important;
 width:calc(100% - 24px)!important;
 max-width:calc(100% - 24px)!important;
 margin-left:12px!important;
 margin-right:12px!important;
 box-sizing:border-box!important;
}
#sidebarnav .spartan-set-box .sidenav-label,
#sidebarnav .spartan-set-box .sidenav-label-first{
 padding-left:12px!important;
 padding-right:12px!important;
}
#sidebarnav .spartan-sound-chat,
#sidebarnav .spartan-sound-room{
 display:none!important;
}
@media only screen and (max-width:860px){
 #sidebarnav .spartan-settings-cols{
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto!important;
 }
 #sidebarnav .spartan-settings-left,
 #sidebarnav .spartan-settings-right{
  grid-column:1!important;
  grid-row:auto!important;
  height:auto!important;
  min-height:0!important;
 }
 #sidebarnav .spartan-settings-left .spartan-set-box{
  height:auto!important;
  min-height:0!important;
 }
}

/* spartan-v78 — botão Outras salas na sidebar; overlay interno */
body.spartan-in #left-sidebar {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body.spartan-in #users {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

#spartan-salas-btn {
  display: none;
  flex: 0 0 auto;
  margin: 8px;
  padding: 0.55rem 0.75rem;
  background: #111;
  color: #fecaca;
  border: 2px solid #dc2626;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.9rem;
  cursor: pointer;
  width: calc(100% - 16px);
  box-sizing: border-box;
  text-align: center;
}

html.spartan-in-shell #spartan-salas-btn {
  display: none !important;
}

#spartan-salas-btn:hover {
  border-color: #f87171;
  color: #fff;
}

#spartan-salas-overlay {
  position: fixed;
  inset: 0;
  z-index: 9200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.65);
}

#spartan-salas-overlay[hidden] {
  display: none !important;
}

.spartan-salas-panel {
  width: min(1120px, 96vw);
  height: min(86vh, 820px);
  max-height: calc(100dvh - 28px);
  display: flex;
  flex-direction: column;
  background: #33363d;
  border: 2px solid #dc2626;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
}

.spartan-salas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 1rem;
  background: #000;
  border-bottom: 2px solid #dc2626;
  color: #fff;
}

.spartan-salas-header h2 {
  margin: 0;
  font-size: 1.1rem;
  color: #fecaca;
}

#spartan-salas-close {
  background: #dc2626;
  color: #fff;
  border: none;
  border-radius: 6px;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 1rem;
}

.spartan-salas-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 12px 16px;
}

#spartan-salas-q {
  width: 100%;
  box-sizing: border-box;
  background: #1e1f22;
  color: #f2f3f5;
  border: 1px solid #3f4147;
  border-radius: 8px;
  padding: 0.5rem 0.65rem;
  margin-bottom: 8px;
}

.spartan-salas-tools {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}

.spartan-salas-tools .sort-btn {
  background: #1e1f22;
  color: #e5e7eb;
  border: 1px solid #3f4147;
  border-radius: 8px;
  padding: 0.35rem 0.7rem;
  font-weight: 600;
  cursor: pointer;
}

.spartan-salas-tools .sort-btn.on {
  background: #dc2626;
  border-color: #dc2626;
  color: #fff;
}

.spartan-salas-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.spartan-salas-list .sala-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  padding: 0.65rem 0.75rem;
  background: #000;
  border: 2px solid #dc2626;
  border-radius: 8px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.spartan-salas-list .sala-item:hover {
  border-color: #f87171;
}

.spartan-salas-list .sala-tag {
  font-size: 0.75rem;
  color: #86efac;
  font-weight: 700;
}

.spartan-salas-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.spartan-salas-pager button {
  background: #1e1f22;
  color: #e5e7eb;
  border: 1px solid #3f4147;
  border-radius: 8px;
  padding: 0.35rem 0.65rem;
  cursor: pointer;
}

.spartan-salas-pager button:disabled {
  opacity: 0.45;
  cursor: default;
}

.spartan-salas-back {
  flex: 0 0 auto;
  margin: 0 14px 14px;
  padding: 0.55rem;
  background: #111;
  color: #fecaca;
  border: 2px solid #dc2626;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
}

.spartan-salas-back:hover {
  border-color: #f87171;
  color: #fff;
}

#spartan-salas-overlay .spartan-salas-grid{
 grid-template-columns:1fr!important;
}
#spartan-salas-overlay .spartan-salas-col-temp,
#spartan-salas-overlay #spartan-salas-temp{
 display:none!important;
}
#spartan-salas-overlay .spartan-salas-grid-room{
 grid-template-columns:1fr!important;
}
#spartan-salas-overlay .spartan-salas-panel{
 width:min(720px,96vw)!important;
}
/* spartan-v89 — salas full 2 colunas; scroll só quando necessário */
.spartan-salas-grid{
 flex:1 1 auto!important;
 min-height:0!important;
 display:grid!important;
 grid-template-columns:1fr 1fr!important;
 gap:14px 20px!important;
 align-items:stretch!important;
 overflow:hidden!important;
}
.spartan-salas-col{
 display:flex!important;
 flex-direction:column!important;
 min-height:0!important;
 min-width:0!important;
 overflow:hidden!important;
 background:#2b2d31;
 border:1px solid #3f4147;
 border-radius:10px;
 padding:10px 10px 8px;
 box-sizing:border-box;
}
.spartan-salas-col-title{
 margin:0 0 8px!important;
 padding:7px 12px!important;
 background:#000!important;
 color:#fff!important;
 border-radius:8px!important;
 font-size:13px!important;
 font-weight:700!important;
 line-height:1.2!important;
}
.spartan-salas-section-title{
 margin-top:4px!important;
}
.spartan-salas-main-slot{
 flex:0 0 auto!important;
 margin-bottom:4px!important;
}
.spartan-salas-scroll{
 flex:1 1 auto!important;
 min-height:0!important;
 overflow-y:auto!important;
 overflow-x:hidden!important;
 display:flex!important;
 flex-direction:column!important;
 gap:8px!important;
 scrollbar-width:thin;
}
.spartan-salas-scroll:has(.salas-empty:only-child){
 overflow-y:hidden!important;
}
.spartan-salas-col-temp .spartan-salas-scroll:has(.salas-empty:only-child){
 flex:0 0 auto!important;
}
.spartan-salas-scroll .salas-empty,
.spartan-salas-main-slot .salas-empty{
 margin:0;
 padding:8px 4px;
 color:#9ca3af;
 font-size:12px;
}
.spartan-salas-list,
.spartan-salas-scroll .sala-item,
.spartan-salas-main-slot .sala-item{
 display:flex!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:8px!important;
 width:100%!important;
 box-sizing:border-box!important;
 padding:0.6rem 0.75rem!important;
 background:#111!important;
 border:1px solid #dc2626!important;
 border-radius:8px!important;
 color:#fff!important;
 text-decoration:none!important;
 font:inherit!important;
 font-weight:600!important;
 cursor:pointer!important;
 text-align:left!important;
}
.spartan-salas-scroll .sala-item:hover,
.spartan-salas-main-slot .sala-item:hover{
 border-color:#f87171!important;
}
.sala-item-main{
 border-width:2px!important;
}
.sala-tag{
 font-size:11px!important;
 font-weight:700!important;
 color:#fecaca!important;
 white-space:nowrap!important;
}
.sala-rem{
 font-size:11px!important;
 color:#9ca3af!important;
 white-space:nowrap!important;
}
.sala-item-name{
 flex:1 1 auto!important;
 min-width:0!important;
 overflow:hidden!important;
 text-overflow:ellipsis!important;
 white-space:nowrap!important;
}
.sala-item-right{
 flex:0 0 auto!important;
 display:inline-flex!important;
 align-items:center!important;
 gap:.45rem!important;
 margin-left:auto!important;
}
.sala-online{
 font-size:11px!important;
 font-weight:800!important;
 color:#86efac!important;
 background:#052e16!important;
 border:1px solid #16a34a!important;
 border-radius:999px!important;
 padding:.12rem .45rem!important;
 line-height:1.2!important;
 min-width:1.2rem!important;
 text-align:center!important;
}
.sala-live{
 font-size:11px!important;
 font-weight:700!important;
 color:#fde68a!important;
 white-space:nowrap!important;
}
.user-presence-menu{
 padding:.35rem .15rem .15rem!important;
 border-top:1px solid #3f4147!important;
 margin-top:.25rem!important;
}
.user-presence-time{
 display:block!important;
 font-size:12px!important;
 font-weight:700!important;
 color:#e5e7eb!important;
 text-align:center!important;
 white-space:nowrap!important;
}
.spartan-salas-page-grid{
 flex:1 1 auto!important;
 min-height:0!important;
 margin:0 0 1rem!important;
}
.home.salas-page{
 width:min(640px,94vw)!important;
 max-width:640px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 max-height:calc(100dvh - 7rem)!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
 box-sizing:border-box!important;
}
.home.salas-page .spartan-salas-page-grid{
 flex:1 1 auto!important;
 min-height:280px!important;
}
@media only screen and (max-width:760px){
 .spartan-salas-grid{
  grid-template-columns:1fr!important;
 }
 .spartan-salas-panel{
  height:auto!important;
  max-height:calc(100dvh - 20px)!important;
 }
}

/* spartan-v93 — config: colunas lado a lado, sem vão no meio */
#sidebarnav .sidenav-panel{
 width:min(900px,94vw)!important;
}
#sidebarnav .sidenav-content{
 display:flex!important;
 flex-direction:column!important;
 grid-template-columns:unset!important;
 grid-template-rows:unset!important;
 padding:12px 16px 16px!important;
 gap:0!important;
}
#sidebarnav .spartan-settings-cols{
 display:flex!important;
 flex-direction:row!important;
 align-items:stretch!important;
 gap:12px!important;
 width:100%!important;
 min-width:0!important;
 margin:0!important;
 padding:0!important;
}
#sidebarnav .spartan-settings-left,
#sidebarnav .spartan-settings-right{
 flex:1 1 0!important;
 min-width:0!important;
 width:auto!important;
 max-width:none!important;
 grid-column:unset!important;
 grid-row:unset!important;
}
#sidebarnav #mediaoptions,
#sidebarnav .spartan-transmit-setting,
#sidebarnav .spartan-sounds-setting{
 grid-column:unset!important;
 grid-row:unset!important;
 width:100%!important;
 max-width:100%!important;
 margin:0!important;
}
@media only screen and (max-width:860px){
 #sidebarnav .spartan-settings-cols{
  flex-direction:column!important;
  gap:10px!important;
 }
}

/* spartan-v94 — shell home/salas: wallpaper, rodapé alinhado, sem salas 24h */
html.spartan-shell{
 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;
}
html.spartan-shell body{
 background:transparent!important;
 background-image:none!important;
 position:static!important;
 inset:auto!important;
 width:100%!important;
 height:auto!important;
 max-height:none!important;
 overflow-x:hidden!important;
 overflow-y:auto!important;
}
html.spartan-shell body:not(.spartan-in){
 position:static!important;
 inset:auto!important;
 overflow:visible!important;
 height:auto!important;
 max-height:none!important;
}
html.spartan-shell footer.signature{
 display:flex!important;
 flex-direction:row!important;
 flex-wrap:nowrap!important;
 align-items:center!important;
 justify-content:space-between!important;
 gap:.45rem 1rem!important;
 padding:.55rem 1rem!important;
 z-index:40!important;
}
html.spartan-shell .foot-left{
 position:static!important;
 flex:1 1 0!important;
 min-width:0!important;
 text-align:left!important;
 transform:none!important;
 margin:0!important;
}
html.spartan-shell .foot-mid{
 position:static!important;
 flex:0 1 auto!important;
 margin-left:auto!important;
 text-align:right!important;
 transform:none!important;
 white-space:nowrap!important;
 margin-top:0!important;
 margin-right:0!important;
 margin-bottom:0!important;
}
html.spartan-shell .foot-right:empty{display:none!important}
html.spartan-shell .foot-right{
 position:static!important;
 flex:0 0 auto!important;
 margin-left:0!important;
 text-align:right!important;
 transform:none!important;
}
html.spartan-shell .btn-salas{
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 white-space:nowrap!important;
 line-height:1.2!important;
}
.spartan-salas-grid-public,
#spartan-salas-overlay .spartan-salas-grid-room,
#spartan-salas-overlay .spartan-salas-grid-public{
 grid-template-columns:1fr!important;
}
.spartan-salas-grid-public .spartan-salas-col-temp,
#spartan-salas-overlay .spartan-salas-col-temp,
#salas-temp,
#spartan-salas-temp{
 display:none!important;
}
/* spartan-v95 — shell/standalone: cartões home e salas centralizados */
body:not(.spartan-in):has(> .home.salas-page){
 display:flex!important;
 flex-direction:column!important;
 align-items:center!important;
 justify-content:center!important;
}
html.spartan-shell #spartan-view-home.on,
html.spartan-shell #spartan-view-salas.on{
 align-items:center!important;
 justify-content:center!important;
}
html.spartan-shell #spartan-view-home .home,
html.spartan-shell #spartan-view-salas .home{
 align-self:center!important;
 margin-left:auto!important;
 margin-right:auto!important;
 width:min(92vw,504px)!important;
 max-width:504px!important;
}
html.spartan-shell #spartan-view-salas .home.salas-page{
 width:min(640px,94vw)!important;
 max-width:640px!important;
}
.home.salas-page .spartan-salas-page-grid{
 min-height:200px!important;
}
@media (max-width:800px){
 html.spartan-shell footer.signature{
  flex-wrap:wrap!important;
  justify-content:center!important;
  text-align:center!important;
 }
 html.spartan-shell .foot-left,
 html.spartan-shell .foot-mid,
 html.spartan-shell .foot-right{
  flex:1 1 100%!important;
  text-align:center!important;
  white-space:normal!important;
 }
}

/* spartan-v100 — Ausentes nulo; toasts discretos; sem Outras salas na cara */
html.spartan-afk #camerabutton,
html.spartan-afk #sharebutton,
html.spartan-afk #presentbutton{
 pointer-events:none!important;
 opacity:.35!important;
}
#spartan-toast.spartan-toast-quiet{
 left:auto;right:.7rem;bottom:.7rem;transform:none;
 font-size:.78rem;font-weight:600;opacity:.88;
 padding:.4rem .65rem;max-width:min(70vw,280px)
}

/* shell: some o chrome velho; o grid ocupa o iframe inteiro */
html.spartan-in-shell header,
html.spartan-in-shell header.fixed-top,
html.spartan-in-shell .topnav,
html.spartan-in-shell .navbar,
html.spartan-in-shell .nav-menu,
html.spartan-in-shell #header,
html.spartan-in-shell #title,
html.spartan-in-shell #title.header-title,
html.spartan-in-shell .header-title,
html.spartan-in-shell .galene-header,
html.spartan-in-shell .users-header,
html.spartan-in-shell #left-sidebar,
html.spartan-in-shell #channel-chat-btn,
html.spartan-in-shell #users,
html.spartan-in-shell #resizer,
html.spartan-in-shell #left,
html.spartan-in-shell #show-chat,
html.spartan-in-shell #show-video,
html.spartan-in-shell #collapse-video,
html.spartan-in-shell #sidebarCollapse,
html.spartan-in-shell #spartan-live,
html.spartan-in-shell #spartan-ttl,
html.spartan-in-shell #hideownbutton,
html.spartan-in-shell footer.signature,
html.spartan-in-shell #login-container,
html.spartan-in-shell #chat,
html.spartan-in-shell #spartan-reg-btn,
html.spartan-in-shell #spartan-salas-btn{
 display:none!important;
 visibility:hidden!important;
 height:0!important;
 max-height:0!important;
 overflow:hidden!important;
 opacity:0!important;
 pointer-events:none!important;
 position:absolute!important;
 left:-9999px!important;
}
html.spartan-in-shell #main.app,
html.spartan-in-shell .row.full-height,
html.spartan-in-shell .container,
html.spartan-in-shell #mainrow,
html.spartan-in-shell #right,
html.spartan-in-shell #video-container,
html.spartan-in-shell #expand-video{
 display:block!important;
 visibility:visible!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
}
html.spartan-in-shell #peers{
 display:grid!important;
 visibility:visible!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:0!important;
 align-content:stretch;
 justify-content:stretch;
}
html.spartan-in-shell #video-container.invisible,
html.spartan-in-shell body.spartan-in #video-container{
 display:block!important;
 visibility:visible!important;
 opacity:1!important;
}

/* Texto da interface não seleciona. Chat e campos de digitação sim. */
html, body{
 -webkit-user-select:none;
 user-select:none;
}
input, textarea, [contenteditable="true"],
#spartan-text-log, #spartan-text-log *,
#chat .message, #chat .message *,
#chatbox .message, #chatbox .message *{
 -webkit-user-select:text;
 user-select:text;
}
