-- crea tabla 'gastos' si no existe
CREATE TABLE IF NOT EXISTS gastos (
  id            INT AUTO_INCREMENT PRIMARY KEY,
  fecha         DATETIME NOT NULL,
  categoria     VARCHAR(80)  DEFAULT NULL,
  descripcion   VARCHAR(255) DEFAULT NULL,
  monto         DECIMAL(12,2) NOT NULL DEFAULT 0,
  forma_pago    VARCHAR(30)   DEFAULT NULL,
  proveedor     VARCHAR(120)  DEFAULT NULL,
  usuario_id    INT           DEFAULT NULL,
  created_at    DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP,
  KEY idx_gastos_fecha (fecha),
  KEY idx_gastos_categoria (categoria),
  KEY idx_gastos_usuario (usuario_id)
);
