:root {
  --blue: #119b68;
  --accent: #119b68;
  --cyan: #25b982;
  --green: #119b68;
}

.login-art {
  background: radial-gradient(circle at 91% 0, rgba(17, 155, 104, .3), transparent 30%), var(--ink);
}

.login-loading .login-card { position: relative; min-height: 390px; }
.login-loading .login-card > * { visibility: hidden; }
.login-loading .login-card::before {
  content: '';
  position: absolute;
  left: 50%;
  top: calc(50% - 30px);
  width: 36px;
  height: 36px;
  margin: -18px;
  visibility: visible;
  border: 4px solid #d8f1e6;
  border-top-color: #119b68;
  border-radius: 50%;
  animation: panelLoginSpin .8s linear infinite;
}
.login-loading .login-card::after {
  content: 'Abriendo panel administrativo…';
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% + 18px);
  visibility: visible;
  color: #087a51;
  text-align: center;
  font: 700 15px "Space Grotesk", sans-serif;
}
@keyframes panelLoginSpin { to { transform: rotate(360deg); } }

.login-card input:focus,
.form-panel input:focus,
dialog input:focus,
dialog select:focus,
.table-tools input:focus,
.analytics-filters select:focus,
#autodjMount:focus,
.autodj-settings select:focus {
  box-shadow: 0 0 0 3px rgba(17, 155, 104, .15) !important;
}

.primary-btn { box-shadow: 0 8px 20px rgba(17, 155, 104, .22); }
.primary-btn:hover { background: #087a51; }
.server-orbit { box-shadow: 0 0 0 14px rgba(17, 155, 104, .045); }
.autodj-clock:hover,
.autodj-clock.selected { background: rgba(17, 155, 104, .09); }
.autodj-folder:hover,
.autodj-folder.selected { background: rgba(17, 155, 104, .075); }
.folder-toggle { color: #087a51; background: #e3f5ed; }
.autodj-upload-meter i { background: linear-gradient(90deg, #087a51, #35c98e); }
.voiceover-duck input[type="range"] { accent-color: #119b68; }
