*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:       #080808;
  --bg2:      #0f0f0f;
  --bg3:      #141414;
  --bg4:      #1a1a1a;
  --bg5:      #222222;
  --border:   #2a2a2a;
  --border2:  #333333;

  --primary:      #facc15;
  --primary-dark: #d4a800;
  --primary-dim:  rgba(250,204,21,0.12);

  --text1: #f5f5f5;
  --text2: #a3a3a3;
  --text3: #6b7280;
  --text4: #3f3f46;

  --success:    #22c55e;
  --success-bg: rgba(34,197,94,0.1);
  --warning:    #f59e0b;
  --warning-bg: rgba(245,158,11,0.1);
  --error:      #ef4444;
  --error-bg:   rgba(239,68,68,0.1);
  --info:       #3b82f6;
  --info-bg:    rgba(59,130,246,0.1);

  --sidebar-w:  256px;
  --sidebar-collapsed: 64px;
  --topbar-h:   60px;

  --radius-sm: 6px;
  --radius:    10px;
  --radius-lg: 16px;
  --radius-xl: 20px;

  --shadow: 0 4px 24px rgba(0,0,0,0.4);
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.3);
}

html, body, #root {
  height: 100%;
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text1);
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; border: none; outline: none; background: none; cursor: pointer; }
input, select, textarea { font-family: inherit; outline: none; }

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--text4); }

.spin {
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.fade-in { animation: fadeIn 0.3s ease forwards; }

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.pulse { animation: pulse 1.5s ease infinite; }
