:root{
  --primary:#f59e0b;
  --primary-soft:#fbbf24;
  --primary-dark:#d97706;
  --bg:#050505;
  --bg-elevated:#0b0b0c;
  --border-subtle:#1f2933;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  background-color:var(--bg);
  color:#e5e7eb;
  overflow-x:hidden;
}
.glass{background:rgba(11,11,12,.9);backdrop-filter:blur(18px) saturate(160%);border:1px solid rgba(249,250,251,.04)}
.card-elevated{background:radial-gradient(circle at top left,rgba(245,158,11,.12),transparent 55%),radial-gradient(circle at bottom right,rgba(15,23,42,.8),rgba(15,23,42,1));border-radius:1.25rem;border:1px solid rgba(249,250,251,.06)}
.nav-link{position:relative;transition:color .2s ease}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--primary-soft));transition:width .25s ease}
.nav-link:hover::after,.nav-link-active::after{width:100%}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#050505;border-radius:.9rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:0 18px 45px rgba(245,158,11,.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 20px 55px rgba(245,158,11,.35)}
.btn-ghost{background:rgba(15,23,42,.9);border-radius:.9rem;border:1px solid rgba(148,163,184,.3);transition:background .2s ease,border-color .2s ease,color .2s ease}
.btn-ghost:hover{background:rgba(15,23,42,1);border-color:rgba(249,250,251,.6)}
.status-dot{width:8px;height:8px;border-radius:999px}
.status-online{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.7)}
.status-offline{background:#ef4444;box-shadow:0 0 10px rgba(239,68,68,.7)}
.status-maintenance{background:var(--primary-soft);box-shadow:0 0 10px rgba(251,191,36,.8)}
.tag-muted{font-size:.65rem;letter-spacing:.18em}
.hover-lift{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.hover-lift:hover{transform:translateY(-4px);box-shadow:0 18px 45px rgba(0,0,0,.55)}
.fade-in{opacity:0;transform:translateY(8px);animation:fadeIn .6s ease-out forwards}
.fade-in-delay-1{animation-delay:.08s}
.fade-in-delay-2{animation-delay:.16s}
.fade-in-delay-3{animation-delay:.24s}
@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:#020617}
::-webkit-scrollbar-thumb{background:#1f2937;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}
[v-cloak]{display:none}

/* Плавная анимация для toast уведомлений */
.toast-fade-enter-active, .toast-fade-leave-active {
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.toast-fade-enter-from {
  opacity: 0;
  transform: translateY(20px) scale(0.9);
}
.toast-fade-enter-to {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.toast-fade-leave-from {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.toast-fade-leave-to {
  opacity: 0;
  transform: translateY(-10px) scale(0.95);
}

/* Плавная анимация для toast error уведомлений (красное неоновое) */
.toast-error-fade-enter-active, .toast-error-fade-leave-active {
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.toast-error-fade-enter-from {
  opacity: 0;
  transform: translateY(30px) scale(0.85);
  filter: blur(4px);
}
.toast-error-fade-enter-to {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.toast-error-fade-leave-from {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
}
.toast-error-fade-leave-to {
  opacity: 0;
  transform: translateY(-15px) scale(0.9);
  filter: blur(2px);
}
