/* ===========================
   TOAST
   =========================== */
.toast {
  position: fixed; bottom: calc(var(--nav-h) + 12px); left: 50%; transform: translateX(-50%);
  background: rgba(20, 40, 80, 0.95); border: 1px solid var(--border-bright);
  color: var(--text); font-size: 15px; font-weight: 500;
  padding: 12px 20px; border-radius: 30px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  z-index: 999; max-width: 90vw;
  transition: all 0.3s ease;
  white-space: normal;
  word-wrap: break-word;
  line-height: 1.4;
}
.toast.hidden { opacity: 0; pointer-events: none; transform: translateX(-50%) translateY(8px); }
.toast.success { border-color: rgba(0,200,83,0.5); color: #69f0ae; }
.toast.error { border-color: rgba(229,57,53,0.5); color: #ff6b6b; }

/* ===========================
   MODAL
   =========================== */
.modal {
  position: fixed; inset: 0; z-index: 200;
  display: flex; align-items: center; justify-content: center;
}
.modal.hidden { display: none; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.7); backdrop-filter: blur(4px); }
.modal-box {
  position: relative; z-index: 1;
  width: 100%; max-width: 500px;
  background: var(--bg-card); border: 1px solid var(--border-bright);
  border-radius: var(--radius);
  padding: 24px 24px; box-shadow: 0 -8px 40px rgba(0,0,0,0.5);
  animation: slideUp 0.3s ease;
}
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: none; opacity: 1; } }
.modal-title { font-size: 16px; font-weight: 700; color: var(--text); margin-bottom: 10px; }
.modal-body { font-size: 14px; color: var(--text-muted); margin-bottom: 20px; line-height: 1.6; }
.modal-footer { display: flex; gap: 10px; }
.modal-btn { flex: 1; padding: 13px; border-radius: var(--radius-sm); font-size: 14px; font-weight: 600; transition: all var(--transition); }
.modal-btn.primary { background: var(--danger); color: white; }
.modal-btn.outline { background: var(--bg-mid); border: 1px solid var(--border); color: var(--text-muted); }
