/* Tailwind CSS Output for Admin */
@layer base {
  * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif;
    background-color: #f5f7fa;
  }
}

@layer components {
  .sidebar-active {
    background-color: rgba(124, 58, 237, 0.1);
    border-left: 4px solid #7c3aed;
  }

  .table-row-hover:hover {
    background-color: #f9fafb;
  }

  .loading {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 3px solid #f3f3f3;
    border-top: 3px solid #7c3aed;
    border-radius: 50%;
    animation: spin 1s linear infinite;
  }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Glassmorphism utilities used by admin pages */
.glass-top { background: linear-gradient(180deg, rgba(255,255,255,0.95), rgba(255,255,255,0.9)); backdrop-filter: blur(6px); }
.glass-card { background: linear-gradient(180deg, rgba(255,255,255,0.8), rgba(255,255,255,0.65)); border: 1px solid rgba(255,255,255,0.12); box-shadow: 0 10px 30px rgba(2,6,23,0.06); border-radius: 12px; transition: transform 0.28s cubic-bezier(.2,.9,.2,1), box-shadow 0.28s ease, border-color 0.28s ease; }
.glass-card:hover { transform: translateY(-6px) scale(1.01); box-shadow: 0 18px 50px rgba(2,6,23,0.12); border-color: rgba(255,255,255,0.18); }
.status-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; box-shadow: 0 0 6px rgba(0,0,0,0.12); }
.status-off { background: #ef4444; }
.status-on { background: #10b981; box-shadow: 0 0 12px rgba(16,185,129,0.22); animation: pulse 1.6s infinite; }
@keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* Top navbar responsiveness */
.top-navbar { align-items: center; flex-wrap: wrap; }

/* Warm theme body background helper */
body.warm-theme { background: linear-gradient(180deg, #fff7ed 0%, #fffaf0 100%); }
