/* Tecknotic Budget — small custom styles on top of Tailwind */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Subtle hero pattern */
.hero-grid {
  background-image:
    linear-gradient(rgba(26,86,219,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(26,86,219,0.06) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Toast */
.toast-item {
  min-width: 260px;
  padding: 12px 16px;
  border-radius: 12px;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  box-shadow: 0 10px 25px rgba(15,23,42,0.18);
  transform: translateY(-8px);
  opacity: 0;
  transition: all .25s ease;
  display: flex; align-items: center; gap: 10px;
}
.toast-item.show { transform: translateY(0); opacity: 1; }
.toast-success { background: #16a34a; }
.toast-error   { background: #dc2626; }
.toast-info    { background: #1A56DB; }
.toast-warning { background: #d97706; }

/* Modal */
.modal-backdrop { background: rgba(15,23,42,.55); }

/* Form */
.form-input {
  width: 100%; padding: 10px 14px; border: 1px solid #e2e8f0;
  border-radius: 10px; font-size: 14px; background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.form-input:focus { outline: none; border-color: #1A56DB; box-shadow: 0 0 0 4px rgba(26,86,219,.12); }
.form-label { font-size: 13px; font-weight: 600; color: #334155; margin-bottom: 6px; display: block; }
.btn-primary { background: #1A56DB; color: #fff; padding: 10px 18px; border-radius: 10px; font-weight: 600; transition: background .15s; }
.btn-primary:hover { background: #1948B7; }
.btn-secondary { background: #fff; color: #334155; padding: 10px 18px; border-radius: 10px; font-weight: 600; border: 1px solid #e2e8f0; }
.btn-secondary:hover { background: #f8fafc; }
.btn-danger { background: #dc2626; color:#fff; padding: 8px 14px; border-radius: 8px; font-weight: 600; font-size: 13px; }
.btn-danger:hover { background: #b91c1c; }
