/* ==========================================================================
   4Safe Dashboard — Base / Reset
   ========================================================================== */

@keyframes fs-spin { to { transform: rotate(360deg); } }
@keyframes fs-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@keyframes fs-fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fs-toastIn { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: translateX(0); } }
@keyframes fs-shimmer { 0% { background-position: 160% 0; } 100% { background-position: -60% 0; } }

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  background: var(--color-bg);
  color: var(--text-primary);
  overflow-x: hidden;
  transition: background .35s ease, color .35s ease;
}

::selection { background: #14b8a688; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #94a3b855; border-radius: 8px; }

a { color: var(--color-primary); text-decoration: none; }
a:hover { color: var(--color-primary-dark); text-decoration: underline; }

button, input, select, textarea { font-family: inherit; }

h1, h2, h3, p { margin: 0; }

.hidden { display: none !important; }
