/* ═══════════════════════════════════════════════
   BASE — Reset, typographie, inputs, scrollbar
═══════════════════════════════════════════════ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body, #root { height: 100%; }

body {
  background: #f0f4f8;
  color: #1e293b;
  font-family: 'Lato', sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

::-webkit-scrollbar { width: 5px; height: 5px; background: #f0f4f8; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

input, select, textarea {
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  color: #1e293b;
  border-radius: 8px;
  padding: 9px 13px;
  font-family: 'Lato', sans-serif;
  font-size: 13px;
  outline: none;
  width: 100%;
  transition: border .18s, box-shadow .18s;
}
input:focus, select:focus, textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px #2563eb18;
}
select option { background: #ffffff; color: #1e293b; }

label {
  display: block;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #94a3b8;
  margin-bottom: 5px;
  font-family: 'Lato', sans-serif;
  font-weight: 700;
}

.field { margin-bottom: 14px; }
.field:last-child { margin-bottom: 0; }

/* ── TOAST ────────────────────────────────── */
.toast {
  position: fixed;
  top: 14px;
  right: 14px;
  z-index: 9999;
  padding: 12px 20px;
  border-radius: 10px;
  border: 1px solid;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 8px 30px #00000020;
  max-width: 320px;
  animation: slideIn .2s ease;
}
.toast-ok  { background: #f0fdf4; border-color: #86efac; color: #16a34a; }
.toast-err { background: #fff1f2; border-color: #fca5a5; color: #dc2626; }

@keyframes slideIn {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fadeUp .2s ease forwards; }
